DEV Community

Discussion on: Thoughts on interpreted vs compiled languages?

Collapse
 
bgadrian profile image
Adrian B.G.

I presume you forgot about JIT languages, or considered them as interpreted.

Beside the obvious pros and cons, there are 2 languages that stand out in this regard (from what I know of course):

Go - it is compiled but the compiling time usually is smaller than running a nodeJS instance.

Dart - it is JIT when you develop (for fast iterations, hot reload, on mobile this is a HUGE advantage over competitors), and is compiled to native code when needed. More about it here: hackernoon.com/why-flutter-uses-da...

If any of these would compile to something that browsers can run it (and with access to DOM) would be great alternatives to JS. (yes I know about gopherJS, dartto js and webassembly, but they are not there yet ..).

Honorable mention: JVM, that beast beats the law of physics, a JIT shouldn't be that fast.

Collapse
 
rhymes profile image
rhymes

Other examples of JITs: PyPy for Python, LuaJIT for Lua, CLR for all .NET languages...

(yes I know about gopherJS, dartto js and webassembly, but they are not there yet ..).

I think only WebAssembly has a shot, in the sense that there's no replacing JS for the time being. What you can do is to hit JS pain points, on one side with better language constructs going forward (pipeline operator is smooth), typescript for those wanting type checking and WebAssembly to increase performance (I can see libraries used by Node and client side JS being written in whatever language which then generates WebAssembly). I don't think people will start overnight throwing away JS tooling and knowledge and start using server side languages to write SPAs. Maybe in time, who knows.

Honorable mention: JVM, that beast beats the law of physics, a JIT shouldn't be that fast.

Well, it's the result of millions of dollars in research by multiple complanies and millions of man hours. It better be fast ;D

A downside of JITs: they suck if startup time is an issue.