I think this is because you're interpreting it as "Javascript is bad" instead of "Javascript is bad for this purpose." I think there are plenty of places where the latter is a totally logical statement that needs no real further explanation.
The article probably should have removed any ambiguity on the way it could have been interpreted. An explanation as to why javascript isn't a good language choice would have been even better.
> Node's popularity is a pretty dramatic counterexample to that assertion.
Popularity has nothing to do with quality. Node is popular because so many people knew JavaScript anyway. JavaScript is popular because it was the only widely-supported programming language for the browser (other than ActionScript, which is itself an ECMAScript flavor).
More important that "so many people knew JavaScript anyway", is the fact that using the same code in the browser as on the server means that they can share code, data-models, tests, and it makes it trivial to develop isomorphic web applications.
> Node is popular because so many people knew JavaScript anyway.
Is that true, though? I see very few JavaScript developers with a solid background in computer science or software engineering on the job market, compared to the demand these days, as more and more stuff goes to the browser or native HTML applications. Taking kids out of web design schools is too much of a gamble unless you already have a senior JS dev on the team to keep an eye on them.
But then again it might be different in places like Silicon Valley.
> Is that true, though? I see very few JavaScript developers with a solid background in computer science or software engineering on the job market
That's exactly my point. A huge amount of labor for developing web apps are people who have not come from CS/engineering backgrounds. They're self-taught, and a lot of them started with web technologies.
So it was really easy for those people to transition into backend development because they already knew JavaScript.
And that has nothing to do with the discussion at hand.
The statement "Most of us use it because we have to" is pretty clearly refuted by the fact that no one had to use JS on the server-side, yet plenty still pick Node over other alternatives (even ones they know well).
No one "has to" use anything, even if they only know that one thing. It doesn't take that long to learn a new language.
I wasn't saying that people use it because they have to. There are a lot of reasons to use Node on the server side that are still unrelated to the quality of JavaScript as a language.
1) Easy asynchronous execution (something that is also making Go very popular)
2) Easy to get started
3) Lots of existing libraries
4) Everyone, including frontend devs, knows it already
If you're starting a Python project, you're probably going to prefer hiring Python devs. If you're starting a Node project, you can hire anyone who has done full-stack or frontend work, including Ruby and PHP devs.
Again, all of those are really compelling reasons to use Node, but they have nothing to do with the way JavaScript is designed. The seminal JavaScript book ("The Good Parts") even alludes to the fact that it's not a thoroughly good language.
Further evidence that it's not a good language are the huge number of compile-to-JavaScript projects popping up (TypeScript and Go come to mind).
I also went to a JavaScript conference, and not a single company was using Node through their whole stack, even for new projects. They were typically using Ruby, Python, or PHP for the bulk of their backend, and JavaScript was a thin API layer. I know this is also the case at Yahoo and probably some other companies.
I could write a lot about why I (and lots of others in the dev community) find JavaScript to be Blub-y and fragile, but this is long enough already. The dynamic typing and many ways it behaves unexpectedly are among the major problems.
How would you measure such a thing? NPM has more modules than any other language package manager, isn't that evidence that Node is at least somewhat popular?
I didn't say it's not popular. I'm just saying Node's popularity is not even near to Java or PHP. But I agree that Node's/io.js hype is much louder nowadays :)
Does it have to be the most popular runtime to counter the "no one really likes JavaScript, we just use it because we have to" claim? As the grandparent said, no one has to use Node, but people do; a lot of them.
I find this topic to be intellectually insulting. You know that JavaScript has its (tens of thousands of) fans. Why tell yourself otherwise? Is your hatred of it so overwhelming that you're not even ready to admit to yourself that others disagree with you?
"we have to" was not my phrase and it was about client side, not server side. And it's true. Somebody love JS, somebody not so much - nothing wrong with it. People are different and it's the key of evolution.
Node is definitely popular, but the fact that there are more modules than any other language is a bit misleading. Python, specifically, tends to only have one main/popular package that does something, whereas in other languages' cultures I've noticed that there are a few alternatives to choose from.
There's nothing objective about that statement, since it depends on what you value. If you value having a language that is supported natively by every browser, I would argue JavaScript is - subjectively - quite fantastic!
Why? Javascript is not without its thorns and glitches. What makes it perfect for this use, in your opinion? Is it just the general "I don't like something you like" reaction - in which case, what is it that he's wrong about here?
Who said it was perfect, for this or any other use? You're just constructing a straw man.
The actual objection, which was perfectly obvious from the comments you were replying to, is with the use of the word "Javascript" alone without any further explanation, as if it was axiomatic that the use of Javascript is bad.
When an article includes such an extreme opinion without explanation, it inevitably puts off anyone who doesn't share it. Moreover, it calls into question the ability of the author to review the technology in a fair way, and the purpose of them reviewing it at all. React Native's entire raison d'etre is to provide a native version of a web development stack. If you are inherently biased against web development technologies, then you're obviously not going to get on with React Native, or any similar technology.
I don't think that just because someone doesn't like Javascript it makes their opinion less valid, or that they are a poor developer .. by many professional, highly-productive developers standards, Javascript is a mess and ought to be avoided. For some, the use of Javascript to solve the cross-platform web development problems is a poor decision .. whereas your argument seems to be "everyone else is doing it therefore it must be good and anyone who disagrees with the collective mind is clearly stupid".
Sure, I'd like to know why he thought Javascript is a negative. I'd also like to know why some think its a positive. But I fail to see how invalidating his entire argument is going to prompt that discussion. Seems to me like those who disagree with him about Javascript just want to shut down the whole discourse - whereas there could, indeed, be very good reasons why Javascript is a negative.
Why, because the entire point of react native is so you can use javascript to handle your logic in your app. This lets you bring in a ton more developers for your projects than just the few people who know Objective-C/Swift.
So using a project and disagreeing with it's entire purpose for existing is silly without further explanation of why javascript is bad for this type of thing.
In his argument he says they should be using Objective-C over Swift, which is just wrong. Apple says to use Swift, it's faster and easier to use.
Beyond not liking javascript as a language it's super fast and easy to learn why not make it so more people can start developing apps using that language. It will create better apps that phonegap apps.