It’s not about the language itself, but what can you actually make with it and with its ecosystem.
It’s not about the language itself, but what can you actually make with it and with its ecosystem.
> It’s not about the language itself
I would actually argue that it’s completely about the language itself. There will be a certain number of people that recognize the value of the new language. Those people will start laying the groundwork for all the libraries that they need. For those people, the early zealots, they build out the minimal set of libraries.
Then you have the next group of people come along, less fanatical, but really like the language, and decide to make bets on it, where they fill in the gaps that they encounter.
In the next phase you now have the basics needed for the language, a growing number of users, and the libraries start flowing in. All of this would only happen because people really like the language itself.
> it’s doomed to be just another “me too” language.
I have no idea where Julia is, I’ve never used it, but I dislike this attitude, because it doesn’t allow for innovation. Julia certainly seems to be gaining users, just based on how much I keep hearing about it.
And in many cases they haven't. Javascript competitors seem like a prime example of this as there are too many javascript libraries that make your life easier, and would have to be ported to a new language.
What makes a language successful primarily is how easy it is to do productive things with it -- and that means easily using existing code (from some other language).
OTOH good libraries have bindings for the source language (eg react has wrappers in scalajs, clojurescript, etc)
See:
- https://docs.julialang.org/en/latest/manual/calling-c-and-fo...
That said, not enough for me to switch.
One thing I like about less popular languages is that it's often easier to get involved in the community, easier to contribute to projects, and more likely other people will use the libraries I create.
I like Python, but it often feels like I'm just plugging together pre-existing libraries for everything. Good for getting things done quickly, but less fun and less rewarding.
A language would need to be radically better for me to switch, not just incrementally.