It’s not only a choice between JavaScript and C (or other low-level languages). There are many, many alternatives to JavaScript that are every bit as quick and easy and fun to use. For example:

  • Smalltalk (Pharo)
  • Elixir
  • Go (or Golang)
  • Racket

JavaScript is used primarily for web browser programming because it is the only language that is baked into the web browser. However, if you’re willing to use transpiled languages, i.e., languages that compile into JavaScript code, you have many, many more options. (Effectively, you treat JavaScript as a kind of “assembly language.”)

Here’s a brief list (front-end/back-end):

  • Bridge.NET/C#
  • Cheerp/C++
  • ClojureScript/Clojure
  • Dart/Dart
  • ElixirScript/Elixir
  • GopherJS/Go
  • Haxe/Haxe
  • JSweet/Java
  • Opal/Ruby
  • PharoJS/Pharo
  • Scala.js/Scala
  • Transcrypt/Python

It’s a cornucopia of choice!

And, by the way, JavaScript isn’t as productive a language as you suggest. As your application scales up in size, JavaScript faces enormous challenges. You want evidence?

Capers Jones of Namcook Analytics, the leading authority on software metrics, released a study last year ranking programming languages according to overall productivity (including requirements, scheduling, multi-year maintenance, and Total Cost of Ownership). He found that JavaScript was among the least productive languages, up there with Fortran and C!

JavaScript was less productive than C++, Java, and Python.

Smalltalk was the most productive of all the major languages, on average, about twice as productive as all the others!

Frankly, there is no good excuse to use JavaScript. Anything JavaScript can do, Smalltalk can do better. I use Pharo.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store