3 ms·
> a programming language is more scalable if it makes it easier to have large numbers of engineers all working on features of a single app concurrently without
by The_Colonel 3y ago
> a programming language is more scalable if it makes it easier to have large numbers of engineers all working on features of a single app concurrently without stepping on each other's work
This is optimizing for a wrong (minor) problem.
As the application grows, both accidental and essential complexity grows. More and more of engineers' time is spent analyzing existing code, and they typically spend less time writing new code. The limiting factor in large/old codebases (which is where the word "scalability" comes into play IMHO) is the inability of even experienced engineers to understand aspects of the codebase.
This is why I think e.g. Java has been so successful in the "big & complex" space. Java is annoying to write, but easy to read. I mean, some more conciseness would make it easier to read, but it's still quite OK. Very importantly, it's OK to read even if the dev writing it wasn't good / didn't observe best practices etc. I often have to deal with code written 20 years ago, and you can't change the past ...
Regarding the merge conflicts - they happen, most of the time causing only minor problems, sometimes it's a bigger deal. Some programming styles can help you avoid some minor merge conflicts, but I doubt they will be effective in avoiding the real troublesome merge conflicts (which go far beyond introducing a new field).