8 ms·
Interview with Mikeal Rogers of the Node.js Foundation
- stonith 9y ago"We are now at about 8 million estimated users and still growing at about 100 percent a year. We haven’t passed Java in terms of users yet, but by this time next year at the current growth, we will surpass." It's not clear whether 'user' means node.js developer or someone deploying the software or something else altogether. It's also not stated where this number came from, and I'd imagine it would be fairly difficult to measure anyway.
- sayurichick 9y agomeasure? maybe. But as someone who has been on node since v0.6, I have witness/experienced the improvements of the ecosystem over the years, as well as the number of articles/tutorials and projects. The community is growing faster than any other language out there so I wouldn't be surprised at all to see node surpass java (in whatever metric you want).
- jareds 9y agoIf my metric is value provided by software running in production I can't see Node overtaking 20 years of JAVA code by this time next year.
- jrs95 9y agoIf it is by installs, electron apps are probably making up a decent portion of that. I don't think Node is likely anywhere near beating Java in it's traditional enterprise use cases.
- nailer 9y agoWhy would they include installs of electron apps in node.js downloads?
- jrs95 9y agoThey never really said what 8 million users meant, but that just seemed to be one area in which Node has a strong presence that Java doesn't. But if they're just counting people downloading Node, they're getting a huge boost from people developing frontend JS stuff that are never actually deploying Node to production. So comparing that to Java isn't exactly fair.
- frozenport 9y agoOn the other side 16 million Java users sounds like a small amount. In the advertising literature you see claims of billions of devices running the environment, and the language is used is used in a few hundred million more embedded devices.
- mgkimsal 9y agoIt would only take a handful of users at one phone manufacturer to get a JRE on millions of devices. It was this sort of "billions of devices!" claim years ago that sort of rubbed me the wrong way. Going back to early/mid 2000s, that hype was all over the place, but could you install your own code on those devices? Generally not. Having a JRE on 500 million set-top boxes does very little for the Java developer population's ability to deploy code - it only help(s|ed) the developers employed at the set-top box company.
- coldtea 9y agoIt's also that those devices are generally devices noone cares about. Featurephones, set-top boxes, etc.
- coldtea 9y ago2 programmers can write some embedded software Java that runs on 1 billion devices.
- jbergstroem 9y agoPerhaps lesser known: you can find node.js download metrics here: https://nodejs.org/metrics/ https://nodejs.org/metrics/ - you can also download raw (anonymized) data to draw additional conclusions (link at page). If you find a bug, feel free to report it with our infra/build team: https://github.com/nodejs/build https://github.com/nodejs/build
- subhrm 9y agoNpm and it's cousins are 100x better than Maven and gang .
- jrs95 9y agoI'd take Maven/Gradle over pip though, personally.
- Tobani 9y agoMaven/Ivy/SBT/Gradle/etc. Are a lot older than NPM. They solved a problem that wasn't well solved before. They're certainly not perfect, but I'm not sure NPM would be where it is today if we as developers hadn't learned from what came before it. Sure they could be better, but there is a very large community relying on them, and the community is largely pre-complied code with different requirements from node.
- davnicwil 9y agoI've used both stacks for years. I have no complaints about Maven, to be honest, it just works and I don't really spend much time thinking about it as a result. On the other hand that's been less true for npm, hence why I've now switched over to yarn. Maybe I'm missing something though - 100x is a bold assertion and I guess you must have some very strong reasons for preferring npm's features over Maven to warrant that - would you mind explaining a bit more?
- jbooth 9y agoI'd go as far as to say that if you've spent enough hours with your build system that 100X is a meaningful assertion, you're spending too many hours in your damn build system.
- Illniyar 9y agoMy experience has been reverse. Maven is also used as a build system, which makes it's configuration considerably more complex and error prone then npm.
- abritinthebay 9y ago
- athenot 9y agoI generally like node.js and I'm no fan of Java for many reasons. But Java is a perfect match for many large corporate cultures because it espouses a similar abstract/bureaucratic mindset. I have a very hard time seeing node.js displacing Java in that environment.
- mercer 9y agoPerhaps with TypeScript (And Microsoft as a big corporate name behind it) Node is a little more acceptable?
- mysticmode 9y agoThat is good, but I'm concerned about the license as I'm building GPLv3 software. Some parts of NodeJS are Open SSL licensed which is GPL-incompatible.
- dankohn1 9y agoOpenSSL is in the process of relicensing to Apache-2.0, which is compatible with GPLv3. Node.js is downstream of OpenSSL, and will pick up the new license when the switchover is completed. https://www.openssl.org/blog/blog/2017/03/22/license/ https://www.openssl.org/blog/blog/2017/03/22/license/
- phd514 9y agoIf this turns out to be true, I hope it would be only because other JVM-based languages such as Kotlin and Clojure were taking market share from Java, not because Node.js were continuing to increase in popularity.
- placeybordeaux 9y agoThe new title "Interview with Mikeal Rogers of the Node.js Foundation" is way better than the previous one that suggested that node.js is going to surpass java in terms of number of users, without defining their terms.
- erikpukinskis 9y agoVery sad. The "healing" of the IO.js fork was needless destruction. IO.js had very different aims from Node, and should have been left to its own. They wanted to expand the language with "modern", Ruby-ish ammenities, rampant transpiling and heavy build systems. All of that is completely counter to the Node/JavaScript philosophy of simple runtimes, small modules, and universal runnability. Idiomatic JavaScript has been relegated to a shadowy subculture within the NPM community. It's as if the IO.js team couldn't conceive of a group of people who actually like debuggers and dislike build systems, so they had to ransack our package universe and install build systems everywhere, and make debugging impossible. Now we're stuck in a position of having to wait for the IO.js superstructure to weaken and sag, at which point we'll be able to re-fork Node off of IO.js and then have the two projects and real choice back again (hopefully with a new name that's legally protected from being taken over by a usurper language). Much slower, and much waste due to Rogers' and others' desire to consolidate political power. That all said, it might turn out quite well for the old school JavaScript community in the long run, because to do the fork, we'll have to do it properly with forkable package universes, which I suspect will be a leapfrog feature that will provide other yet-to-be-seen benefits. In that future, IO.js/ES6 could possibly be subsumed by our package system, and in having to play fair and be compared with side-by-side with JavaScript will be revealed to be the pointless syntactic sugar that it is. Unlike the IO.js activists, such a fork wouldn't seek to delete IO.js, but it would likely languish due to collapsing under the weight if its anti-architectural, style-based, conformist ideology. Brilliant play by the IO.js team though. They didn't care for JavaScript, so they created a new language. But then they got control of the Node brand and swapped JavaScript out for their own creation, stranding the JavaScript community in nowhere-land. Very clever. Much easier than convincing people to switch to IO.js on its own merits.
- ep103 9y agoI believe I followed that, until that last paragraph. Are you implying that IO.js wasn't javascript?
- erikpukinskis 9y agoNo, it's ES6. Class hierarchies, promises, etc, were liberately left out of JavaScript. ES6 is something, but it's not JavaScript. Sadly the brand was hijacked.
- bcg1 9y agoThis feels like deja vu, except that I can remember that we've heard all this before. Still waiting since 2008 or so for Ruby and Rails to eat Java's lunch. I have no problem with Ruby or Node BTW, but let's be real.
- abritinthebay 9y agoHe's mostly speaking in terms of momentum. The Ruby talk was vastly overstated - mostly because it was too early to say that. With Node the trend has been clear for a while and if current pace keeps up he'll be 100% correct. Even if it slows down it's looking like that would be the case in a couple of years at worst. That's not a knock on Java either way (tho I'm no fan) it's a testament to Node's growth.
- xkcd-sucks 9y agoHaving worked with nodejs for a few years, it's turned out to be pretty okay for prototyping web apps. But, developing these prototypes into robust software and maintaining them is terrible. My opinion is that a proliferation of low-quality, poorly maintained modules-- the "more packages in the Node.js ecosystem than any other"-- makes node unsuitable for production. It does help you "develop faster," but only for a few months per project. After that it's backfilling other people's shoddy code and diagnosing breaking changes between module patch versions. Also, the proliferation of incompatible JS language features, stacks of build systems etc. doesn't make things any easier.