Hacker News new | ask | show | jobs
by peterhunt 5278 days ago
Come on, let's stop the Node.js ridiculous hype already.

1. It's JavaScript! JavaScript is a terrible language. The fact that you need to read "JavaScript: The GOod Parts" in order to use the damn thing is an indicator of that.

I don't care that it's supposedly "lispy."

2. Code re-use at every level

Does any project actually do this? Is there any sort of front-end library that actually works both in Node and in the browser? It seems like more of a pipe dream to me. An awesome idea, for sure, but never actually implemented in practice.

3. Strong, responsive and enthusiastic community

This is moot if there aren't good libraries available. There are, but other platforms have far better ones available and I wouldn't count this as a plus for Node.

Maybe you're talking about Reddit or HN headlines, though.

4. Large productivity gains in HTML & CSS using Jade & Stylus

Never used them, but finding a library or framework that works for you is awesome.

5. Wealth of hosting options: No.de, Joyent’s SmartMachine, Heroku, Nodejitsu

You can say the same thing about PHP too. That doesn't make it a good reason to use it.

6. Make your developers famous

Seriously?

7. Developer happiness

HN fame?

3 comments

Regarding point 2: http://developer.yahoo.com/blogs/ydn/posts/2011/11/yahoo-ann... http://geddyjs.org/ and _many_ other diy projects (search for backbone code reuse, for eg).

The rest if it; yeah... well that's just like, your opinion, man.

I too hate Javascript, but mostly because it is not a language suited to go above a few houndred lines of code -- it is awesome to quickly add some interaction to a website.

That said, Node.js is really well designed. I just wish it was done with some other less dynamic language.

JavaScript can easily go over a few hundred lines of code. Sure, you need to be organized about it, and if you aren't you quickly can devolve into a mess of nested callbacks and fragile function calls.

But with a little forethought as you write your code, you can write very complex programs with JavaScript and still have a very readable code-base.

I think that Node.js should have been implemented in a language that supports generators or coroutines as it's a more natural paradigm than callbacks.

I also think that rather than passing in callbacks, functions that do I/O should return Deferreds which allow for more elegant error handling and better flow control.

re: #1 - JavaScript is a very accessible language, and as such, there is a TON of bad code and examples. The fact that people write bad code doesn't make it a bad language, that is your opinion of the language and you are entitled to that but I would argue that opinion. Many people write high-quality code using JavaScript every day, and it can be a very elegant language.
Sure, there are bad examples, but it is still a terrible language. It has a horrific type system, encourages the use of globals, is the epitome of TMTOWTDI to the point where there's still no standardized module/object system which impedes collaboration and lacks language features like operator overloading that are present in most mainstream languages today.

I'm not saying you can't write good, elegant code in JS, I'm just saying that you have to fight the language to do it.