ThoughtStorms Wiki

Context : ProgrammingLanguages

Not great, but not as bad as its reputation, ScriptingLanguage (C-like syntax, no types, decent strings, dictionaries, objects but not classes) standard in TheBrowser.

Now often the target for other languages to transpile to. And may be deprecated by WebAssembly

AlgebraicDataTypes in JavaScript :

Quora Answer : What's the future of JavaScript? Do you think that it will be replaced by something newer? What are the best emerging candidates as a replacement, if any?

Feb 15, 2014

There's no end of Javascript currently in sight.

It's the native language of the most important platform / virtual machine that exists today (inside the web-browser).

On that platform it has access to the two most important client-side graphics libraries today : HTML5 as a GUI widget-set and OpenGL for (hardware accelerated) 2D and 3D. Through HTML5 it also gets websockets for networking and a slew of other capabilities.

It's has several popular solutions for running server-side; solutions for desktop GUIs (node-webkit) and even mobiles (PhoneGap).

As Mattias Petter Johansson points out, it's a high-level language that allows, even encourages, "functional programming" style which is clearly the direction that much programming is going in the future.

Even those who don't like Javascript are increasingly looking at the Javascript VM as a target for compiling other languages. CoffeeScript gets rid of the ugly and verbose C-like syntax and makes Python and Ruby programmers happy. There are compilers for everything from C to Haskell via Java and Python to the Javascript platform (although they don't always have the libraries or access to system level resources you'd expect). And there are languages like ClojureScript and Elm-lang which give you variants on Lisp and Haskell that are optimised for browser-scripting.

So the foreseeable future is very much Javascript + whatever higher-level language you might adopt to compile down to it (many of which, like CoffeeScript, allow some of the semantics of Javascript to leak through.)