4 ms·
In the case of languages the chicken and the egg problem has been solved. Looking at every major PL with widespread adoption, the common theme is that was chose
by zelly 6y ago
In the case of languages the chicken and the egg problem has been solved. Looking at every major PL with widespread adoption, the common theme is that was chosen by a big company (the chicken) as a natively-supported language for their platform. See: Obj-C and Swift with Apple, C# and C++ with Microsoft, Java with Sun, C with GNU, JS with Netscape, etc. If you build an ecosystem, they will come. Languages that rely on a community to build an ecosystem just for the sake of using the language itself are very few and far between.
- aserafini 6y agoBut interestingly that was not the case for Python which is definitely in the top 5 most popular languages today. I wonder how/why Python accomplished this without any corporate backer?
- dnautics 6y agoSchools. There was ba major push to teach python in high schools and colleges.
- tyingq 6y agoPython, TCL, PHP, Perl, Ruby, Lua, and more. So it happens, just not recently.
- pjmlp 6y agoPython, all the Guido employers, Zope was big during the early 2000's. TCL designed at Sun, pushed on the Web early days with application servers like AOL Server and Revit (or something similar have forgotten the name). Perl was introduced in UNIX since the early days and was the tool to use when sed and awk scripts got too complicated. Ruby was made famous thanks to Rails, and gets very little use outside Rails. Lua, used as scripting language in a couple of game engines, made famous via World of Warcraft.
- tyingq 6y agoTCL was pretty well established before Ousterhout went to Sun.
- didibus 6y agoYou could argue it was chosen by Linux, since it was bundled in most distros.
- CoolGuySteve 6y agoPython was one of only 3 languages allowed at Google (along with Java and C++) back in the 2000s.
- formerly_proven 6y agoPython always has had a few really strong killer apps. In the past stuff like Zope (GvR himself worked for a few years on this, and it's still around), and more recently things like Django, numpy, scipy, matplotlib, PyTorch or open scientific computing in general. Python seems like a very popular choice when the time comes to replace bash or perl scripting from the 90s. Oodles of internal tooling and OS tools in the Linux space use it.
- gtt 6y agoI don't understand why people needed or used Zope. Can someone explain?
- zelly 6y agoThat's one exception I had in mind. It was a no-name language before Google adopted it in the 2000s, but that was internal and couldn't have had effects except the downstream effects on general sentiment around Python. Python was just so nice of a language compared to its competitors that the community created an ecosystem. That's very hard to replicate. A lot of these new languages I'm seeing are just incremental improvements.
- pjmlp 6y agoThat is what people tend think, the corporate backers were all the Guido employers, and back in the old days (Python 1.6 and such), Zope was the big reason to use Python.
- dnautics 6y agoLisp, ruby, PHP (unless... WordPress? I'm pretty sure Facebook is "tail end" of php)...
- formerly_proven 6y agoC++ has also been the lingua franca of media and game development since the mid-to-late 90s.
- CoolGuySteve 6y agoSGI's STL implementation and later EA STL were game changers for C++ imo, they really kicked off "modern C++" as we knew it.
- jlokier 6y agoC++ was used in game development long before the STL was widely used or even reliably supported by compilers. The object-oriented and high performance features of C++ make it a good match for games. Seems to me this makes Rust a fairly natural choice for high-performance games in future.
- zelly 6y agoRust by design tries to discourage you from using object-oriented patterns. Not saying you can't write games with it, but it'd look more similar to C than C++.
- jlokier 6y agoInteresting, I hadn't thought of Rust as discouraging object orientation particularly. But then, I think of the Linux kernel as object-oriented C in places. If you look at Unity, although the games are written in C#, there is a heavy emphasis on mixins for giving functionality to game objects, rather than inheritance or interfaces. Between mixins and the ECS pattern, I think Rust's trait-oriented style looks aligned with that trend.
- noobermin 6y ago>C with GNU Instead of this pondering and retroactive application of intuition in one's head onto history it would help to learn history. (Hint, what is GNU's name)
- petra 6y agoWas there any language that solved the chicken and egg problem using a nice ffi ?
- pas 6y agoGo, Rust, Python, Ruby?