Everyone is using the same libraries anyway, there is no blub paradox, we are just talking about which language has shinier bindings.
Everyone is using the same libraries anyway, there is no blub paradox, we are just talking about which language has shinier bindings.
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.
I see social structures having far more influence on architecture than any underlying technical details so I feel your thesis is built on false premise
I don't know. If that were true, then we as a society would just architect our C/C++ based projects such that we don't bump into memory safety issues. Instead we see something like 70% of security issues coming from memory unsafety across the board.
The premise seems legit when thinking about it in terms of the issues with C.
I currently go with Rust, but I'd be interested in other languages that meet most of your list and compile faster.