4 ms·
There aren’t more startups creating languages because it’s hard to go up against established incumbents who give away their product for free. Python, Go, JavaSc
by nindalf 5y ago
There aren’t more startups creating languages because it’s hard to go up against established incumbents who give away their product for free. Python, Go, JavaScript, Rust and most other mainstream languages thrive on this model. All of them bend over backwards to make it easier for developers to join the ecosystem. Free tools, free learning materials, easy installation, gentle learning curve (as gentle as possible). More developers leads to a flywheel effect of more libraries, more teams taking advantage of the rich ecosystem, more job opportunities cropping up and therefore more developers flocking to the language.
If you have a “pop out the credit card” moment at any point you slow adoption and end up with a smaller, poorer ecosystem that finds it hard to compete with the Pythons and Gos.
But if your language is targeting a niche where no established FOSS language exists, then a startup would work. Create a language, give it away for free (MIT or Apache ideally), then charge for creating/maintaining niche libraries or other consulting. This is the model chosen by Julia (https://news.ycombinator.com/item?id=9516298 https://news.ycombinator.com/item?id=9516298). One of their main competitors is a paid product by MathWorks.
Side note - this flywheel effect determining the long term success of programming languages is why discussions around them can get so contentious. A criticism of “your” language could influence an exodus from the developer community around it, making it die slow death. For a person who’s put years into the language, it could mean throwing away all that knowledge and starting afresh elsewhere. So they respond harshly to the criticism, subconsciously hoping that the language ecosystem stays healthy.
- Zababa 5y agoYour side note is a really good point. I think it's renforced today with the reliance on libraries. These days, the "blub-iness" [1] of your language is not only the language itself, but mostly the libraries. Also, it's easier to wait for your language to integrate the good part of others (Java/C# with immutable records and pattern matching for example) than to change what you use. I sometimes fear that the more time passes, the harder it will be to start a new programming language. [1]: In reference to why Lisp over other languages, in this article: http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html
- native_samples 5y agoThe nice thing about the JVM ecosystem (and to a lesser extent .NET) is that it makes new languages a lot easier to spin up and the discussions around them far less contentious because language interop works so much better. Like, if someone says they prefer Java to Kotlin, that doesn't threaten me at all because I can use their stuff easily. Likewise in reverse, as long as the author of a library actually wants it to be usable from Java it will be. Even stuff like Scala and Clojure where the ecosystem guys really don't care about interop in the reverse direction, it's still possible and can be done when people want it for relatively low cost (just avoiding exotic language features in your API definition, more or less). It does take a lot of the heat out of those discussions. You don't get the same influx of "I rewrote grep in Rust" type stories.
- nindalf 5y agoIt’s funny you should mention ripgrep (text search in Rust) in particular because it’s a great example of a tool being reused in other environments. It could be used with C bindings or by calling the binary. The latter is how Visual Studio Code integrates it. It’s a win for everyone if the fastest grep tool (benchmarks - https://blog.burntsushi.net/ripgrep/ https://blog.burntsushi.net/ripgrep/) is used widely.
- native_samples 5y agoYeah, grep in Rust was probably a bad example. I do actually use some replacement command line tools that are written in Rust :) I think you get what I mean though. Maybe an HTTP stack would have been a better example. Like, people finding fairly trivial excuses to get a language in front of people.
- nindalf 5y agoDon't think HTTP is a great example either. The most used HTTP stack in Rust was integrated into curl :) https://daniel.haxx.se/blog/2020/10/09/rust-in-curl-with-hyper/ https://daniel.haxx.se/blog/2020/10/09/rust-in-curl-with-hyp...
- nextaccountic 5y agoJulia targets a space that has plenty of free offerings as well (like Python and R). Julia is itself open source too, and while the founders got work in consulting and cloud offerings, they didn't have to lock up part of the ecosystem behind proprietary licenses. I don't see any point in having a proprietary ecosystem when open source is so much better in every aspect.
- neolog 5y ago> they didn't have to lock up part of the ecosystem behind proprietary licenses. That's what JuliaPro (Pumas, etc) is.
- nextaccountic 5y agoThank you for the correction. I'm disappointed :( is it just Pumas, Bloomberg and Miletus?