4 ms·
You could ask a similar thing to any functional language. The internet has a very wide variety of introduction points to imperative languages, and quite a bit f
by Shank 10y ago
You could ask a similar thing to any functional language. The internet has a very wide variety of introduction points to imperative languages, and quite a bit fewer for functional languages. This means that the barrier to entry isn't just "can learn a language" but the vast majority of the time, you have to convince programmers who already know another language to adopt a new one (and in an entirely new design paradigm than they're familiar with).
Functional languages have to be penetrable to newcomers and offer huge benefits to veterans to switch, or they're going to remain nearly esoteric. Is mathematically provable code nice? Sure is. Is that enough to win people over? Well, language adoption says otherwise.
- Kenji 10y agoIt has nothing to do with newcomers or skill or any of that. Often, we need to make computers do a list of things. Conditionally, sometimes, but nevertheless, a list of things. This is human thinking. A C function is nothing other than a list of things the computer does, one by one. Functional programming essentially throws rocks into anyone's way who thinks like this (which is pretty much everyone) and makes everything unnecessarily complex. There are few areas where functional programming is great, parsing and compilers come to mind. Other than that, in my eyes, it is mostly an academic pursuit.
- stcredzero 10y agoOften, we need to make computers do a list of things. How often do we need to do those things in a specific dependency order? How often do we need to simply get those things done, regardless of order?
- douche 10y agoAll the time? Human beings, on average, are more apt to think imperatively by default than otherwise, unless they've been explicitly trained to think otherwise.