Hacker News new | ask | show | jobs
by rezistik 4195 days ago
That's honestly just how the Meteor.js blog posts are. Google around a bit and you'll find two dozen articles stating Meteor.js is the best thing since sliced bread, beer, marijuana or Ruby on Rails. It will completely revolutionize your face, twice over!

But they'll never explain what it is, or how it's solving hard problems for them.

But hey look how easy it is to add social auth!

2 comments

I know a guy who hooked up a Nunchuck to an Arduino, blasted the x/y/z data into MongoDB and used Meteor.js just to show the coordinates on a website, in realtime. He is also the kind of guy who likes to use Node.js and thinks MongoDB "is a database for when you need scalability". Though I must say he hacked it together rather quickly.
I like to use NodeJS too, JavaScript is a great misunderstood language that will handle the vast majority of use cases in the world of CRUD.

Honestly, there is something to be said for hacking something together quickly. Prototyping is a great way to explore ideas and find the interesting problems nested in the problem you're trying to solve. I just don't like the evangelism of Meteor because I've never seen anything really explaining it's value.

Sure it will handle CRUD just fine, like PHP did for all those years, but thats a low standard to measure yourself against. ECMAScript 6 does look kinda decent, but thats the future, not the present.

Also, why use it (Node.js) on the server? Its not even that fast, 21th on the techempower Json benchmark, which should be its strongest discipline (all I/O, no computation, emitting Json).

> Also, why use it (Node.js) on the server? Its not even that fast

Not only it's still reasonably fast (21st is great, it's mostly surpassed only by C and Java), but it also has a much better ecosystem than most platforms (especially C and Java), it's faster to develop in (especially C and Java) and shares language with client side.

Sharing a common codebase is very important for me. I found in most of my web projects I'm reusing code between server and client. Ever worked with code that does (or should do) the same thing in different codebases? It's just a nightmare.

Having the same React code be rendered in the server (fast, SEO-friendly) and in the client (offloads resources off the server) is just too good.

NodeJS looks like a decent compromise to me, isn't it?

I agree it is reasonably fast. I don't agree its ecosystem is better than Javas, neither in size nor in quality.

Same language is an advantage, so is development speed, I agree.

But: C++, Java, Lua, Ur, Go, Ruby and Erlang are all faster than JS, and especially Ruby is a much nicer language. I don't hate Node.js, it has its sweet spots and the tooling feels nice and lightweight, but its not (yet) a very good general purpose tool. Its just not yet on the sane part of the hype curve, and I don't want to be the guy who has to maintain that callback hell 5 years from now.

But ECMAScript 6 is definitely moving into the right direction.

> C++, Java, Lua, Ur, Go, Ruby and Erlang are all faster than JS

Wrong column. You're looking at languages, but a language does not affect performance: its platform does. E.g., the only Ruby benchmark which is faster than Node is actually JRuby, i.e. Java.

> and especially Ruby is a much nicer language

That's a matter of preference. I don't like Ruby myself (nor most languages encouraging classes as their primary constructs).

You shouldn't evaluate languages, but platforms.

> but its not (yet) a very good general purpose tool

Why? I mean, no tool is a very good general purpose tool, but what makes NodeJS worse as a tool than, say, Ruby?

> I don't want to be the guy who has to maintain that callback hell 5 years from now.

Neither do I. That's why I don't use JavaScript for anything else than a target language. You seem to like ES6, why don't you use it and transpile it to plain JS?

Platforms, not languages.

> I don't agree its ecosystem is better than Javas, neither in size nor in quality.

Size is a fact:

http://www.modulecounts.com/

And Ruby is definitely not faster than JavaScript.

A lot of work really can be boiled down to CRUD though.

For more advanced stuff, it's great for prototyping ideas, in fact I think that's where it really excels. It's a super simple language with a massive ecosystem, you can very easily play with ideas or start the basis of an application. Then once you've solved the business logic problems it's generally simple to move to a higher performance language.

I fully agree. Performance is not even that important, but for much of the Node.js/MongoDB hype cycle, thats what people often claimed was its biggest advantage; that "average" developers could now write servers that scale beyond what was thought to be practical.

But if that isn't true, then JS has to be measured against other languages on different merits, and e.g. Ruby and Lua are just as suitable for quick prototyping.

Anyway, these discussions usually end in language zealots downvoting each other and not much else, even on HN. Facebook still runs on PHP, so theres that.

If you compare apples to apples I think the hype for NodeJS for most development is well deserved.

The fact that we are comparing static typed compiled languages like C and Java to NodeJS in order to find higher performance alternatives says a lot about it.

NodeJS isn't a replacement for those lower level languages, however when compared to other dynamic languages like PHP, Ruby, or Python it's suddenly far more competitive.

PHP is probably the main target in my opinion for Node. It's an incredibly popular language for nearly any web application use case.

http://blog.loadimpact.com/2013/02/01/node-js-vs-php-using-l...

The performance tends to favor Node over PHP. In fact, it favors NodeJS over a ton of languages in a lot of areas.

https://www.techempower.com/benchmarks/

These benchmarks really only place Java, Go and Lua above NodeJS in terms of performance.

Bundle in the ecosystem and developer productivity and it does earn the praise it received.

At the end of the day, the vast majority of developers will never need to optimize their applications past what NodeJS offers. Few of us will really deal with massive scaling issues on a day to day basis, nearly any modern language will handle the majority of applications. By the time performance is an issue it's probably time for a major refactor or rewrite building on the knowledge gained in the original version.

We are lucky to have you around to correct us all in the HackerNews comments! Where would life be without this generic comment?!?