4 ms·
Niche languages overwhelming only have people saying good things about them, because very few people care about any complaints. Well used languages have large
by richardwhiuk 10y ago
Niche languages overwhelming only have people saying good things about them, because very few people care about any complaints.
Well used languages have large numbers of people complaining about them, because a) change is harder b) more people care about the result, so you get heard more c) they are more likely to be forced by circumstance to use the language.
Reviews of languages are generally a rubbish metric for deciding if it's any good.
- danso 10y agoSo what metric do you think is more optimal for deciding how to sort languages from "must try" to "meh", other than actually using the language in production? (Obviously, in an ideal world with infinite time, that would definitely be my choice) While I agree that the nature and value of reviews is highly determined by things not inherent to the quality of the language (which is to be expected for anything that deals with the real-world), I do think reviews of nascent languages have significantly higher signal to noise ratio than they do for languages that are at their peak or heading towards legacy land: 1. New languages are rarely used by novice programmers. Which means that they are rarely written about by novice programmers. Doing a search for "state of Ruby/Node" requires a lot of work to find reviews authored by experienced developers who have a clear mindset (i.e not just personifying a shallow version of Bjarne Stroustrup's famous axiom), while filtering out everyone who just got out of coding bootcamp and has a good Medium presence. 2. The fact that a language is new means that nearly everyone, except for the creator and early dogfooders, is new to it, which means they come to it with roughly the same perspective (and needs and wants) as anyone who is curious to jump in. Moreover, they are often wont to compare the new language with whatever language they've been using, which helps as a metric for gauging the experience level and judgment of the reviewer. Sure, there's the problem of early adopters not wanting to shit on a language before it is stable...on the other hand, the kind of people who like to try out languages before they hit saturation are generally opinionated and will make critiques as way to help influence the language, so it's not a total whitewash. Speaking for myself, reviews are not my first metric for judging a new language or framework. Understanding why it was created and how it is currently doing in production is by far the most important thing to me. Even though React felt very strange to me and many others at first, I still gave it the benefit of the doubt knowing that it was being used in Instagram and Facebook.
- tariqali34 10y ago"The fact that a language is new means that nearly everyone, except for the creator and early dogfooders, is new to it, which means they come to it with roughly the same perspective (and needs and wants) as anyone who is curious to jump in." This is why I don't trust new languages. Everyone starts off as newbies who do not know what they are doing and will struggle to develop best practices. These programmers are just going to make new mistakes...that they won't realize until after the language reaches legacy status and are forced to clean up their mess.
- true_religion 10y agoNew languages typically still use the same mental models of existing languages. Elixir for example uses Erlang data-structures, and semantics for code execution, and functional calls/naming/parameters. Elixir is an impure dynamic functional language where IO operates on its own green-threadlike process. This is from Erlang as well, but the concept of dynamic languages, and functional languages is not a new one. Neither is the concept of hygienic macros. Elixir is simply a very good implementation of such.
- richardwhiuk 10y agoPersonally? I wouldn't describe myself as an language early adopter. I'd want to see significant commercial support, a genuine need, library support, some code samples among other things at least. I think most languages don't have a genuine need - i.e. why would I use them instead of another language. This has to be compelling enough to get over the learning curve.