3 ms·
Instead of the declarative/imperative paradigm and the ongoing shift to more functional flavoured languages and more abstractions crammed under the hood, I pref
by notNow 11y ago
Instead of the declarative/imperative paradigm and the ongoing shift to more functional flavoured languages and more abstractions crammed under the hood, I prefer instead multi-paradigm languages like JS to be the languages of the future.
Multi-paradigs languages, if done right, combine the best of two imperative & declarative worlds beside they're very friendly to beginners and they don't have this intimidating quality that other "pure" languages like Haskell have.
Also, procedural coding is easy to do and carries low mental overhead in writing and not every programming problem has be modeled in functional terms or worldview to be solved. Sometimes, it's economical and efficient just to get the work done in two lines of code without going through all those functional hoops just to capture a field value in some form.
- gizmo686 11y agoEven multi-paradigm languages need to choose a dominant paradigm. Javascript supports functional style programming, but it is still in the context of an imperitave language. In the same way, Haskell supports imperitive programming, but it has to be done within the context of a functional language. Also, in my opinion, the intimidating part of Haskell is not its purity, but rather its type system.
- davexunit 11y agoScheme is a good multi-paradigm language, as evidenced by how it easily it could be taught a brand-new paradigm, relational programming, with miniKanren. Scheme programs are typically written in a functional style, but it has the notion of set! for mutating variables so you program imperatively when you need to.
- munro 11y agoOr Lisp! This is the reason JavaScript has been described as "Lisp in C's Clothing". Though, I haven't used clojurescript as much as I'd like, I have Stockholm syndrome.
- nickpsecurity 11y agoI agree with gizmo. All of the languages boil down to some model that you build everything else around. It restricts what you can do. A good model enables way more than it restricts. Seeing what's been done, I vote for a Lambda Calculus-like model along likes of Scheme because it's already emulated everything else pretty well. Very powerful. Just gotta simplify it so it doesn't have LISP's weird stuff. Been looking into REBOL/Red recently as they might do that. Btw, a universal machine for all paradigms was already done with RISE CPU's tagged/typed operations + Ten15 VM. I'd like to see an optimized version of Ten15 get takeup. Javascript, on other hand, is garbage that's a LCD at best. Even Oberon in the browser (Juice project) outdid it in about every attribute. http://mca-ltd.com/martin/Ten15/introduction.html http://mca-ltd.com/martin/Ten15/introduction.html