We here at Pacific Health Dynamics, Sydney, Down Under want to give a big thanks to Evan and the core team for all your hard, free, work!
We've recently hit 100k loc for our main frontend written all in Elm. The journey from inception 2.5 yrs ago has been amazing and now we're in full production mode, reaping the rewards of purity and the type system.
I've had a hobby game in Elm which I worked on for about a year and a half and I was the second engineer ( frontend lead ) hired to 'rescue' a greenfield project with Elm as the frontend. That is now at 100k+ LOC, 2.5 years later. Our team has grown from 3 to 9, we have 3 frontend devs all writing in Elm and looking for our 4th.
The company now has 4 production projects with Elm as the sole frontend tech.
> where it describes design choices driven specifically by compile time
I'd like to point out two things here:
1. There are common library functions that we put in single files. These are imported by a lot of other files. The fact that these incur a large recompile cost is unfortunate and I think it doesn't have to be this way if dependencies were calculated at a more granular level.
2. The far larger implication to compile time becoming exponential is coupling of concerns. This is solely in the developer's responsibility. For a type system that guarantees correctness of code, there is no way around the fact that all affected modules must recompile. eg, if a fundamental law of physics were to change, the whole universe would have to recompute.
So I think for a 'substantial group of developers', the focus should be on helping people to recognise what is coupling and how to design de-coupled systems.
It's definitely an issue for larger, coupled projects in 0.18 but don't let it scare you. The trick is to decouple your modules by focusing them on a single responsibility. Then the compile time is a non-issue.
It definitely scales. There is an 'adjustment period' where I went from a nested to a flat, decoupled architecture. But as most things are one to two levels deep (state), complexity also grows fairly linearly. This is really great from a developer's pov when trying to grapple with how to add new features.
Correct, the initial 16k LoC was not complete.
In fact ( no metrics ), I deleted large portions of redundant files/code and at one stage we were back at about 11k LoC.
The comment about 16k -> 45k LoC was to give an idea of how much we had added to the product over the last 10 months.
Thank you all for the wide range of thoughtful responses.
I don't want to leave the impression that this company with a private owner is a bad company. The employer did look out for me when I had difficult family issues and at one point, being way over-burdened with the workload, I told him to either fire me and get a support person at half my salary or give me more resources.
Being laid off there was quite good for me. I felt indebted to keep the product afloat but it was burning me out constantly so after I left, I got a higher paid, much more reasonable hours job with peers that also have passion for coding.
But I still remembered him looking out for me so I want to do the right thing and help him get some closure on this business. To that end, I think getting a IP lawyer to put any of my worries to rest at a small expense to him or the purchasing company is the most reasonable option as someone else had said below.
I guess my angle isn't: What is there to gain for me.
Even though I was made redundant, the employer is nice and I'd have no problems signing it.
But it's the first time I'm asked to sign one of these things and some of the things I'd be agreeing to doesn't even sound like it's in english. I don't want to inadvertently sign over any side project I was working on in that time or IP for the industry I was working in or even future IP as some of it seems to be worded without time constraints. But take all that with a grain of salt, no legal background.
The sale of the business is predicated on all former employees signing the deed.
True our paychecks may not be, however, the goods and services that we consume from developing nations will most definitely be 'drenched in blood, sweat and tears'.
This is also capitalism is it not?
I think the previous guy was trying to say that there is no morality in capitalism and therefore words such as extreme and pure do not apply. Capitalism is only concerned with money, nothing else.
True our paychecks may not be, however, the goods and services that we consume from developing nations will most definitely be 'drenched in blood, sweat and tears'.
This is also capitalism is it not?
I think the previous guy was trying to say that there is no morality in capitalism and therefore words such as extreme and pure do not apply. Capitalism is only concerned with money, nothing else.
I think this post has less about passion than about youth and naievity.
If you truly enjoy what you do, the value you receive from that shouldn't just be measured in dollar terms.
I'm passionate about what I do and I do it during work, after hours and on the weekend.
But during work, I get paid a sensible salary to support my family.
At home, I get to explore my interests.
Passion is fuel, wisdom is direction. Don't confuse the two.
I think this post has less about passion than about youth and naievity.
If you truly enjoy what you do, the value you receive from that shouldn't just be measured in dollar terms.
I'm passionate about what I do and I do it during work, after hours and on the weekend.
But during work, I get paid a sensible salary to support my family.
At home, I get to explore my interests.
Passion is fuel, wisdom is direction. Don't confuse the two.
Does this have something to do with the constant DoS attacks they've been getting from a certain country for hosting certain open source projects that defy the censorship authority of said certain country?
We've recently hit 100k loc for our main frontend written all in Elm. The journey from inception 2.5 yrs ago has been amazing and now we're in full production mode, reaping the rewards of purity and the type system.