4 ms·
I think that you're moving the goalposts a bit by focusing on difficulty or complexity. Yes, of course some languages are more difficult than others. But the di
by jstx1 5y ago
I think that you're moving the goalposts a bit by focusing on difficulty or complexity. Yes, of course some languages are more difficult than others. But the difficulty of a language is separate from the intelligence of the users of that language.
- eckesicle 5y agoI think it has to do with active choice. The first programming language that people are introduced to are unlikely to be the "best" for them. The first programming languages are disproportionately java, c#, PHP these days. By extension the talented people mostly move on as they learn new and interesting ideas. This leaves the pool of developers poisoned by the mediocre or bad people who spend their entire careers being expert beginners in one domain. People come to the more exotic languages, like Haskell, as their second, third or fourth language. By default the average developer in that pool will just be much much stronger. Just because the average developer in a language is bad it doesn't mean that the language itself is bad.
- themulticaster 5y ago> The first programming languages are disproportionately java, c#, PHP these days. I'd say it depends on what we're defining "first programming languages" as - first PL learnt in intro-level university lecture, or first PL learnt individually? But my impression is that the most popular PL for beginners seems to be Python. And while I'm not really a fan of Python, I understand where that's coming from: Python is relatively simple to learn, has a huge library ecosystem and comes with relatively few footguns.
- stuaxo 5y ago+1 on this, maybe it was C#, PHP and Java ten to fifteen years ago but it's not the case now.
- deleted 5y ago[deleted]
- KronisLV 5y ago> But the difficulty of a language is separate from the intelligence of the users of that language. I feel like this is obviously true when taken at face value, however in practice there are probably loose correlations (not causation) between those two, even if not for the reasons that you'd expect. I'm not sure whether it was mentioned in the same podcast that i linked, or another one, but there was a very interesting example for Haskell that was offered in one discussion. The argument was that the people who utilize Haskell tend to be more likely than the average developer to have ties to academia (which may incidentally also speak of their cognitive abilities): - Haskell is popular for numerical processing, moreso than for the somewhat typical CRUD apps - because of this, Haskell is more likely to have materials describing it which are aimed towards an academian audience - ergo, those materials won't always be simple step by step tutorials on how to do things, but will sometimes assume familiarity with certain maths concepts and will also focus on solving a particular set of (advanced) problems - and when these materials attempt to explain these simpler things, invariably you'll still end up with explanations of what monads are somewhere in there, whereas with something like Python you'd have less overhead and a less steep learning curve - as a consequence of all of this, Haskell won't be as popular as Python, or similar languages In the podcast, the person said that these "weird" (or perhaps "niche" is a better word) languages would be far more widespread if they were made more easily approachable, because right now there are no easy and simple to digest books to recommend to people who'd like to get started with them. Now, the person might be wrong, since their observations are bound to be subjective and i might be wrong to assume that they hold true in many cases because of how believable all of that sounds, but to answer your question, i'd argue that the average user of Haskell is indeed a bit more intelligent than the average user of Java or many other general purpose languages (even though then we step on the mine of having to define what intelligence even is, where opinions can once again differ). I'd say that simply happens, because some of those languages are far more approachable and therefore more widely used by a large audience of people, not all of which need to concern themselves with solving the issues that people in academia need to deal with. Of course, there could be the counterpoint that not everyone in academia is brilliant, but i remember seeing some pretty admirable professors and researchers back when i was in my university!
- lliamander 5y agoWhat's interesting isn't the difficulty or complexity of the language, but the difficulty of the problems that language is typically used to solve. Some languages are difficult to learn initially (like Prolog) but that's not because they are intentionally obscure, but because they need to be different.
- jstx1 5y agoBy "problems to solve" do you mean - programming language problems like making certain language features, paradigms and kinds of abstractions available (or not available) or - solving actual problems when building software - how to build a maintainable and performant server, OS, web UI etc. For the second you're better off staying away from the 'weird' languages especially if you care about being productive.
- goatlover 5y agoWell, lispers claim that lisp is really good for building programs where the specifications are complicated and not already a solved problem. Smalltalkers claim their environment is incredibly good for prototyping a solution. And array programmers would argue numerical computing is much easier in their languages.