back to article Node.js fork io.js hits version 1.0 – but don't call it production-ready

The io.js JavaScript software development runtime, a fork of Node.js, has reached version 1.0, lapping the version numbering of the original project on which it was based. Prominent Node.js developer Feodr Indutny created io.js in December 2014 after clashing with Joyent, the company that maintains Node.js, over the project's …

  1. Destroy All Monsters Silver badge
    Paris Hilton

    Nork.js, production ready, ever.

    Can anyone recall me what the point of Node.js is? Except giving people somewhat of an excuse to not having to look beyond JavaScript when coding horribad stuff on the server side, far better solved with proper languages?

    1. sabroni Silver badge
      Happy

      Re: Can anyone recall me

      Yes, you're the guy who posted about microsoft keyboards then replied to himself twice getting more and more irate!! That was cool!

      If you mean can anyone remind you what the point of node.js is, I believe it's to do with the way javascript's function scope allows loads of concurrent (idle) connections to take very few resources. This makes certain sorts of chatty but mostly idle systems very easy to engineer. A "proper" language would make that nice and complex!

      (I've not used node.js in anger so correct me if I'm wrong!)

      1. James 47

        Re: Can anyone recall me

        It actually allows loads of concurrent connections because it uses the libuv library, which is asynchronous.

    2. Notas Badoff
      Facepalm

      Code sharing?

      You are stuck out on one of the Lagrange points, aren't you? Not sure if you're coming or going, but definitely not in the here and now. And if you keep nibbling away at that asteroid in order to throw stones you'll just leave yourself hanging.

      Besides the interesting efficiency of handling server requests (which is now possible with other software combos, I hear) there is the quite nice aspect of sharing code between the browser and server. Might not suit all projects, but sometimes it's nice to cut down the number of spinning plates.

      And until Erlang and other "proper languages" are smoothly available on web clients, Javascript is moules frites du jour.

      1. Anonymous Coward
        Anonymous Coward

        Re: Code sharing?

        We've been using Dart in anger - might want to try that if you're used to decent languages.

        1. Robin

          Re: Code sharing?

          > We've been using Dart in anger

          I had to work on an old VB6 application the other day. That made me pretty angry.

        2. breakfast Silver badge
          Trollface

          Re: Code sharing?

          *Throws a dart angrily*

  2. Stretch

    javascript is a crime against humanity. worst thing is people wrongly associate it with java.

    1. Anonymous Coward
      Anonymous Coward

      beyond moronic

      Yes, and in an ideal world people would build web pages in Assembly, or directly with a soldering iron onto the circuit board.

      These days the only people who confuse JavaScript with Java, are the people who confuse "C" with "The sea", ie, not anyone who has actually had anything to do with programming.

      JavaScript exists. Get over it.

      1. Joe Harrison

        Re: beyond moronic

        I know, to avoid confusion we could change the name to "LiveScript"?

    2. breakfast Silver badge
      Stop

      JavaScript is not the best designed or most beautiful language to work with by any means. Compared with other scripting languages it is weird, counter-intuitive and hard to write solid, reusable code with.

      But I prefer working with it to Java any day. Last time I did any work with Java ( a couple of months ago ) it just seemed so slow and clunky to get anything up and running. It felt like a real legacy language, like Cobol or something. Every part of configuration was awkward and time consuming and then the code itself is exceptionally verbose. Working with it felt like directing a glacier.

  3. johnnybee

    Re: Headline

    Only an idiot would call version 1.0 (or, more generally, x.0) of _anything_ production-ready...

  4. amanfromarse

    Hmm, big company, moved off their java codebase to javascript/node, been using it in production for over a year.

    http://www.zdnet.com/article/how-replacing-java-with-javascript-is-paying-off-for-paypal/

    1. I don't have a handle

      That's the thing with node.js - it has it's place, but that place is definitely not everywhere. i.e. there's no point in using it as a boutique framework or just because you can. (But then, I would say that about any framework, not just node.js).

      From what I have seen, probably the biggest issue with the node.js environment is not the framework itself, but rather some nasty habits front-end developers* are bringing with them across to the server**.

      * Don't take it personally if you are a javascript dev. It's just a personal observation, not a dig.

      ** For this reason (and others) I still not completely sold on the notion that it is good to blur the traditional boundary between client and server, just because we can.

  5. thames

    Back before NodeJS was cool and was still just a struggling new project, I listened to a podcast interview with the original author. The original developer wanted to create something that was equivalent to Twisted (a Python framework) but was able to use the V8 JIT compiler from Chrome. He thought that Twisted was fantastic and was a real fan of it, but Python didn't have a working JIT (Pypy didn't work with Twisted at the time) and he thought he could build something faster.

    The justifications along the lines of "use the same language for front end and back end" came a lot later on and seem to be very much after the fact. The original reasons were that Twisted was really cool and V8 was really cool and sticking the two together somehow would be even more cooler. This sort of enthusiasm is how stuff that actually works tends to get built.

    I've compared NodeJS to Python (CPython, not Pypy, so no JIT) with Twisted, and found that in terms of performance, which was faster depended on what you were doing. The NodeJS event loop was faster (but less flexible) but I was doing a lot of JSON parsing and the Python JSON library was faster. In addition, things which required a load of Javascript code may be a single instruction in Python, which negates some of the theoretical advantages of having a JIT. Overall, performance depended on exactly what you were doing, so you can't draw across the board conclusions.

    In terms of how much work it took to write each version though, the NodeJS version took a lot more lines of code than the Python/Twisted version. A lot of things which are a one-liner in Python takes multiple lines of code in Javascript. If you're looking to save development time and costs, that's a very big consideration.

    As for being able to write the server and the web scripting in the same language, I don't really see much advantage to it. I've never had any problems using Javascript for the front end and Python for the back end. But then again, I've been programming for longer than either language has been around and have learned a number of languages. If you've got someone who says that they only know one language and it's too hard for them to learn another, then I don't think that using NodeJS (or Io.js) is going to solve your real problems.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like