back to article Node.js sees Windows compatibility as key to success

The creator of Node.js says he wants to avoid the mistakes of other development environments, and support cross-platform systems as much as possible. Ryan Dahl, who devised Node.js as a way of running JavaScript on the server side, was speaking in a group session with Rackspace and Microsoft at the first Node Summit in San …

COMMENTS

This topic is closed for new posts.
  1. semprance
    Thumb Up

    Translation

    I do like node.js but it isn't exactly in common usage at the moment. Python and PHP are so well established as system/server scripting languages that it will be difficult for it to really establish itself without being available on as many platforms as possible. So all in all this is a pretty good move.

    I personally use it as an alternative to PHP on the server side, and an alternative Python on the desktop, so it is at least nice to be able to use a single scripting language ubiquitously.

    1. Spearchucker Jones
      WTF?

      Node.js is a crock

      So other than the start-up-lemming-phenomenon I see little future for it.

      It uses an event-based model to increase concurrency for calls that have down-stream blocking I/O. First, if you have blocking I/O on your backend you have bigger problems than a choice of web server - unless you're hosting a long-running workflow (which you'd use a workflow framework for, and not Node.js, either).

      Second - JavaScript? On the server?!?

      1. AVee
        Happy

        "Second - JavaScript? On the server?!?"

        It does give a whole new meaning to 'cross-site-scripting' though

      2. Anonymous Coward
        Anonymous Coward

        I'm not entirely sure you know what you're talking about.

        The classic web server flow is receive network packet, read disc, send network packet. The thread pool shouldn't be blocked by disc reads, and you shouldn't be using a thread per connection either. So, you need an async event-based framework to sensibly write code, such as Node.js.

        And yes, Javascript, on the server. Node.js runs on the V8 engine which puts it a mile ahead of interpreted PHP in terms of performance. If people are running .NET or Java on the server, there's no reason not to use Javascript.

        I get the feeling you have one way you prefer to do things, and this isn't it. Fair enough, but that doesn't prove that Node.js is a crock. *This* proves that Node.js is a crock:

        1. No support for threads; it pervasively assumes a single-threaded architecture. No sync objects anywhere, and paradigmatic code that will never work on multiple threads. FAIL.

        2. Not on Windows. Since Linux performs well without the event model, but Windows totally needs it, this is a mismatch. They say they're fixing that but I don't believe it - existing Node.js code relies on the UNIX user & filesystem model to a pretty large extent. This is presumably why their own Windows port of Node.js is not forthcoming - it needs a rewrite for Windows, and will be a pretty different system.

        3. Linux support for async I/O is shit anyway; Node.js has to do things synchronously sometimes because no-one in the UNIX world ever thought to provide a unified system for async I/O.

        4. Linux supports the thread-per-connection model well, by scheduling threads within a process quickly. Node.js on Linux solves what is pretty much a non-issue on that platform, by using a method that isn't well supported on that platform.

        1. Spearchucker Jones

          Nide.js is indeed supported on Windows.

          And is probably the best platform for it. IIS gives is threads.

    2. Ru
      Boffin

      Just use Erlang.

      Its what node aspires to be. Best case scenario is that it ends up half as good.

  2. Jean-Luc
    Thumb Up

    Great idea

    When I first learned Python it was precisely to write quick n dirty hacks on Windows without having to resort to VB. And because DOS commands are so limited.

    Had I been on Unix I probably woulda learned Bash shell scripting instead. So, at least for a scripting _language_, it makes lots of sense to support people who really need your help (because their platform is lacking). Good way to build up a following.

    Argument is less relevant to web framework implementations, but I still appreciate the inclusiveness.

  3. Stevie

    Yay!

    At least I won't be reading windows documentation that drones on about windows Me and Win 98 like I got thrown at me by the AMP triplets when I did an install this Xmas for giggles.

    Giggle count so far, not high. B0)

  4. Keep Refrigerated
    Coffee/keyboard

    “Cross-platform support future-proofs applications"

    This guy works for Microsoft, you know, that huge IT company that have gotten successful by making sure their software works on all platforms and providing official support for said platforms.

    1. Chemist

      Exactly

      The other quote :"Cross-platform support is essential to avoid being locked into a particular technology.”

      Like Office ?

  5. MacroRodent
    Thumb Down

    Hurting?

    “Ruby on Rails decided it wasn’t interested in Windows and that’s hurt Ruby in the long run,”

    How, exactly? Last I heard Ruby on Rails is quite popular. Since most web sites run Linux, FreeBSD or some other unix-style operating system, not supporting Windows is hardly a big impediment in this area.

    1. Michael Wojcik Silver badge

      And you can run Ruby on Rails on Windows; there's even a Windows installer package available for download from rubyonrails.org. I don't know what Dahl is going on about.

      I'm not a huge fan of Rails (terse constructs and architectural complexities are confusing for programmers who only use it occasionally; upgrades tend to introduce all sorts of compatibility issues), but it's far from the worst server-side environment I've seen, and it has done quite well.

      And while there are things I like about ECMAscript, prototype-style languages pose problems for large projects, and many supposed ECMAscript experts continue to make, and promulgate, major errors in their use of the language - which suggests to me that you really don't want your average code monkey building anything more than client-side eye candy with it.

  6. Forget It
    IT Angle

    But why?

    But why doesn't it work on Windows now?

    Does Windows insist on Blockin I/O?

    1. teknopaul

      it does work now

      its worked on windows for a while.

  7. Goat Jam
    Windows

    Lockin

    " Cross-platform support is essential to avoid being locked into a particular technology"

    Hmmm.

    Let's see how he feels about that when MS do their normal EEE trick and all the peeps who thought they were in cross platform nirvana discover that the have in fact painted themselves into a Windows corner.

    Again.

  8. Tom 7

    Windows support?

    I suppose that might come in handy for self-training.

    Oh hang on you can now edit JavaScript in the browser using Orion so that would make a good dev platform - until that’s re-written in Server Side JS.

    So you need windows cos you've got too much money? While its nice to see MS not (visibly) actively trying to stomp on JS they're really not needed.

    To quote from the article

    "Around 40 per cent of developers work on Windows, he explained, and it was unreasonable to expect them to drop that experience"??? So astronauts should use their walking experience in space?

    Microsoft (and others) have been fighting the possibilities of the internet for 20 years - it seems they've grounded the ambitions of a few pilots.

    1. Kubla Cant

      Why Windows?

      Well, everywhere I've worked over the past 20 years has had developers building and testing on Windows and deploying to Unix or Linux. Why don't the developers get with the zeitgeist and work on Linux? They don't have a choice. Their workstations are usually corporate standard builds, same as everybody else has, with a bit more memory and local admin privilege if they're lucky. (Unless they're contract developers, in which case their workstations came out of a skip. Me? Bitter?)

      The IT infrastructure people in all but the smallest or most feckless companies have expended immense efforts on taming Windows workstation deployment. I don't suppose they'll want to start again just because "cool guys develop on Linux".

  9. Anonymous Coward
    Anonymous Coward

    Until Node.JS runs under SPARC Solaris, it is not cross-platform

    " Cross-platform support is essential to avoid being locked into a particular technology"

    How about not being locked into Intel architecture?

    Node.JS is all about Google Lock-In, with their non-cross-platform JavaScript engine.

    1. teknopaul

      mizilla steps up

      Mozilla plan to get node running on their is VM. that should support more options

  10. david 63

    The important question...

    ...another server side language is needed because?

    Especially one based on Javascript.

    1. teknopaul

      event based java is complicated

      node is kind of a one trick pony. but what it does it does well.

  11. Destroy All Monsters Silver badge
    Facepalm

    The dismay

    Why JavaScript? WHY? What is interesting about that language in 2012??

    For some historical reason it shows up in webpages. It has also been standardized as ECMAScript. It uses { and }.

    So. Fracking. What.

    1. teknopaul

      short answer.

      closures. They make event driven code in a single thread easy to write.

  12. Richie 1

    All articles about node.js should link to

    Ex-Reg-columnist Ted Dziuba's article

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

  13. Robert Grant

    Javascript is an awesome language...

    ...for one. Way more OO than Java etc. Secondly the article author doesn't know what Node.JS really is; we've had Javascript on the server for years: http://www.mozilla.org/rhino/

    Node.JS is more than just that.

  14. toadwarrior
    Thumb Up

    good

    Porting node.js to windows should hoppefully help kill off node.js

  15. David Halko
    Meh

    RE: mozilla steps up

    teknopaul posts, "Mozilla should not need to have to "step up""

    The node.js platform should be made cross-platform compatible, to run on servers, instead of running a desktop javascript engine only on Intel servers.

    This is the platforms most significant drawback. Enterprise grade frameworks, toolkits, and languages run under UNIX, Windows, and Linux. V8 is fast, but not portable - 2 out of 3 ain't bad - but it ain't exactly good.

This topic is closed for new posts.

Other stories you might like