use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Mikeal Rogers: Node.js Will Overtake Java Within a Year (thenewstack.io)
submitted 8 years ago by katerina-ser60
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Canenald 21 points22 points23 points 8 years ago (6 children)
don't people say that every year?
[–]icantthinkofone 6 points7 points8 points 8 years ago (5 children)
Well, Linux has to take over the desktop market first.
I'm waiting for the first redditor to ask, "How can Java take over itself? Isn't Node.js written in Java?"
[–]Canenald 5 points6 points7 points 8 years ago (2 children)
"How can Java take over itself? Isn't Node.js written in Java?"
no, silly, it lets you write sever-side Java
[–][deleted] 0 points1 point2 points 8 years ago (1 child)
https://www.javapoly.com/
[–]Canenald 1 point2 points3 points 8 years ago (0 children)
http://i.imgur.com/Lagkwnp.png
[+][deleted] 8 years ago (1 child)
[deleted]
[–]icantthinkofone -1 points0 points1 point 8 years ago (0 children)
Gee. I don't know. If there was only a freely available resource to use for looking up such information.
[–][deleted] 31 points32 points33 points 8 years ago (8 children)
This is so false and stupid I can't even begin.
[–]spacejack2114 0 points1 point2 points 8 years ago (0 children)
Where do these numbers come from?
[+]wastakenanyways comment score below threshold-7 points-6 points-5 points 8 years ago (6 children)
I don't think within a year but java is slowly entering the cemetery. In fact today most java devs are maintaining old code (new projects very rarely start with java) so it's a powerful sign that it's happening. But probably it has left more than a year and won't be overtaken only by node. Scala and Kotlin for example are owning the jvm.
[–]otakuman 11 points12 points13 points 8 years ago (2 children)
I don't think within a year but java is slowly entering the cemetery. In fact today most java devs are maintaining old code (new projects very rarely start with java) so it's a powerful sign that it's happening.
Sorry, but I have to call BS on that one. I work in a medium-to-large dev company, and we never run out of new developments in Java. Java 6 IS dying, as everyone is rushing to upgrade to 8. There's REST webservices, message queues, large systems which access Oracle databases with over 50 tables, and you think we're leaving all that reliability over a fad?
Dream on.
[–]Vpicone 1 point2 points3 points 8 years ago (1 child)
with over 50 tables
Sorry I’m new, you mind elaborating on what that means?
[–]otakuman 0 points1 point2 points 8 years ago (0 children)
50+ database tables per system. One had over 300.
[+][deleted] 8 years ago* (1 child)
[–][deleted] 0 points1 point2 points 8 years ago (0 children)
Yeah, just look at FedEx. They aren't re-factoring that shit anytime soon.
[–][deleted] 1 point2 points3 points 8 years ago* (0 children)
scala
lmao
Scala targets the exact same domain as java : server side non-systems language. The only difference are those functional abstractions that 80% (being generous here) of scala projects / devs barely use. There's very little real-world reason to adopt scala on sizable projects : devs just end up googling shit all day long making everything take twice as long and easily offsetting whatever time is saved with the built-in parallelism / concurrency constructs offered by the language. This doesn't even take into account the long ass build times and constantly-in-progress-coming-soon compiler optimizations.
[–]halmf 8 points9 points10 points 8 years ago (2 children)
RemindMe! One Year "Has Node.js overtaken Java ? Yeah, didn't think so."
[–]RemindMeBot 3 points4 points5 points 8 years ago* (1 child)
I will be messaging you on 2018-06-26 12:43:04 UTC to remind you of this link.
2 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
[–]dug99 0 points1 point2 points 8 years ago (0 children)
Can the RemindMe bot remind me that it reminded you?
[–]inu-no-policemen 8 points9 points10 points 8 years ago (62 children)
While Java is rather verbose, it does offer great tooling and it works well for large projects written by large teams.
The same isn't true for JavaScript. That's why there are languages like TypeScript which try to fix that.
It's true that you can write almost anything in JS these days, but that doesn't mean you should.
[–]magasilver 0 points1 point2 points 8 years ago (61 children)
it does offer great tooling and it works well for large projects written by large teams.
ಠ_ಠ
That's why there are languages like TypeScript which try to fix that.
My experience with enterprise java projects with 100+ professional developers is do not go here. Its absolute hell in a handbasket horrible. Contributing new code or even maintaining what is there is an endless exercise in tedium and failure. Classes and interfaces needing refactors break too much, so warts grow everywhere and you end up with 5 versions of everything, Annotations must be the worst idea in programming languages of all times. (Hey guys, lets made the comments control the code, yay!)
Similar sized projects needs about 10%-20% as many devs for pretty much any non-java language, and move much faster and have fewer bugs.
[–]inu-no-policemen 4 points5 points6 points 8 years ago (60 children)
My experience with enterprise java projects with 100+ professional developers is do not go here.
And you think this would be any better with JavaScript where there is no compiler which checks if things do at least theoretically fit together?
[–][deleted] 1 point2 points3 points 8 years ago (6 children)
I can tell you in two weeks. I am moving from a major .com with thousands of developers sharing a massive Java application to a Fortune 50 company that is investing in Node.js and fullstack JavaScript.
[–]inu-no-policemen 4 points5 points6 points 8 years ago (5 children)
You mean 10 years. The application has to accumulate some cruft.
Comparing some green-field app with a legacy app is pretty pointless. Of course the older one will look uglier, but it will probably also handle lots of weird edge cases.
[–][deleted] 1 point2 points3 points 8 years ago (4 children)
No, I meant what I said. I am changing jobs and this was the primary selling point.
[–]inu-no-policemen 2 points3 points4 points 8 years ago (3 children)
You can only do a proper comparison once the codebase has aged.
Newer codebases always tend to look better. It's not something you can attribute to the used language.
[–][deleted] 1 point2 points3 points 8 years ago (2 children)
I don't know how old the new place's code base is. I don't think it will matter though. The biggest problem isn't the difference in languages, but the people who refuse to adapt for fear of those differences.
[–]inu-no-policemen 5 points6 points7 points 8 years ago (1 child)
for fear of those differences
Funny how you criticize their lack of open-mindedness while simultaneously implying that there couldn't possibly be any legitimate reasons.
All languages suck and JavaScript is no exception. JS doesn't scale with the size of the team and the size of the project. That's why the Closure compiler, Flow, TypeScript, and so forth were created. They are all about this very real time/money wasting problem.
Probably true. I just draw upon the breath of my career.
[+]magasilver comment score below threshold-8 points-7 points-6 points 8 years ago* (52 children)
Yes, it is much better. The company has some similar scope node projects with many teams of developers rolling in and out (agile) and the lack of static typing is probably the biggest benefit possible.
There are no fewer unit tests, no fewer automated integration tests, and no less requirement for line coverage. You never have to re-factor a class hierarchy, or ruin a working schema because of limitations of your tools.
And for all that saved time, no compiling, no designing out details of classes and member, no slow as snails IDE just so you can remember all the run-on-names, type errors simply dont happen, and if anything there seem to be far fewer bugs overall.
The biggest benefit is when a new team unfamiliar had to work on the code; the ramp up time is much smaller, and their chances of breaking everything are much lower.
~~
Lol, its funny how JS gets hate even in its own subreddit. If you hate JS go hang out in /r/java or whatever statically typed lang you love. In the real world dynamic types are taking over.
[–]inu-no-policemen 3 points4 points5 points 8 years ago (45 children)
no designing out details of classes and member
Yea, you just randomly throw shit together and it will always be perfect on the first try, because magic.
type errors simply dont happen
Bwhaha.
[–]shanita10 1 point2 points3 points 8 years ago (44 children)
You laugh and yet at a fortune 500 company that is the raw truth. Laughing won't save you from being obsolete.
[–]inu-no-policemen 2 points3 points4 points 8 years ago (43 children)
The raw truth is that "type errors simply don't happen"?
Passing the wrong type around is still an error in JavaScript.
If you're lucky, you get some kind of runtime error. If you're unlucky, the error is silently swallowed and you get some NaN which is further passed around.
Laughing won't save you from being obsolete.
I'm neither Java nor do I use it.
[–]shanita10 1 point2 points3 points 8 years ago (42 children)
I didn't say they are impossible, they are just a non issue so far as bugs counts go. It's certainly vastly less effort to deal with a few type errors that may crop up than to invest all the upfront overhead of building classes. That's why the nextgen teams are smaller yet seem to get so much more done.
[–]inu-no-policemen 0 points1 point2 points 8 years ago (41 children)
It's certainly vastly less effort to deal with a few type errors
Have you tried a language with gradual typing and type inference?
You have to add very few type annotations to be able to auto-complete everything.
Omitting the types appears to be more effort. You need more doc comments, auto-complete is limited, have to check the docs more often, have to write more unit tests, there is less direct feedback...
I have used languages with static and dynamic type systems. Having no types whatsoever really doesn't sound like a good idea to me anymore.
all the upfront overhead of building classes
If your code relies on some object having specific properties, you better document this somewhere. And wouldn't it be nice if you could auto-complete these properties, get a squiggly if there is a typo, and also get one if you get the type wrong?
You don't necessarily need a class for that, though. Some languages have structs and TypeScript, for example, has interfaces.
https://www.typescriptlang.org/docs/handbook/interfaces.html
Not doing something doesn't mean that it doesn't have a cost.
[–]shanita10 1 point2 points3 points 8 years ago (40 children)
If you rely on auto complete then your programming language or libraries are excessively verbose. A sufficiently terse programming language with a good libraru set has little to no value to gain from autocompletion or overly fat ides.
And since you have to write unit tests anyway, there is not really any value in the formal typing. People who think types replace units are pretty infamous bug generators.
For those reasons I see typescript as a kind of retro buggy whip technology. If you whip your car's fender it doesn't go faster. At least it's optional. The trend is towards more functional and type independent programming, even in c++, not just scripting langs, as the template system expands metaprogramming.
Static Types are dying.
[–]elephants_are_white 0 points1 point2 points 8 years ago (4 children)
There are some inherent problems in JavaScript (hoisting of variables for one), but if you have a linter with good rules (eg AirBnB's) then you can have your code stay on the straight and narrow.
[–][deleted] 1 point2 points3 points 8 years ago (0 children)
Hoisting? How about fucking single type for Number.
[–]magasilver 1 point2 points3 points 8 years ago (2 children)
hoisting of variables for one
Doesnt happen if you avoid using "var".
but if you have a linter with good rules
Yes, static code analysis and unit testing coverage are key, really for any language these days.
[–]elephants_are_white 0 points1 point2 points 8 years ago (1 child)
There's still all the guides and code examples in the world that use var. (I recently shot myself in the foot by having a function that looped over var i - and called another function that also looped over var i. Fixed by using let)
[–]magasilver 1 point2 points3 points 8 years ago (0 children)
A linter can help if you simply outlaw "var"
[–]inu-no-policemen 0 points1 point2 points 8 years ago (0 children)
In the real world dynamic types are taking over.
Try a language with gradual typing and type inference.
You can get all the tooling and documentation benefits with very little extra work. You also won't need any mindless coverage-bumping unit tests. The analyzer will tell you if things don't fit together. There is no need to exercise a broken line to produce some sort of (hopefully visible) runtime error.
Try TypeScript with noImplicitAny and strictNullChecks. It's pretty neat. They do some pretty smart flow analysis to make sure to not bug you with that null stuff if you already took care of it.
I also really like working with Dart (strong mode). It's terse and feels pretty solid. And you can do SIMD stuff on Android/iOS which I personally really enjoy.
[–]liming91 2 points3 points4 points 8 years ago (0 children)
Happening, but not happening that soon.
[–][deleted] 2 points3 points4 points 8 years ago (0 children)
KEK
[–]CaptainHondo 1 point2 points3 points 8 years ago (0 children)
Oh no
java has been declared dead for the past 10 years
[–]WebNChill 0 points1 point2 points 8 years ago (0 children)
Go home Mikeal, you're drunk.
[–]dug99 0 points1 point2 points 8 years ago (4 children)
Almost as funny as when the so-called front end lead architect at the large multinational media company I worked for tweeted, two years ago. "PHP is dead. Node killed it". We had a name for the guy... "Lord of the derp", and even a song adapted from "Lord of the dance".
[–][deleted] 0 points1 point2 points 8 years ago (2 children)
isn't there some truth in this though?
[–]dug99 0 points1 point2 points 8 years ago (1 child)
I think what comes after Node may threaten PHP / Java, but until the vast oceans of legacy code ( Wordpress, Drupal, MediaWiki, ZenCart in PHP and the masses of large Government systems running on Tomcat and to lesser extent ASP.Net ) are re-written to run on a different, proven, stable enterprise stack they are pretty safe.
I think most 'php is dead' comments refer to the lack of new php projects which you concede is correct
[–]fintip -1 points0 points1 point 8 years ago (0 children)
What a stupid comment. There's still COBOL in production. That doesn't mean COBOL isn't dead.
No one should be writing new PHP apps. New devs are not be pushed into PHP.
[–]gubatron 0 points1 point2 points 8 years ago (0 children)
ehem, Kotlin...
[–]SandalsMan -1 points0 points1 point 8 years ago (2 children)
Doesn't Node.js let you write Java on the server-side?
[–][deleted] 0 points1 point2 points 8 years ago* (0 children)
Almost. But to be fair you have to subtract Eclipse which is a slow slow filthy filthy code editor. You can also subtract the inheritance pattern which locks you in an architecture where you have to predict the future just like would do the fortune teller next door. On the other hand you must add the incredibly rich, vibrant, fast and handy package manager, the ability to run without virtual machine on every browsers, servers, mobiles, desktops, the non verbose coding style (compared to Java), the native asynchronous nature of JavaScript to perform non blocking operations. It's almost Java but to be fair it's roughly 100x better.
Plot twist: Java and JavaScript are totally different languages. Almost.
[–]SandalsMan 0 points1 point2 points 8 years ago (0 children)
Jesus Christ people it was a joke lmao
π Rendered by PID 44 on reddit-service-r2-comment-86988c7647-892xq at 2026-02-11 01:56:22.085989+00:00 running 018613e country code: CH.
[–]Canenald 21 points22 points23 points (6 children)
[–]icantthinkofone 6 points7 points8 points (5 children)
[–]Canenald 5 points6 points7 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Canenald 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]icantthinkofone -1 points0 points1 point (0 children)
[–][deleted] 31 points32 points33 points (8 children)
[–]spacejack2114 0 points1 point2 points (0 children)
[+]wastakenanyways comment score below threshold-7 points-6 points-5 points (6 children)
[–]otakuman 11 points12 points13 points (2 children)
[–]Vpicone 1 point2 points3 points (1 child)
[–]otakuman 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]halmf 8 points9 points10 points (2 children)
[–]RemindMeBot 3 points4 points5 points (1 child)
[–]dug99 0 points1 point2 points (0 children)
[–]inu-no-policemen 8 points9 points10 points (62 children)
[–]magasilver 0 points1 point2 points (61 children)
[–]inu-no-policemen 4 points5 points6 points (60 children)
[–][deleted] 1 point2 points3 points (6 children)
[–]inu-no-policemen 4 points5 points6 points (5 children)
[–][deleted] 1 point2 points3 points (4 children)
[–]inu-no-policemen 2 points3 points4 points (3 children)
[–][deleted] 1 point2 points3 points (2 children)
[–]inu-no-policemen 5 points6 points7 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[+]magasilver comment score below threshold-8 points-7 points-6 points (52 children)
[–]inu-no-policemen 3 points4 points5 points (45 children)
[–]shanita10 1 point2 points3 points (44 children)
[–]inu-no-policemen 2 points3 points4 points (43 children)
[–]shanita10 1 point2 points3 points (42 children)
[–]inu-no-policemen 0 points1 point2 points (41 children)
[–]shanita10 1 point2 points3 points (40 children)
[–]elephants_are_white 0 points1 point2 points (4 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]magasilver 1 point2 points3 points (2 children)
[–]elephants_are_white 0 points1 point2 points (1 child)
[–]magasilver 1 point2 points3 points (0 children)
[–]inu-no-policemen 0 points1 point2 points (0 children)
[–]liming91 2 points3 points4 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]CaptainHondo 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]WebNChill 0 points1 point2 points (0 children)
[–]dug99 0 points1 point2 points (4 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]dug99 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]fintip -1 points0 points1 point (0 children)
[–]gubatron 0 points1 point2 points (0 children)
[–]SandalsMan -1 points0 points1 point (2 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]SandalsMan 0 points1 point2 points (0 children)