4 ms·
I work on Dart. Programming language popularity is hard. The network effects are absolutely massive. 99% of all programming languages are a rounding error away
by munificent 2y ago
I work on Dart.
Programming language popularity is hard. The network effects are absolutely massive. 99% of all programming languages are a rounding error away from having zero users. To start to compete with any of the big entrenched languages seems to require either:
1. An extremely easy migration story so the language can leverage ("parasitize"?) the existing ecosystem of another alread popular language. That's C++ for C, Kotlin for Java, TypeScript for JS, etc. This is definitely the easiest path to success.
But it means your language is significantly hampered in its design because of the need to be compatible with the language it's building on. This is why C++ is still failing to be a safe language and is a sprawling mess. It's why Kotlin has type erasure. It's why TypeScript, despite having a fantastically complex type system, is still unsound and can't use types to compile more efficient code.
2. A compelling platform or framework that developers want to be on so bad they'll learn a new language. Rails for Ruby, iOS for Objective-C and Swift. This is the harder path but it means the new language is less shackled to a previous one and can be more innovative.
Dart took the second path. I agree it would be nice if Dart had more pillars shoring up its success than just Flutter and I hope we get there one day. But one successful framework is more than most newer languages have and you have to start somewhere.
I'm obviously biased, but I think Dart is a good general purpose language and would work well for many different domains. But fighting against the network effects is hard and growth takes time.