Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Sunday June 21 2015, @08:17AM   Printer-friendly
from the two-nodes-back-into-one dept.

Node.js is the software that allows you to run Javascript to create powerful server-side applications by using Google's V8 Javascript Engine. As a Node developer myself, I have always felt frustrated by seeing that Joyent, the company behind Node.s, was extremely conservative in terms of upgrading node to use the latest V8 version; the project was also struggling to get developers to actually contribute to code. This is why Fedor Indutny did the unthinkable: forked node and created IO.js. Today, the two projects are uniting possibly offering developers the best of both worlds


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by darkfeline on Monday June 22 2015, @02:37AM

    by darkfeline (1030) on Monday June 22 2015, @02:37AM (#199262) Homepage

    To sum it up as objectively as possible, the problem with Node is that it adds yet another interpreted language to the growing pile of interpreted languages, for no real benefit. We already have very good interpreted languages like Python and Ruby (Perl, Lisp, Clojure, for varying definitions of "interpreted"), and as a plus, these languages don't do things like

    > '5' - 3
    2 // weak typing + implicit conversions = headaches
    > '5' + 3
    '53' // Because we all love consistency
    > '5' - '4'
    1 // string - string = integer. What?
    > '5' + + '5'
    '55'
    > 'foo' + + 'foo'
    'fooNaN' // Marvelous.
    > '5' + - '2'
    '5-2'
    > '5' + - + - - + - - + + - + - + - + - - - '-2'
    '52' // Apparently it's ok

    > var x = 3;
    > '5' + x - x
    50
    > '5' - x + x
    5 // Because fuck math

    Yet all this manpower is being wasted in developing Node and developing software in Node. It's as if we collectively in the computer industry haven't done enough to create needless busywork, so we're creating even more busywork. Well, at least it'll keep the wheels of capitalism well-oiled.

    --
    Join the SDF Public Access UNIX System today!
    Starting Score:    1  point
    Moderation   +3  
       Interesting=3, Total=3
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 3, Interesting) by JNCF on Monday June 22 2015, @04:19AM

    by JNCF (4317) on Monday June 22 2015, @04:19AM (#199287) Journal

    the problem with Node is that it adds yet another interpreted language to the growing pile of interpreted languages, for no real benefit.

    I disagree. I think node provides a unique benefit in that it uses a language that already runs in the browser. If you use browserify, you can even write your client side in CommonJS. This lets you write modules that can be used on the server and the client (it also solves the global block scope issue if used correctly). And we have databases (like MongoDB, with all its flaws) that run on JSON (technically BSON), so that we can use the same object structures from our database all the way to the browser. ECMAScript is the only interpreted language we have that can really do that, and I see value in this.

    That being said, ECMAScript is full of fuckery. You simply have to use a reasonable subset of it, and build up from there.
    This is my favorite example:

    8 === 010
    // true because a leading zero makes ECMAScript use octal.

    8 == '8'
    // true because a double-equals makes ECMAScript coerce strings into number.

    8 == '010'
    // false because ECMAScript is crazy, and doesn't check to see if a number is in octal after coercing it from a string. That simply isn't in the standard.

    10 == '010'
    // true for the exact same reason.