DEV Community

Cover image for JavaScript Is Eating The World
Anthony Delgado
Anthony Delgado

Posted on

JavaScript Is Eating The World

Incase you haven't heard the news, JavaScript and NodeJS are single handedly eating the world of software. NodeJS is an Open Source server-side JavaScript environment based on the V8 JS engine found in Google Chrome. Once only thought of as "hipster" technology, NodeJS is quickly becoming one of the most commonly used environments for building web applications and is beginning to find its way into the Enterprise.

Below is a list of 5 huge companies who have adopted the popular "hipster" server-side JavaScript engine for use inside high traffic, high profile production projects.

#1 NETFLIX

Nexflix used JavaScript and NodeJS to transform their website into a single page application. Traditionally, Netflix has been an enterprise Java shop, but “as we migrated out of the data center to the cloud we moved to a more service-based architecture,” Trott said. The company is in the process of breaking up what used to be a monolithic Java application into a set of smaller services. Java still powers the backend of Netflix, but all the stuff that the user sees comes from Node. In addition to Node, Netflix is also using ReactJS in their stack.

#2 PAYPAL

PayPal too is moving away from Java and onto JavaScript and NodeJS for use in their web application platform. PayPal began using NodeJS as a prototyping platform and when it proved extremely proficient and they decided try it out in production. Â PayPal's first usage of NodeJS in production wasn’t a minor application; it was their account overview page which is one of the apps most trafficked features. As insurance, the PayPal team simultaneously developed the same "account overview" rebuild using Java and the results proved their hypothesis proved that the JavaScript team was able to build the product both faster and more efficiently. Since this transformation PayPal has since released an Open Source extension for ExpressJS called KrakenJS which can add an extra layer of security and scalability to your NodeJS Server.

#3 UBER

Uber has built its massive driver / rider matching system on Node.js Distributed Web Architecture. Check out the keynote from Uber's Tom Crouche at the Node.js Interactive Conference below. Tom is a senior site reliability engineer and talks about how Node.js is being used at Uber and how future growth requires the community to push the boundaries and expectations for Node.js. Uber’s GitHub page is a good source to also learn more about the company’s most critical systems.

#4 IBM

IBM has also embraced NodeJS as well. Myles Borins from IBM spoke about his experiences during this past NodeJS Interactive conference. Here is what he had to say: "During October of 2015 I was given the task of working on The Canary in the Gold Mine, a smoke testing utility that automates running unit tests of various various modules in the node.js ecosystem. CITGM has been incredibly successful, finding all sorts of regressions across the ecosystem and in node core itself.

#5 MICROSOFT

Even Microsoft has embraced NodeJS, offering direct integrations into their Azure Platform, releasing a wealth of tutorials targeted at Node and they have even announced plans to fork the project and build their own version of Node powered by their Edge Javascript engine instead of Chrome's V8.

Oldest comments (61)

Collapse
 
ben profile image
Ben Halpern

Atwood's Law (10 years old already 😮)

"Any application that can be written in JavaScript, will eventually be written in JavaScript."

Collapse
 
hungvutw profile image
Hung Vu

never hear of this Atwood's law. :) thanks

Collapse
 
rbanffy profile image
Ricardo Bánffy

I'm old enough to remember the time when it was "Any application that can be written in BASIC will be written in BASIC".

Collapse
 
marklester profile image
Mark Lester

I am old enough to have used MS BASIC 1.0. Nobody was saying that. They were saying PASCAL would be the language to follow as I remember. They werent even teaching C in most universities. Things have moved on somewhat from 1981. The kids are being taught Node as undergrads, it's really impressive.
History has not ended. We are neck deep in frameworks and all sorts, there plenty to argue the toss about. But the Perl->Python->PHP->JavaScript odyssey is over IMO. We are going to have all kinds of MochaBerryHotRoastScript and God knows what else, but they are all going to be ECMAScript compatible.
Lester's Proposition: If you are stood in a green field and your competitor is in the next field using JavaScript. If you dont follow suit they will rape you.

Collapse
 
moumst profile image
Merli Thomas

"NodeJS is an Open Source server-side JavaScript environment based on the V8 JS rendering engine found in Google Chrome"

V8 a JS rendering engine really !!!! Is it a joke ?

Collapse
 
ben profile image
Ben Halpern

This comment was not constructive. If you want to make a correction, please do so politely.

Collapse
 
newmanbrad profile image
Brad Newman

I am happy to hear of JavaScript adoption in any enterprise business. Soon we will JS all the things!

Collapse
 
dameandaemon profile image
Manuel Abarca

Yeahh! all points towards that, Js is all over the place which is awesome, even hardware.

Collapse
 
legosteen11 profile image
Wouter Doeland

Serious question: why do people like JavaScript so much? I thought people found it horrible. Also, because JS isn't type safe, does this mean it's prone to bugs and crashes because of this?

Collapse
 
g105b profile image
Greg Bowler

Yes, but we can ignore the obvious flaws and use things like TypeScript to transpile our code rather than admitting there are better tools.

Collapse
 
ben profile image
Ben Halpern

I don't particularly like JavaScript and wouldn't choose Node by default, but it's not a strict dichotomy. Circumstance is everything and there are a lot of circumstances where JavaScript really is the right choice, mostly because it's ubiquitous and models can be expressed the same across all environments. We got to this point not because of JS's greatness, but because of pragmatism. That can't be ignored.

Collapse
 
randyhill profile image
randyhill

A few reasons. It's syntax is easy to learn, and it opens the door to both client and server side development. You have to know it to do anything on client side, once you learn that much why not learn Node.js?

It's drawbacks are well documented in "Javascript, the good parts". Typescript will help improve it, but it will never help prevent programmer mistakes anywhere near as well as Swift (for example). But no language is perfect.

Collapse
 
damcosset profile image
Damien Cosset

Here is an article I read some time ago by Eric Elliott about static types. Static types doesn't seem to have enough impact on bug density based on his analysis.

I can't speak for anyone when it comes to Javascript love, but there is a quote from Bjarne Stroustrup ( creator of C++ ) that I like:

There are only two kinds of languages: the ones people complain about and the ones nobody uses.

I imagine all programming languages are horrible, if they were not, we would stop coming up with new ones.

Collapse
 
symbiat profile image
Ajai Khattri

Not all programming languages are applicable to all problems. Also tech changes. A lot.

Collapse
 
pedro2555 profile image
Pedro Rodrigues

complain != horrible. Javascript is horrible to work with. I complain about python all the time.

Those are diff statements.

Collapse
 
bheesma profile image
Bheesma

Now we have ES6 version of javascript that has classes etc., I haven't explored much, but I have seen it makes you write code in different way like other mature programming languages

Collapse
 
bluejayoo profile image
bluejayoo

Is has been my experience that as your software gets larger and more complex, the lack of type safety causes more and more problems. That's why we use Typescript to compensate for the lack of type safety in JavaScript. I think that is one of the reasons JavaScript is becoming so popular. It doesn't matter what you develop in if the ecosystem allows everything to be compiled into JavaScript. Javascript and V8 are similar to the Microsoft CLR and Java JVM -- a universal run time.

Collapse
 
ben profile image
Ben Halpern

Yes. And this is where Elm fits into the ecosystem really nicely.

Collapse
 
elmuerte profile image
Michiel Hendriks

Except that JVM and CLR are specifications, V8 is an implementation of no specification. There are multiple Java byte code interpreters, multiple JVMs. There is just one V8, and a hack build on top of it called NodeJS. NodeJS doesn't run on any other JavaScript runtime except V8.
NodeJS is like JavaScript as Microsoft VisualJ is like Java.

Thread Thread
 
dmytrolapshyn profile image
Dmytro Lapshyn

Maybe this was true back in 2017, but now there's a NodeJS build for the ChakraCore runtime as well.

Collapse
 
wilsonsilva profile image
Wilson Silva

People don't really love it. It just happens to be the only language the browsers speak and they had to learn it. Then it expanded to other systems and things became more interesting. Even with all the improvements, JavaScript still feels hacky.

Collapse
 
ethan profile image
Ethan Stewart

"People don't really love it"

False, it's my favorite language.

Thread Thread
 
rudocris profile image
Rudolf Manusadzhyan

And it's the only programming language that you know well, isn't it? =)

Thread Thread
 
vedrantrebovic profile image
vedrantrebovic

Bingo.

Collapse
 
kspeakman profile image
Kasey Speakman

I think the reason JS gets so much attention is because it is probably the easiest language to get into, and a language web developers already (are required to) speak. Nearly every computer has a JavaScript runner and debugger built in -- the browser. Pick one of the many good syntax-highlighting editors and you are off to the races. Then it's a natural progression to exploit the required JS proficiency and use Node for the back-end.

This does not make JS a good language to actually use. But regardless it will continue to flourish as long as it maintains its monopoly as the only language browsers understand. And Node's fate is tied to JS.

For me the trade-offs are just not favorable for using node in back-end systems. Nor JS anywhere I don't have to.

Collapse
 
zeropaper profile image
Valentin Vago

Sometimes I think about a product that Aptana tried to sell early 2010's which was already server-side JS (a few years before I first heard about NodeJS).
I can't recall its name though... :D

Collapse
 
mhingston profile image
Miles Hingston

Jaxer, I remember using it for a short while.

Collapse
 
zeropaper profile image
Valentin Vago

yeah... something like that.
it was tempted to use it but never did.
how was the experience?

Collapse
 
rocteur profile image
Jerry Rocteur

Is this a bad thing ? And if so, why ?

Collapse
 
rhymes profile image
rhymes

"write once, run anywhere"

just not the language Sun hoped for :-D

Collapse
 
kaffiene_nz profile image
Peter Ashford

JS was successful because it is the ONLY option to run something on the browser. Not for any virtues it has as a language (of which there are very few).

Collapse
 
breeny profile image
Andrew Breen 👨‍💻

I'd argue that a language designed by need over time will out perform languages designed by "want". Yes, stock JS is pretty bad (ES5 anyways). But as the language has exponentially picked up adoption in both front end and back end use cases (not to mention CLI tooling, electron, hybrid apps etc. etc.), the quality of life additions that are added in each new version of the ECMA script make JS more and more appealing.

It could of been better from the start, but JS is where the web landed in the browser, so the world has run with it to improve it.

Collapse
 
ek121268 profile image
Eran Kinsbruner

I would also add to this thread the important fact that JS is backed by great testing tools with a wide community such as webdriverio, protractor, and others.

Collapse
 
alanguir profile image
Alan Languirand

Working on this inside GM. Node is approved for future projects, and several teams within the company are working on being the first to production. Any advice welcome from people with experience deploying with node from within giant companies.

Collapse
 
petecapecod profile image
Peter Cruckshank

Great article it's always cool to read about what big companies were/are using and what they're up to.
Personally I think that JavaScript is the next Java
The way that the JS ecosystem is exploding right now totally reminds me of Java in the early 2000's. And what's not to love about it (OK there is a couple things)
But with ES6 and classes + TypeScript it's starting to head towards a more traditional route (optionally)
And Node.JS makes everything better

Collapse
 
symbiat profile image
Ajai Khattri

NodeJS is not a good fit for every problem. Most of examples cited in th hyperbole above are mostly front end stuff - no one would use JS for machine learning for example.

Collapse
 
lexlohr profile image
Alex Lohr

JavaScript has grown beyond recognition in the last 10 years. The main reason to use it is because it is everywhere already: it's in your browser, in your PDF viewer, even your old flash plugin, the server and even embedded in microcontrollers.

It may not be the most beautiful or effective language, but it gets the job done. Miss strict types? Use either TypeScript or Flow. Tired of waiting for new language standards to become usable? Babel your way out of that. You don't like to write JS at all? Compile your Java or C(++) Code to JS using GWT or emscripten.

Not performant enough? Since Google broke into the market with V8, JS performance gains are found left, right and center - not only for your product, but for every product using JavaScript that runs V8 - and other engines will follow or even outperform V8.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.