sdflkjsdlkj
Joined 3 years ago
Joined 3 years ago
It absolutely does. I think one of the major reasons that all these massive software companies grind to a halt with innovation is because of bad software architecture and a bad choice of programming language contributes to that. Also underlying systems built in non-performant languages hobble the company for years. It's complete delusion that a company will rewrite systems as they gain product market fit.
I have a strong list of requirements but there is no perfect language today. For general software any language I start a project with today must have
1. Fast iteration / compilation times
2. null safety
3. Some form of algebraic data types (and by implication a static type system)
4. Garbage collection (unless the domain specifically requires the performance benefits gained from forgoing a garbage collector).
5. A robust standard library and package ecosystem.
All of the above contribute to two very important things:
1. The ability to iterate quickly.
2. The ability to describe state in such a way that invalid states become impossible to represent due to the type checker.
Nice to have productivity boosters:
1. Actual value types
2. Pattern matching.
3. A good class system with traits or interfaces.
There isn't a perfect language that meets these requirements so there will always be tradeoffs with language choice.
It would have to have been statically typed to get any real benefit. The programming world would be so much better if OCaml was the dominant programming language. With 5.0 it checks off every single box for an amazing programming language:
1. Garbage collected
2. Null safe
3. Algebraic data types
4. Multi threaded
5. Pattern matching
6. Support for object oriented programming