Netscape Enterprise Server and server-side JavaScript (SSJS) vs Node.js

What are the main differences between the Netscape Enterprise Server implementation for server-side JavaScript (SSJS) and the node.js implementation?

Why didn't the Netscape implementation increase linkage, while node.js seems to be much more popular?

+4
source share
2 answers

Back in 1999/2000, I worked for a company using Netscape Server and SSJS. I don’t know how popular it was at that time, but first-hand I can say that almost everything about it was terrible:

  • It was a huge pain to debug (any changes to the source files, even static files, required a complete restart of the application, which was not a quick operation)
  • A simple error (for example, an uncaught exception) often leads to a catastrophic server failure . Somewhat funny, this is the default behavior of NodeJS, although it is much easier to get around this with Node.
  • Although JavaScript was the syntax, it failed to implement one key advantage of modern JavaScript: runtime interpretation . Server-side JS with Netscape Server required compilation before deployment and therefore dictated a very slow development process.
  • He followed a multi-threaded execution model (rather than modern JS VMs, which are almost always based on event loops)
  • Perhaps the biggest weakness is the lack of support for asynchronous programming . All I / O operations were blocked, and therefore, a heavyweight multi-threaded model was required to support multiple clients. The execution model was more like a J2EE container than modern JavaScript-oriented events (like V8). In my opinion, this is the first thing that NodeJS gets right: the asynchronization philosophy is deeply embedded in the NodeJS development workflow, and this is the key to its lightweight, event-driven, extremely efficient concurrency model.

Just for fun, here's a link to the SSJS reference guide from version 1.2. Starting on page 21, you can see all the standard functions and synchronous APIs for file objects, database queries, etc.

My company soon switched to ColdFusion and never looked back.

+6
source

The main difference is the evolution of Javascript over the past 15 years. Node.js uses the V8 JavaScript engine, which will be much more optimized for modern computers.

Wikipedia has a good list of differences between the various server side JS solutions.

Here's a list of features for Netscape Enterprise Server - giving you a good idea of ​​what makes modern SSJS solutions so much better.

Why didn't it get attention? Actually, client-side JS has only recently begun to become the standard for web development, so it is unlikely that anyone could use it for server-side development when it was not even widely adopted for its original purpose. I argue that it’s widespread that it has always been difficult to maintain JavaScript solutions for all browsers.

+2
source

Source: https://habr.com/ru/post/1498134/


All Articles