3 ms·
Its just that its domain is mostly restricted to the web. As you pointed out this is not so terrible at all, at the end of the day that's where the bulk of the
by charlysl 9y ago
Its just that its domain is mostly restricted to the web. As you pointed out this is not so terrible at all, at the end of the day that's where the bulk of the jobs are for instance. Actually, I am amazed that a language that was originally designed for such a narrow domain is where it is today (thank XMLHttpRequest and V8 for that).
I totally agree that learning several languages is extremely enlightening, exactly for the very reasons that you have listed.
One big reason for one teaching language is that there seems to be a bit of a FP vs OO religious war of sorts. If you think in concepts, such disputes look shallow; in fact, the whole idea of paradigms becomes irrelevant. This is why I believe that to learn both FP and OO in the same language (together with many other paradigms) is much more enriching, because then you will learn which one to choose for a given situation, based on relevant techniques, and when and how to combine them, rather than being stuck with whatever is available in a language that favours one paradigm (or just one form of concurrency, or of inheritance etc). You will learn how to let the problem drive the design, rather than the language.
Pure languages like Haskell or Smalltalk, for instance, can be optimized and super concise precisely because they are restricted to one paradigm. But, for the reason above, I don't think they would be good for teaching general programming and only entrench that FP vs OO view (in fact, I think js would be better than these). But once you know, learning such languages is a pleasure.