News for hackers. Stuff that matters.
Re:Node.js isn't a silver bullet, but it's still a bullet. by huggyface on Friday February 03, 2012 @02:44PM (#3548572)
What hype? Whose hype? I think it's a strawman.

There is a certain class of problem that often appears on the web presentation layer -- the interaction between the browser and a cornucopia of back-end sources and systems -- where nodejs is often a very good fit, and it is almost always what enthusiasts of the platform are speaking of.

That's it. Nothing more.

I've seen various angry retorts that opine that become it isn't suitable for various very unsuitable purposes (see - calculating prime numbers, etc), it sucks. Such misdirection has no place in this industry.

Re:Node.js isn't a silver bullet, but it's still a bullet. by jeremymcanally on Friday February 03, 2012 @02:53PM (#3548634)
If you've spent any appreciable amount of time on Hacker News, you'd know that there has been pretty big hype behind Node.js. If you don't see it, you're not paying attention. Anecdotally, I work with a lot of fairly inexperienced developers with my clients, and I honestly can't tell you how many times they've suggested we "rewrite (x) in Node.js because it's faster" or "let's switch this to Redis" with no real reason behind it. When one digs down, we eventually arrive at "I read a blog post that said it was real fast and stuff."

I like Node a lot. I think it solves some hard problems, but just like NoSQL, TDD, and a bevy of other things, they're not silver bullets even if they're painted like one.

Re:Node.js isn't a silver bullet, but it's still a bullet. by InclinedPlane on Friday February 03, 2012 @08:50PM (#3549941)
A lot of buzz about Node shouldn't be confused with a lot of "hype". If people are talking about something a lot and using it for very specific projects that's very different from people evangelizing it as a silver bullet solution for everything.
Re:Node.js isn't a silver bullet, but it's still a bullet. by sausagefeet on Sunday February 05, 2012 @09:54PM (#3556008)
A lot of buzz can qualify has "hype" in my opinion. Node has gotten a lot of attention over the past year, just like Erlang got a few years before and Haskell in there too. The only difference people actually started using Node.
Re:Node.js isn't a silver bullet, but it's still a bullet. by grannyg00se on Friday February 03, 2012 @04:59PM (#3549254)
"When one digs down, we eventually arrive at "I read a blog post that said it was real fast and stuff.""

That doesn't show that there was too much hype. That just shows there is enough popularity for an inexperienced developer to find it on their radar.

If it was overly hyped, you'd find a lot of experienced developers blogging about how they were horribly mislead and that node doesn't do what it advertises.

Re:Node.js isn't a silver bullet, but it's still a bullet. by 0x0 on Friday February 03, 2012 @06:22PM (#3549546)
And then you get blogposts like this: http://teddziuba.com/2011/10/node-js-is-cancer.html
Re:Node.js isn't a silver bullet, but it's still a bullet. by grannyg00se on Sunday February 05, 2012 @11:17AM (#3554363)
Which amounts to "I don't like javascript, I don't like things that don't work the way I like to work, and I love strawmen."
Re:Node.js isn't a silver bullet, but it's still a bullet. by rehack on Saturday February 04, 2012 @10:23AM (#3551196)
I endorse your view. Its puzzling to see how in a very silly manner, so many people just want to be "fashionable" when it comes to use of tech.

The FB engineer in his interview (http://news.ycombinator.com/item?id=3527419) says it just about right that "Technology is a great servant but a terrible master"!

Re:Node.js isn't a silver bullet, but it's still a bullet. by moe on Friday February 03, 2012 @09:04PM (#3549960)
or "let's switch this to Redis"

Don't throw node and redis in the same bucket please.

Re:Node.js isn't a silver bullet, but it's still a bullet. by democracy on Saturday February 04, 2012 @05:28AM (#3550765)
And why not? Both are trying to solve a problem 99% of developers do not have.
Re:Node.js isn't a silver bullet, but it's still a bullet. by huggyface on Friday February 03, 2012 @02:59PM (#3548658)
If you've spent any appreciable amount of time on Hacker News, you'd know that there has been pretty big hype behind Node.js

A considerable percentage of HN's visitors deal in exactly the realm that node.js serves: that gooey layer between browser and back-end systems. This is like complaining that coffee enthusiasts are interested in burr grinders when it's entirely unsuitable for chipping tree branches. There is no surprise that many HNers find node.js interesting and exciting.

Re:Node.js isn't a silver bullet, but it's still a bullet. by jeremymcanally on Friday February 03, 2012 @03:09PM (#3548710)
Sure, like I said, it solves some really hard problems and makes some architectures easier to execute on. But frankly, about 20-30% (probably made up percentage alert :)) of the stuff I people using Node.js for on HN is really just tech wankery. There's no real reason to be using Node.js for it, even though they will tell you that it's the only thing that worked for that possible problem!

Likewise, another 10-20% is people converting working code from a perfectly suitable technology to Node.js because it's the new cool thing.

It's not that either of these cases is "wrong." They know their problems better than I do. But I've been doing web development for about 10 years, I've seen this cycle a few times, and I know that every new tech has ridiculous adherents that do that stuff (e.g., Rails went through the same cycle except for "productivity reasons"). Everything looks like an old and busted nail when you have a new and shiny hammer I guess.

Re:Node.js isn't a silver bullet, but it's still a bullet. by jerf on Friday February 03, 2012 @03:27PM (#3548795)
If you do not already think it has been hyped, I am at a loss as to how to prove it to you.

Let me put it this way: Why do we hear so much about Node when it's just another event-based single-threaded "asynchronous" execution environment running on a dynamic language, like half-a-dozen others that preceded it? Basically, it won the hype lottery. Whatever nice things you may have to say about it apply reasonably well to the half-dozen predecessors, too.

Re:Node.js isn't a silver bullet, but it's still a bullet. by GnarlinBrando on Friday February 03, 2012 @07:16PM (#3549700)
Because it is inherently attractive to people who have worked client side in javascript and want to expand. Like me. I'm relatively new to the industry. I know javascript fairly well and while I might not be as familiar with the sort of problems that have to be solved on the server I am learning.

I think a lot of the criticism about people getting into it thinking that they can just port their client side experience to the server is valid. But the tone of so many seemingly anti-node posts turns a lot people off. I read more critical posts about node than I do positive ones because I know I will learn more. But sometimes it is not easy to cut through all the ego thumping and noob bashing. It would be nice to see the tone of the discussion shift, which I think it is starting to do, to what node is actually good at (in my opinion it seems to be acting as a glue for applications that require real-time).

Regardless, it works. I've started using Trello and I love it. Best organizational app I have used. Built in node. It works and I have not had a single problem with after two weeks of pretty heavy use.

So I don't think it just won the hype lottery, it has distinct advantages over Twisted and EventMachine, even if many of those advantages just have to do with relative accessibility and the ease of access provided by NPM.

It has hype because it has an involved and open community. Not just because it was lucky.

Re:Node.js isn't a silver bullet, but it's still a bullet. by guan on Saturday February 04, 2012 @08:53AM (#3551032)
I did not have much experience with frontend code and more or less had to learn JavaScript to use Node. I think one reason Node has become so popular is that it is relatively simple to understand (in part because JavaScript is), the documentation is excellent, and it works well. Twisted has similar goals, but it was harder for me to learn what was going on, even though I have prior Python experience.
Re:Node.js isn't a silver bullet, but it's still a bullet. by GnarlinBrando on Saturday February 04, 2012 @03:07PM (#3551935)
I would definitely agree with you there. The documentation, as well as the number of tutorials and ebooks, is one of the big reasons for the so called 'hype.' I tried looking at twisted, I know enough python to be able to throw together some simple scripts and work with tools written in it I'm no pro though, and felt totally lost.
Re:Node.js isn't a silver bullet, but it's still a bullet. by polotek on Friday February 03, 2012 @03:55PM (#3548949)
I don't think you've taken the time to ask how it might be different from even the other evented systems that have come before. When something that looks similar to what has come before seems to get undo attention, you should perhaps ask if you're missing something.

All languages, platforms, frameworks etc have strengths and weaknesses. There are lots of factors that contribute to a certain solution being "really good" for a problem as opposed to "serviceable but not great". Engineers look for great solutions to problems. They don't stick with ones that are sub-par just to avoid explaining to nay-sayers why they decided to switch.

Re:Node.js isn't a silver bullet, but it's still a bullet. by huggyface on Friday February 03, 2012 @03:35PM (#3548840)
All else isn't the same. For one, this event-based, single-threaded "asynchronous" execution environment running on a dynamic language uses javascript, which is a surprisingly powerful functional language that just happens to run on the other side of the web server conversation in the context that we are discussing.

Being able to standardize and coalesce the two sides of the web pipeline -- regardless of what magic happened at the other layers -- has obvious merits.

Re:Node.js isn't a silver bullet, but it's still a bullet. by apgwoz on Friday February 03, 2012 @03:58PM (#3548963)
Calling JavaScript a functional language on the pure basis that it has first class functions and closures is sort of stupid. Aside from that, what other properties does JS enforce that are deemed functional?

I'll save you some time: none.

Re:Node.js isn't a silver bullet, but it's still a bullet. by grannyg00se on Friday February 03, 2012 @06:28PM (#3549563)
I don't generally like to say sort of stupid things, but I would call a language functional if it has first class functions and closures.
Re:Node.js isn't a silver bullet, but it's still a bullet. by InclinedPlane on Friday February 03, 2012 @08:52PM (#3549944)
Provide a concise, objective definition for functional languages which Lisp, Scala, Haskell, and Lua satisfy but Javascript does not.
Re:Node.js isn't a silver bullet, but it's still a bullet. by lmkg on Saturday February 04, 2012 @03:49AM (#3550639)
The language uses functions as the primary mechanism for implementing core language design features, such as abstraction, modularity, code re-use, and configurable behavior. Lisp, Scala, and Haskell use functions as their go-to tool, supported by macros and/or types. JavaScript uses objects and its object system as its primary tool, with functions in a supporting role.

I will concede that JavaScript supports programming in a functional style. However, if one uses that as the definition of a functional language, the term becomes nearly useless, basically excluding only Java.

Re:Node.js isn't a silver bullet, but it's still a bullet. by apgwoz on Saturday February 04, 2012 @07:42AM (#3550921)
You might add that Lisp (well Scheme and some Common Lisps), Scala, and Haskell provide mechanisms to make recursion equivalent to iteration without explicit looping constructs that require mutation (tail recursion).
Re:Node.js isn't a silver bullet, but it's still a bullet. by huggyface on Friday February 03, 2012 @04:38PM (#3549153)
My interest in having a boring argument with a language bigot approaches nil. But yes, aside from the very namesake of functional programming (a vague language grouping with no disciplined definition), yeah there's nothing else there...groan.
Re:Node.js isn't a silver bullet, but it's still a bullet. by apgwoz on Friday February 03, 2012 @07:46PM (#3549778)
You are correct in saying that functional programming has a vague meaning. For JavaScript, I'll accept the meaning:

    functional: adj, produces a correct result
      example usage: Despite its many warts, inadequacies,
        somehow JavaScript is actually functional.
Re:Node.js isn't a silver bullet, but it's still a bullet. by izaguf on Friday February 03, 2012 @08:23PM (#3549877)
There is lots of enthusiasts who post hyperbole like https://twitter.com/travisglines/status/163735891964203008