1 Are JavaScript simulations only good for educational purposes?

No, you can use JavaScript-based simulation technologies for all kinds of simulations that you want to share or publish easily and where you do not need top-notch high-performance computing (typically achieved with C and C++).

Our platform name "Simulation for Education" is to deliver the message that JavaScript-based simulation technologies have a great potential for educational simulation, which includes both learning how to develop simulations and using simulation for learning statistics, management, biology, sociology, economics, etc.

2 Why should I learn JavaScript?

JavaScript is the world's most widely used programming language, and it's growing faster than any other popular language. As a high-level scripting language, it's relatively easy to learn, compared to C++/Java/C#. You can basically build anything with JavaScript, and easily share it with anyone.

Why should, for instance, a Java expert want to learn JavaScript?

Learning JavaScript, and the Node.js platform, can be a breath of fresh air for a long-time Java expert. Read why

Java is full of boilerplate code which obscures the programmer's intention;

The experience of using the Spring framework is great until it isn’t (until that day an obscure impossible-to-understand Exception appears out of the depths of a subsystem you’ve never heard of requiring 3+ days just to figure out what's the problem).

3 How can I learn JavaScript?

There are tons of JS learning materials available on the web (we recommend to check out the MDN resources), and there are JS coding schools (such as Free Code Camp) where you can take courses for free.

If you are already experienced in object-oriented programming (OOP), e.g., with Java, C#, PHP or Python, then you may just read a JS summary article (also available as PDF) to get into it and understand how it differs from classical OOP languages.

4 Isn’t JavaScript a toy language that can't be used for serious projects?

With version ES5 (defined in 2011), JavaScript mutated into a full-fledged programming language that can be used for programming all kinds of software applications and tools. It combines object-oriented programming with functional programming.

5 Isn’t JavaScript too slow for simulation?

JavaScript is — for most practical purposes — as fast as high-performance languages. Back-end JavaScript (with Node.js) is orders of magnitude faster than Python, Ruby, and PHP. It is also nearly as fast as high-performance languages like C++, Java, and C#.

Sim4edu simulations can be run both in a browser on a front-end device, or they can be run with NodeJS on a back-end machine for speeding up simulation experiments.

6 Isn't JavaScript unsafe because it's not statically typed?

Like Python and Ruby, JavaScript is dynamically typed, which is convenient. But you can get into trouble. Putting checks in place and writing tests helps to prevent typing errors.