4 ms·
I think there are some additional factors that contribute to the adoption and popularity of a new programming language: 1. Funding or sponsorship for the langu
by open-source-ux 5y ago
I think there are some additional factors that contribute to the adoption and popularity of a new programming language:
1. Funding or sponsorship for the language
Would Rust or Go have enjoyed their popularity without the support of Mozilla and Google? One of the reasons developers are drawn to those languages is their association with Mozilla and Google. (Although Rust is independent of Mozilla, its long association with Mozilla is what initially drew developer interest.)
Without a generous benefactor, open source languages have to scrape funding together piecemeal from different sources - just look at Nim and Crystal.
2. A "Batteries included" standard library
Or at least a sufficiently rich library that lets developers create a wide range of applications. This is tied to point 1 above: developers are needed to help fill out the standard library - feasible with funding, slow to achieve without.
3. Documentation, examples and tutorials
Developers underestimate how important this is for people new to the language. While some developers will patiently work through a problem with incomplete documentation or guides, many more will simply give up in frustration and abandon the language.
Once again, it comes down to funding. Rust and Go have had (or still have) dedicated staff writing documentation for the language. This is a luxury that other languages like Nim or Crystal cannot fund or afford.
4. Building a community
Zig is some time away from a 1.0 release but already has a VP of community, and Crystal are planning to hire a Community Manager. This is an acknowledgement of the importance of growing the developer community in each language - a dedicated person helps promote and evangelise the language.
A programming language can survive without meeting any of the factors above. But can it thrive or gain traction?
- ModernMech 5y agoYou gave me a serious case of deja vu when I read your post. But then I realized you posted the same thing 10 days ago and I must have just read it then and I had completely forgotten. That was a really weird experience.
- open-source-ux 5y agoI added the bit about building a community as an addition to my original comment :-)
- AnimalMuppet 5y agoI think that #1 leads directly to #2 and #3. If you have the funding, you can pay people to work full-time on creating the library and the documentation. Without the funding, those things come very slowly. And it's not just Rust and Go. Java was an earlier example.
- renox 5y agoWhile Java was obviously well funded, its early focus was definitely on marketing and making lots of new features even though the existing features were very buggy.. It was very weird fighting against the buggy standard library while hearing the marketing BS at the same time.