Live data from Hacker News

Node.js - Convincing the boss guide

nodeguide.com

61–70 of 85 posts

Re: Node.js - Convincing the boss guide

#61
post #50

Earlier quoted context omitted.

"Excitement and enthusiasm for something new " was left off that list for a very good reason: it's a terrible reason to pick a technology like node (or anything else). In fact, I'd go so far as to say that enthusiasm for mere new-ness is one of the more pernicious, counter-productive parts of modern hacker culture. Rich Hickey implied this at his RailsConf keynote when he talked about how great we are at judging bene…

I carefully avoided making the statement you've just deconstructed. Nothing in my original post mentions newness. The point I made is that enthusiastic and excited developers are valuable. Developers tend to find learning exciting. They could be interested in learning Rails or Django for the first time, trying out Sinatra when a full Rails app seems overkill, or exploring Node for a small and non-critical part of you…

>I carefully avoided making the statement you've just deconstructed.

Perhaps you carefully avoid it, but you also strongly implied it. Consider:

>You're lucky enough to live at a time where there are numerous production-ready tools with which to do your job. If you choose a tool that you're excited to explore, with an active and fast-moving ecosystem, your excitement and enthusiasm will make you happier and more likely to do a better job.

You're optimizing for programmer excitement. There's a famous graph of programmer excitement curves floating around on the net, with a peak at "new and shiny" stage.

>Developers tend to find learning exciting. They could be interested in learning Rails or Django for the first time, trying out Sinatra when a full Rails app seems overkill, or exploring Node for a small and non-critical part of your architecture. Hell, they might be excited about learning PHP.

I'm not arguing the truth of what you're saying - it's obviously, painfully true that developers absolutely love trying out the new hotness (sometimes even if it's just new to them). I'm simply asserting that this is bad.

Re: Node.js - Convincing the boss guide

#62
post #12

Here's something oft-understated: As a web developer, you sit on the intersection of engineering, design and art. You're lucky enough to live at a time where there are numerous production-ready tools with which to do your job. If you choose a tool that you're excited to explore, with an active and fast-moving ecosystem, your excitement and enthusiasm will make you happier and more likely to do a better job. Someone d…

"Excitement and enthusiasm for something new " was left off that list for a very good reason: it's a terrible reason to pick a technology like node (or anything else). In fact, I'd go so far as to say that enthusiasm for mere new-ness is one of the more pernicious, counter-productive parts of modern hacker culture. Rich Hickey implied this at his RailsConf keynote when he talked about how great we are at judging bene…

This wasn't what I got from Rich Hickey's talk. I understood him to be saying that, while of course you shouldn't use something just because it's new, you should use whatever will make your code simpler, even if there's a learning curve.

That to me was the point of his "easy" vs. "simple" dichotomy. Using the tools you happen to be familiar with is doing what's easy for the developer. Hickey argued that you should instead accept a bit of a learning curve if it will simplify your program in the end.

Now, I've never used Node, so no idea if it simplifies or complects web programming. (My current projects are in Haskell/Snap; so you can guess how I feel about learning curves.)

Re: Node.js - Convincing the boss guide

#63
post #50

Earlier quoted context omitted.

"Excitement and enthusiasm for something new " was left off that list for a very good reason: it's a terrible reason to pick a technology like node (or anything else). In fact, I'd go so far as to say that enthusiasm for mere new-ness is one of the more pernicious, counter-productive parts of modern hacker culture. Rich Hickey implied this at his RailsConf keynote when he talked about how great we are at judging bene…

I carefully avoided making the statement you've just deconstructed. Nothing in my original post mentions newness. The point I made is that enthusiastic and excited developers are valuable. Developers tend to find learning exciting. They could be interested in learning Rails or Django for the first time, trying out Sinatra when a full Rails app seems overkill, or exploring Node for a small and non-critical part of you…

If only a group of more than 5 developers were enthusiastic about the same thing! Your enthusiasm for node is another persons pain. I've got 1 coder enthusiastic about node, another for clojure, and another for scala. Should every project be a different language and ecosystem? What happens when programmers move around in an organization.

"I think part of node's mass appeal is that it has introduced an element of simplicity to a generation of developers who have grown up around bloat."

Who are you talking about? Right now I'm dealing with a generation of programmers that came up on ruby. Node isn't simpler than sinatra. In fact, we just tried to use node for a "small and non-critical part of your architecture". You know what happened? It took much much longer to finish because it needed to talk to an API that uses digest authentication and node's http library doesn't support that so we had to roll our own.

Re: Node.js - Convincing the boss guide

#64
Lately my problem has been convincing my boss NOT to use Node on every little project. Don't get me wrong, Node is versatile and fun, but not the most appropriate choice for systems work and your usual DevOps tools.

To him, any little one of script written by the team (except his own) must be re-done in Node. Then, the code being "his", he'll upload it to his own personal github account. Meanwhile, we have to reimplement the new Node written tool.

Re: Node.js - Convincing the boss guide

#65
"So don't try to build hard realtime systems in node, that require consistent response times. Erlang is probably a better choice for these kinds of applications."

Erlang is actually suited for soft realtime systems as well. I've never seen it recommended for hard realtime systems.

Re: Node.js - Convincing the boss guide

#66
post #45
post #12

Here's something oft-understated: As a web developer, you sit on the intersection of engineering, design and art. You're lucky enough to live at a time where there are numerous production-ready tools with which to do your job. If you choose a tool that you're excited to explore, with an active and fast-moving ecosystem, your excitement and enthusiasm will make you happier and more likely to do a better job. Someone d…

As as boss, I understand that happy employees are a good thing for everyone, but similarly it is not enough to convince me to use what I see as a seriously substandard solution. From my point of view, Node.js is shaping up to be the php of 2012. It's proponents claim it's easy and fun and it's in a language that they are comfortable with. Meanwhile it's detractors see no real advantage over existing or other upcoming…

The majority of my free time goes into the Ruby/Rails ecosystem, but I decided to finally jump into javascript for real and force myself to grok things like closures and context (still strugglin'!) the past month.

Node isn't a new language. It's javascript. Node just gives javascript the rest of the web stack, conventions, and a package manager that feels like Ruby gems. Javascript already is the best solution for all the problems we're currently forced to use javascript for. It's the language the browser understands.

I'm not here to be Node's white knight, but Node isn't just Yet Another Thing or Yet Another Language. It's javascript and, to me, it's making javascript into a language with an ecosystem similar to what I'm used to with Ruby. Javascript is already out there in the wild solving problems that Ruby/Python/Clojure can't.

Re: Node.js - Convincing the boss guide

#67
post #50

Earlier quoted context omitted.

I carefully avoided making the statement you've just deconstructed. Nothing in my original post mentions newness. The point I made is that enthusiastic and excited developers are valuable. Developers tend to find learning exciting. They could be interested in learning Rails or Django for the first time, trying out Sinatra when a full Rails app seems overkill, or exploring Node for a small and non-critical part of you…

>I carefully avoided making the statement you've just deconstructed. Perhaps you carefully avoid it, but you also strongly implied it. Consider: >You're lucky enough to live at a time where there are numerous production-ready tools with which to do your job. If you choose a tool that you're excited to explore, with an active and fast-moving ecosystem, your excitement and enthusiasm will make you happier and more like…

> You're optimizing for programmer excitement. There's a famous graph of programmer excitement curves floating around on the net, with a peak at "new and shiny" stage.

I at no point said that this should be the overriding factor. I said that the need to consider developers' personal goals is often understated, and is one of many pieces of information worth weighing when making a decision.

Re: Node.js - Convincing the boss guide

#68
post #47
post #33

Earlier quoted context omitted.

Prove it: What is node equivalent of: "rails g resource User email:string password:string"? AFAIK there is none. At least not one that would take care of migrations, validation, security, logic and views. And if I want to use postgres? Sure, there's a npm package. But it's for queries, I still need to define models and validation manually. ....

as spyder posted there are npms providing this functionality. there are 8,000 packages for all your needs. But the point is another: the npm world is much more modular than the Rails mononblock, there is much less magic involved. You setup your own stack which is simpler than setting up Rails, rvm, gems. Rails isn't bad—it's great but getting off track or looking behind the magic can get a tedious task ...

There really isn't a Rails vs Node dichotomy, though. More like Sinatra vs Express -- you can write glue code in the Ruby ecosystem as well if that's what you want to do.

You use Rails because you want and understand the magic, not because it's magical. You might be initially allured by the terseness of Rails, but the learning curve of what Rails is doing is why you use robust frameworks in the first place -- because you want shortcuts and optimize away from trivial things like form parameter passing and route generation. Learning what `resources :topics` does is "tedious" in a much different way than the tedium of scoping out:

    app.get '/topics'
    app.get /topics/:id'
    app.del ...
    ...
Because then you see an npm package like `express-namespaces` that lets you do this:

    app.namespace '/topics', ->
      app.get '/', ->
      app.get '/:id', ->
And after a while, some people agree to consolidate this into:

    app.resources 'topics'
And soon a part of the community decides that they might prefer these sort of conventions and it becomes the seed that blooms into a robust framework.

...And then another part of the community will complain that it's "too magical" while I do the Jackie Chan 'wtf' gesture because there's a crystal clear API and they'd rather form a Cloud Chorus against alleged "magic" than humbly accept that they might not appreciate the same things that other people appreciate.

Re: Node.js - Convincing the boss guide

#69
post #55
post #43

Earlier quoted context omitted.

http://railwayjs.com/ http://towerjs.org/

Now show me a couple of sites/applications that have at least 100k users and rely solely (ok, mostly) on node.js

I don't understand what value that would offer, much less what it would prove. This was a thread about accomplishing `rails g resource` with Node. What am I missing?

Re: Node.js - Convincing the boss guide

#70
post #17

Earlier quoted context omitted.

> Don't underestimate the value of enthusiasm - especially if you're a boss. Indeed, and your advice is wisely directed at bosses. However, it's a bit harder (though not impossible) for a developer to use this argument successfully: "Let me use Node because I'll be more excited about the project."

That does sound true, although in some cases, "It will help with recruitment" might help.

I guarantee you it is 100x harder to get Node.JS developers than Java/ASP ones.

Especially if you don't live in the US.

Post reply on HN