| > is the programming language something that even matters? 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