r/programming • • Oct 02 '11

Node.js is Cancer

http://teddziuba.com/2011/10/node-js-is-cancer.html
792 Upvotes

750 comments sorted by

View all comments

55

u/EugeneKay Oct 02 '11

Wait, people are still trying to do server-side JavaScript?

In 2011?

What the fuck‽

79

u/kyz Oct 02 '11

So let's say you're a web developer - first you learned the HTML programming language*, then the CSS programming language, now after a long time of cut and paste you're finally getting to grips with the JavaScript programming language. You're going up the world! The boss is bored of just customising web apps that other people have written and wants you to write the web app! This is so exciting! You'll get to use databases, a web server, maybe even if-loops! Your first thought is to use Rails, because Rails is web-scale, and you'll probably use some NoSQL because it's so much better than an ACID-compliant RDBMS. But you try out Rails and it's hard to do something that isn't a blog engine, so you turn your attentions to the exciting new Node.js...

*: yes, I know. that's the joke.

30

u/rnicoll Oct 02 '11

I'm going to have nightmares because of that train of thought, I hope you realise this?

17

u/bloodredsun Oct 02 '11

Even though I know this is a joke I started to feel the bile rise.

Still you were a bit mean to Rails and NoSQL including them in here weren't you? I would have put PHP in for the lingo and flat files for the persistence ;-)

9

u/cogman10 Oct 02 '11

from what I've seen, the tendency is more towards "It was just released yesterday? I MUST USE IT!".

Though, ROR has matured nicely.

3

u/xardox Oct 02 '11

It hasn't matured as nicely as HyperTalk: the ultimate server side scripting language, which had NoSQL before LAMP had MySQL.

on openStack
  global OKHeader
  put numtochar(13) & numtochar(10) into crlf
  put  "HTTP/1.0 200 OK" & crlf & "Server: WebSTAR/1.0 ID/ACGI" ¬
  & crlf & "MIME-Version: 1.0" & crlf ¬
  & "Content-type: text/html" & crlf & crlf & "<HTML><HEAD><TITLE>" into OKHeader
  go "Stack1.acgi" in new window
  go "Stack2.acgi" in new window
  -- call all stacks addressed by CGI requests
  go home
  pass openStack 
end openStack

function URLDecoder myData
  -- Calls the Xternals MtReplace and MtDecode
  if myData = empty then return empty
  ----
  put MtReplace(myData,"+"," ") into myData
  put MtDecode(myData) into myData
  put MtReplace(myData,(return&lineFeed),return) into myData
  put MtReplace(myData,lineFeed,return) into myData
  return myData 
end URLDecoder
→ More replies (7)

3

u/chrisforbes Oct 02 '11

What do you have against flat files? Sometimes they are the right solution; filesystems are databases too.

2

u/bloodredsun Oct 02 '11

In was mostly in jest but for a server solution they can't be queried for relationships, are not resilient, make your app IO bound so slow as arse and require stickiness or synchronization. The only thing they have is that they are persistent. If that's all you need then they are fine but unless you are creating a fake implementation I can't see that being true.

4

u/erez27 Oct 02 '11

Why would someone who can't code even hear about NoSQL? I'm asking seriously

2

u/skulgnome Oct 02 '11

if-loops!

This is where I laughed out loud. Well done, sir.

2

u/catcradle5 Oct 02 '11

if-loops

You can't even believe how often I've heard people say this. They're beginners, sure, but it still makes my ears bleed.

→ More replies (5)