DEV Community

Discussion on: The most important lesson that the success of JavaScript has taught us

 
yousafsyed profile image
Yousaf Syed

Yes, I have changed my bad wording about you and its not because I googled you, instead, I realized it was personal and I am sorry about that.

I have never said Javascript is the best language when it comes to the language itself, I am not a NodeJS developer, I am an architect whose primary job is to work on the bleeding edge technologies, researching and optimizing the business on the highest scale in the ticket industry to handle millions of transactions per minute, my team manages hundreds of services and microservices if not thousands.

We have scaled up applications written in PHP and NodeJS, Python and Java and guess what? Which language has the microservices which are easiest to scale to handle millions of requests? Answer "NodeJS"

When I said people who work on NodeJS are one of the most sophisticated programmers because they are able to write amazing services even with the crappiest nature of the Javascript.

You don't agree with me that it's really making a huge dent in backend market shares while we are on the post which talks about the popularity of NodeJS.

You may answer microservices. But even a microservice have a few thousands of lines of code.
Yeah ofcourse I would have said that but whats wrong with 2000 lines of code in NodeJS?

I agree with first two points its not so mature as Java and its obvious, but single threaded nature of NodeJS forces you to think out of the box when desiging highly scale architectures, and its obviously not designed for complex computations, what its best is I/O primarily and you should consider something else when you want todo multi threading or complex computing.

if you want to go all async, you can use Vert.x why not scala, golang or rust ? they have a bigger community than vert.x

Docker is another type. I think Docker is great, but not being able to start a container as the current user without scripting it is just lame.

It is an uninformed comment from you about Docker. It is not designed for that and it has no intentions in doing so. Docker/Containerizations solves a bigger problem in software delivery than running a container with the current user in your host. If you are trying todo so, it's fundamently incorrect and an antipattern.

IMO, weak typed langage are good for prototyping and other disposable projects. Absolutely agreed, but you can always find exceptions and write easy microservices that can scale to infinitly with a minimal effort, at the end of the day its all about the business who does not cares about any langauge but time to market,stability and scale.

We should choose what's the best option given the parameters by business, and not because we have an opinion or love for a tool.