JavaScript Overtakes Java As Most Popular Programming Language (venturebeat.com) 225
An anonymous reader writes: Today, HackerRank released the 2019 edition of its annual Developer Skills Report (PDF), surveying over 71,000 software developers from more than 100 countries. Every single industry requires software developers, meaning competition for technical talent is fierce. The idea here is to help everyone from CEOs and executives to hiring managers and recruiters understand the developers they're pursuing. We've put together a quick video to summarize the results. HackerRank asked developers which programming languages they knew and which ones they wanted to learn. Seventy-three percent of developers said they knew JavaScript in 2018, up from 66 percent in 2017. JavaScript was 2018's most well-known language, compared to Java in 2017.
BS (Score:5, Insightful)
Re:BS (Score:5, Insightful)
Why not, the measure is in "do you know this language?"
Java was the language most chosen in CS1. And bootcamp companies trying to place people in software contracting firm were mostly teaching Java for 15 years. It is not surprising that Java was up there in the "do you know this language?" ranking.
Re: (Score:2)
Re:BS (Score:4, Insightful)
Statistics isn't in your "Top 10 things I Understand" list, apparently
Re: (Score:2)
Re: (Score:2)
The topic is "programming languages".
You just said "Javascript is a scripting LANGUAGE".
You just lost whatever argument thread you wanted to start.
Re: (Score:2)
I hate to rock your paradigm, but PHP Is indeed a programming language.
Re: (Score:2)
Java is a clutzy, cumbersome, overly verbose language annoying to use, only gained life through marketing and whole bunch of subroutines you could run from Java libraries, pre done algorithms, that if you had to write from scratch, you would scrap Java, the only thing that kept Java going was the Java libraries. Ruby writes much nicer, far more compact code and is far superior to Java, just lacks the massive libraries of pre-done code, which is not that necessary for Ruby because it is faster to code with,
Re: (Score:2)
PS can't resist, for any unemployed journalists, looking to 'learn to code' (heh, heh), Ruby is the language for you, easy to learn, easy to code and quite popular, so unemployed SJW journos, "Learn To Code Ruby" ;D.
Re: (Score:2)
the only thing that kept Java going was the Java libraries
Don't underestimate the value of those.
Re: (Score:2)
Re: (Score:2)
I remember Java was added to my undergraduate CS classes (introduction and fundamental) right after I completed them back in 1994 and 1995 when others and I were learning Pascal, C++, C, ASM, etc.
Re: (Score:3, Interesting)
Re:BS (Score:5, Funny)
Re: (Score:2)
Apparently JavaScript is the new Java.
It's almost as if it's following a script.
Re: (Score:2)
Anecdotally I can assure you that javascript is EXTREMELY popular, it is so popular in fact that entire classes of job description simply omit it as an assumed requirement just like the ability to handle a few windows systems is assumed when hiring a Unix guy.
Re: (Score:2)
Oh, I love Python. Their cheese shop sketch [youtube.com] is hilarious.
Re: (Score:3)
It doesn't do anything that other languages don't, probably better, its syntax is weird, and it uses "significant white space", which most programmers I know do not like.
Re: (Score:3)
Python has been around for a very long time, and frankly, its popularity is inexplicable.
One can conclude that fights between the tab and space crowds might be keeping programmers away from all other languages.
Re: (Score:3)
No less inexplicable than java itself but when you are right you are right.
There is essentially nothing Python does better than Perl other than utilize libraries, api's, and tutorials written by people inexplicably being taught python now rather than Perl. Perl is faster when written well, more comprehensive, more flexible, is more internally consistent, and with a style guideline (which can even be automatically applied for you) its easier to read.
My only explanation is that a bunch of ignorant people who
Re:BS (Score:4, Insightful)
Did it ever occur you that some people simply prefer one language over the other?
I find PERL incomprehensible ...
And you find Python hard to read ...
Re: (Score:3, Interesting)
Python has been around for a very long time, and frankly, its popularity is inexplicable.
It doesn't do anything that other languages don't, probably better, its syntax is weird, and it uses "significant white space", which most programmers I know do not like.
Not sure if you were serious, but I'll bite.
I've programmed in quite a bunch of languages (in somewhat chronological order, BBC Basic, QBasic, Pascal, Perl, Java, C#, Prolog, C++, Python, R, JS/ES6) and I absolutely prefer python.
The brackets vs whitespace thing is a big red herring. It enforces clean indentation and reduces clutter, which is nice. It makes copy pasting sometimes a bit more difficult, which is annoying. Most of the time, I don't care.
The real benefits of python, imho, are:
- a mostly sane
Re: (Score:2)
Python has been around for a very long time, and frankly, its popularity is inexplicable.
Not really. When it rose to popularity, its only competitor was Perl. People were rather polarized back then (good thing that we all agree nowadays, isn't it?) and to someone who didn't know Perl, it did look like a far worse clusterfsck than JavaScript does today. Python was the clean, thought-through option.
When Ruby appeared, many Pythonistas saw the beauty of it but Python had already built up a considerable community and echo system. Had Ruby appeared earlier, I guess it could have been different.
Now,
Re:BS (Score:5, Insightful)
Being most schools teach their Computer Science classes with Java for about 20 years now, it makes sense that Java has been #1 for a while.
Java is not my favorite language and I really do not like it that much. However as an Application Architect when given a task to design an enterprise level application. I really need to fall back to recommend Java J2EE for its design. For the following reasons.
1. Platform Independence, with .NET you are stuck with a Microsoft Server back end, which isn't horrible, however a Linux servers don't have the big license cost, and can be configured to give far more resources to my App. And if we need Windows servers, it will still work.
2. Developer base, we can always find developers who can code in Java, and if an employee leaves the turn over pain is lessen.
3. General Industry support, Unlike Python or Node.JS where you normally write you web server as part of your program, J2EE works off well supported Application Servers such as Tomcat or Glassfish. Where having to reinvent a lot of communication protocol isn't needed, and we can find Administrators who can deal with such systems.
4. It is easier on your marketing team. Java is the safe bet that will not get you into a holy war.
5. It has most of the modern features implemented. So unlike Node.JS where I hit my head into a wall when I find out it isn't multi-threaded, and I needed the App to ramp up, or needing a driver to connect to the database I don't need to go and install a third party add-in. Making installing and deploying after many years easier.
Now that said, I don't care for coding in Java that much, I actually prefer python myself. However if given a task such as an enterprise solution I will normally fall to Java, or .NET if it is a strictly Windows Shop.
Javascript, being #1 now doesn't surprise me at all. First off Node.JS is becoming rather popular so you are coding your server side in JS. And for nearly all Web Based (and many mobile apps that are web based as well) will use Javascript for the front end, then you have your pick what to do in the back end. It is much like how the more popular political party will loose the election because of a 3rd party candidate. The competition may hurt your overall rankings.
Re: (Score:2)
Sounds great on paper, but MS often sneaks in tricks and gimmicks that lean you to
Re: (Score:2)
At first glance, I 100% agree with this point and wish I had mod points. This is what I fear about Microsoft sooo much. One day framework XYZ is the future, the next day it's obsolete.
But then, I realized this is a discussion about JavaScript, which is the one language that is far far worse in this aspect. Frameworks about 6 months old are considered obsolete and left to die. We chose SystemJS 2 years ago because it was super popular,, and it's like nobody's ever heard of it today. We thought we were i
Re: (Score:2)
they are on Angular 6 now.
7
Keep up! :)
Comment removed (Score:5, Insightful)
Re:BS (Score:5, Interesting)
Well put. Java has really gone beyond being the new COBOL (it was that 15-10 years ago) to being what everyone uses for back-end systems. The shift to distributed systems (cloud or otherwise) meant that performance on any given system nearly vanished as a consideration, and C++ along with it in that space. Plus, phones grew powerful enough where you might as well use Java there too. With Microsoft losing its dominance, "Java and C#" has become "Java".
Javascript totally dominates front-end work, so it's no surprise, with the rise of "full stack devs" that it's growing for back-end work as well. I'm quite happy that I'll retire before I'm faced with that.
You cannot possibly miss the constant streams of job offers from electrical utilities, medical corporations, the large chain stores, telephone companies, and so on, requiring grunt programmers who do Java.
Not to mention Amazon, Google, Facebook, and Netflix.
Re: (Score:3)
And yes, it is a surprise that JavaScript has been growing for back-end. It's an awful language and it's slow (even with JIT and other compilers).
Re: (Score:2)
In Europe it is ...
And if you count users using the back ends, then yes: Java serves the most. Even if it is Scala or Groovy.
Re: (Score:3)
Speed difference between Java and C++ is in the real world quite insignificant.
Only toy programs or very specialized ones are faster in C++ and maintainable etc.
Re: (Score:2)
Anything depending on anything approaching real-time responses cannot use Java.
For anything in robotics, it's absolutely useless -- or anything that runs a car, a tractor or a rocket ship. Medical devices are the same. The only game of significance ever written in Java was Minecraft. These aren't niche industries in my mind, The only time you would want to use Java for something is if your life didn't depend on it, in which case it's probably a toy.
Re: (Score:2)
and openjdk you can write embedded control software in Java too.
It's only a matter of time before my antilock brakes pause for garbage collection, I guess.
Re: (Score:2)
All but the very latest/greatest anti-lock brakes degrade gracefully to regular brakes.
Re: (Score:2)
The only reason Javascript has caught up is because the web, a mostly unrelated system, has grown up to be larger than all the enterprise software suites put together. (And of course the web is used to access the back-ends, so as it becomes more and more Javascript heavy, it'll increase use in the same places that are heavily Java based too.)
Yeah, and most web developers I know hate javascript and wish something else had become the clientside language of choice... but JavaScript does dominate on the web... ... but, even more than javascript, far more people know "HTML" (if we're including scripting languages, can we also include markup languages)? Almost everyone who knows javascript will know HTML- and even many people who don't do any programming know some HTML.
Re: (Score:2)
(if we're including scripting languages, can we also include markup languages)?
no. scripting languages are still programming languages. they are just interpreted on the fly rather than compiled or byte-compiled.
html is a layout language. if you need conditional statements, branching, or to control the flow of logic in any other way, you fall back to javascript precisely because html is not a programming language.
Re: (Score:2)
Many of them can actually be compiled as well.
Re: (Score:2)
Interpreted languages are still programming languages. Javascript qualifies with NodeJS. Markup languages aren't for instructing computers at all.
Do things like shell script qualify? Of course not.
Re: (Score:3)
no no - those newbie's finally understood that Java is NOT Javascript. And all those who thought they were doing Java moved their checkbox to the correct column.
Re: (Score:2)
There is no way Java was ever #1 in the first place. Give me a break.
Java was an OK language to learn basics. I always had trouble with any Java library I found did 3/4 of what I needed it to do and I had to dig for another library that also did 3/4 of what I wanted and stitch the two together. Though it has been 10+ years since I did any notable Java programming...
Re: (Score:2)
Java was an OK language to learn basics. I always had trouble with any Java library I found did 3/4 of what I needed it to do and I had to dig for another library that also did 3/4 of what I wanted and stitch the two together.
The same can apply for just about any programming language.
I've found that Spring, Apache Commons and Hibernate cover most of what I need that isn't worth just writing myself.
Re: (Score:2)
I had to look up "Crying Rolling On the Floor Laughing" because at first I thought it was for "Crapping Right On the Floor Level".
Re: (Score:2)
Well, that's what I found when looking up "CROFL": Crying.
Makes sense to me (Score:5, Interesting)
I'm surprised Java has held on this long, but there is a ton of enterprise Java development still out there... it seems like in recent years stuff like node.js has really started to take over server development, and Javascript is slowly spreading to other realms as well.
It's funny how languages that are never favorites of the purists seem to always end up at the top...
Re: (Score:2)
Re: (Score:2)
The demise of Java has been writing on the wall since Oracle acquired Sun and didn't open source it. You just KNEW that once Oracle blew through all the profit from Sun hardware they had optimized their product for, they'd be back at the well to monetize Java. Recently that's exactly what they've done by starting to charge for their flagship Java environment.
I expect the further fragmentation of the Java world (and the eventual death of Oracle too) because of this. Oracle will kill java and then the fam
Re:Makes sense to me (Score:4, Informative)
The demise of Java has been writing on the wall since Oracle acquired Sun and didn't open source it.
Who didn't open source what? Sun open sourced Java BEFORE Oracle bought the whole kit and kaboodle. The rumors of Java's demise have been nonsensical ridiculousness. I hate Oracle as much as anyone else, but I don't have any complaints about its stewardship of Java. If Oracle does too bad a job, there are other companies fully able to pick up the ball and run with it. And with nothing more than a name change, there is nothing that Oracle can do about it.
Recently that's exactly what they've done by starting to charge for their flagship Java environment.
Oracle is charging its commercial customers more, but the rest of the world continues on like nothing is happening. Also, OpenJDK (which is now identical to Oracle's JDK) will always remain free from the Oracle licensing machine.
Java's future is still bright.
Re: (Score:2)
Including Oracle.
Ellison stole SQL from IBM, his former employer.
Re: (Score:3)
You lay down with Oracle, you wake up with software audits (and fleas).
Re: (Score:2)
Re: (Score:2)
it seems like in recent years stuff like node.js has really started to take over server development, and Javascript is slowly spreading to other realms as well.
Like what? [I'm sincerely curious.]
Also I find it perverse that node.js is taking over server development. Really? At what scale? [Again, sincerely curious.]
Pay attention to gestalt of the industry (Score:2)
Like what? [I'm sincerely curious.]
Here I assume you are referring to "Javascript slowly spreading to other realms as well". Have you not read about Electron apps recently? Or used apps like Slack which are based upon Electron...
Also I find it perverse that node.js is taking over server development. Really? At what scale?
Perhaps you have heard of a little company called Netflix? [netguru.com]
You can also get a sense of it from StackOverflow [stackoverflow.com].
I don't do much server development these days myself, or any node.js. But an
Re: (Score:2)
I think that is showing the continued strong performance of Python taking over some roles Javascript has been taking over.
I would guess that the Python upswing can largely be attributed to it being very popular in machine learning.
Javascript even more impressive then... (Score:2)
I appreciate you explaining why you are posting AC on this...
Your link to the StackOverflow, while good, lacks insight as to the use of their language or how long the language has been around. You could have, for instance, a language that has been around for a long time and so many questions have been asked and answered that there's no need to ask new questions.
Given how long Javascript has been around, the trend line it has for number of questions is even more impressive!
I think comparing it to Java though
Re: (Score:2)
I wonder if Android app development boosted Java's numbers. I was looking into developing some apps for Android, but it requires Java. I haven't programmed Java in decades so I'd need to first get up to speed on Java before getting into Android application development.
Re: (Score:2)
That also is in decline (Score:2)
I'm sure Android development pushed Java numbers up quite a bit. With Google transitioning that to Kotlin, that's also part of the reason the Java numbers are in decline, though it doesn't help explain why it's Javascript that has overtaken it...
Re: (Score:2)
I haven't programmed Java in decades so I'd need to first get up to speed on Java before getting into Android application development. ... so rather start sooner with your app idea than later.
No you haven't. Java is piss easy, that is why everyone uses it. You have to dig into the Android APIs
Re: (Score:3)
Your favorite or best language rarely ever makes it to the top of the list. For the primary reason that your favorite is often most closely connected to how you want to work, which is suggestive.
The winning languages tend to be mediocre but doesn't completely suck. If you have to code with other developers the choice of language is a compromise with the other developers on your team. So no one gets what they want but they get with what they live with.
Take aways (Score:2)
News from the survey
#1 Botique languages are less well known than Perl and include Go, Kotlin, Clojure, Rust and Erlang .NET Core and maybe React for getting a job
#2 Survey does not ask, what languages did you use on a large project? A more important measure of languages to know.
#3 Learn Python and TypeScript
#4 Learn Angular, React, ASP.net,
#5 Negatives at work transcending tech: too many interruptions (pings slack, hipchat, meeting invites), estimates treated as deadlines, everything is top priority
#6 Sen
Re: (Score:2)
Matlab (Score:2)
Remember Madge at the nail salon talking up Palmolive dish detergent?
Madge: You're soaking in it! Salon patron: (jerks hands out of liquid)
The front-end of MATLAB is written in Java. MATLAB is a scripting environment for Java -- you can create instances of Java classes, assign them to MATLAB variables and invoke their methods. Java arrays of numeric types are more-or-less compatible with MATLAB "matrix" variables. I tell people using MATLAB, "Java, you're programming with it!" (person jerks hands a
Re: (Score:2)
From Java? No. Doesn't tick any of the boxes that made Java the major Enterprise language
Indeed, consider for example this comparison:
Has factory factories: [X] Java [ ] Node.js
Has factory factory factories: [X] Java [ ] Node.js
Has final property object factory factory observer delegate: [X] Java [ ] Node.js
None of the boxes at all.
Now that's just sad.... (Score:2)
Java Script is more popular than Java?
No! It's not true! It can't be true!
Search your feelings... You KNOW it's true....
Re: (Score:3)
I'm the skipper of a tanker . . . (Score:2)
you ignorant clod!
Re: (Score:2)
I searched my feelings, and they are decidedly mixed:
"Great, finally the Grand Verbose Mediocrity that is Java is getting pushed aside by something more modern and eleg---wait, no, ah crap, it's JavaScript"
Two things I learned today (Score:2, Funny)
JavaScript is the #1 most known language on the planet. https://venturebeat.com/2019/0... [venturebeat.com]
"Black Panther" is the best movie of all time according to Rotten Tomatoes https://www.rottentomatoes.com... [rottentomatoes.com]
It is amazing what you can learn on the Internet.
Re: (Score:3, Insightful)
Re: (Score:2)
Let me guess: you are a snowflake and you are upset because I dare to question why on the "BEST MOVIES OF ALL TIME", the out of the top 10 films there are Black Panther (#1), Lady Bird (#3), Get Out (#5), BlackKKlansman (#6), Mad Max: Fury Road (#7). My point is that anyone online poll/rating is GAMED by those with an agenda, whether it be social, political or financial. Do you see a theme of the movies? It is the same thing with these "top languages" polls. There are whatever
Yuck (Score:4, Interesting)
I feel so old and outdated! (Score:4, Informative)
Re:I feel so old and outdated! (Score:5, Insightful)
Hey, if it's working for you, that's great.
But yes, you are outdated. I don't mean that in an offensive way at all, but your views on things such as "scripts" vs "real programs" are many, many years out of date (and objectively wrong). Technology has advanced, tools have improved, the state of the art has matured.
There's more opportunity than any of us can get to, so we each have to find a niche to play in, and if you've found yours, then more power to you. But I can't help but wonder if you might not have as good an understanding of the state of things as you think..
(this is coming from someone who once was "sure" that I'd never make the jump to C because there was just no way I was going to give up the performance and control of assembly)
Re: (Score:3)
Re: (Score:3)
I think most of the flame war between different language proponents really comes down to different use cases.
If you're mostly doing web stuff then security and uh... web-stuff... is your main concern. The bare metal languages like C/C++ must seem like nuclear power plants run by squirrels, powerful but a disaster waiting to happen.
If you're doing any kind of number crunching or large scale data management, then things are different. Often, the user is trusted to handle the data so security is not an issue f
Re: (Score:2)
Re: (Score:3)
As I continue to develop my new data management system in that archaic language C++. I am one of those Luddites who believes that 'scripts' are for doing once-in-a-while tasks that need to be written quickly or updated often. Real programs are written in Assembly or the next best thing...C or C++.
Continue to develop? Hey, maybe if you'd used Python or Java then you'd have finished your development already!
Re: (Score:2)
Re: (Score:2)
I agree in general, though as usual "it depends".
Polyglocy also has its costs. Wrapping C++ code to be able to use it from Python is a non-zero cost in effort and maintenance, and so is mastery of several languages and frameworks. That cost should be taken into account and it may or may not sway the balance.
Re: (Score:2)
Return to Functional Programming? (Score:2)
OK, feel free to ridicule me on everything I'm getting wrong as I'm a C#/C++/Fortran developer, the only JavaScript I've done is enough for the front end of a simple web game a few years back...
What I know with JavaScript is you have a lot of different ways to use the language, but it was meant to be to C what Java is to C++ but for web development. Or provide something like C's function oriented style that looks more like Java.
So does this mean we are reverting (progressing? subsiding? meh...) back to fun
Re: (Score:2)
"Back" to functional programming?
Functional programming was never big, historically. Javascript, while not a purely functional language, is more widely used as a functional language than any other language in history. No other functional language has "made it big," beyond a few radical believers.
Remember XSLT? That's probably the number 2 most widely used functional language.
Before that, there was only the RPN calculator. Everything else was procedural.
Screwdrivers (Score:2)
While we're at it, let's talk about the most popular screwdriver brands in the world, too! https://vincerants.com/the+mos... [vincerants.com]
TypeScript turns JavaScript into Java (Score:2)
Well, almost.
But as it slowly dawns on the JavaScript community that statically declared types are a really useful concept, TypeScript et. al. are becoming much more popular.
So eventually you will see JavaScript as a Java like language for practical purposes. A surreal, twisted Java for sure, but with the three most important features Java introduced to the mainstream. Garbage collection, type safety, and, using incredibly complex compilers, efficiently compiled code that is not C.
Re:Good (Score:4, Insightful)
Re: (Score:2)
JavaScript is the best language for learning?
Yes. To get up and running with learning the basics, it is, especially since it's syntax is very similar to many other programming languages, like C and C++. That's the biggest reason I'd choose that as a learning language over Python. You can learn conditional logic, loops, arrays, strings, variable scope, functions, order of precedence, etc., without having to worry about learning strong variable typing, memory allocation, pointers or advanced data structures. Those subjects are all important, but they're
Re: (Score:2)
No. Effin' no. The callback concept of Javascript is alien to pretty much ANY other language on the planet.
Re: (Score:3)
Well, it's the best language for learning a few swears you didn't think you had inside you.
Re: (Score:2)
It is extremely accessible..
So is meth.
Re: (Score:2)
I spent over a decade developing in Java, from v1.18 to v6+. The last project was a large Spring app for digital inventory.
Java was never a good choice for web development, and the evidence of that was: J2EE + frameworks. J2EE was unmanageable without a framework, and the frameworks themselves were huge and burdensome. And compilation...bleh!
JavaScript is quick and light for whipping up a web application. It's drawback is the lack of static types, but there is TypeScript if you want it (not perfect, but
Re: (Score:2)
I wouldn't call it a good learning language. But it doesn't require additional tools to be installed.
Re: (Score:2)
This is one aspect of "Modern Languages" which I hate.
npm, cargo, pip...
These package managers for additional libraries are really a step back. I like to avoid 3rd party libraries as much as possible, because they become a weak part in the long term support of your application.
When developing, especially if the language is new to you, trying different variants to see which library works best for you means you may have 2 or 3 libraries that do the same thing installed, and if you are not doing proper documen
Re: (Score:2)
So very much this! Well evolved, tested, tried, fixed, documented, supported go-to libraries with a developed community and user base. The path to good sleep at night.
I too prefer that to having my application break because I used some random developer's left-padding component that I found in a repository.
Java is really not bad in this light. Remember, it is the tractor that pulls the race car out from the bushes when it has slid off the track.
Hmm. (Score:2)
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Sure, you need the compiler and jvm to run, just like you need a giant browser to run JS on the client, or node and all its friends to run it on the server. Pretty comparable.
Re: (Score:3)
10 PRINT "Hello World"
This will always be the easiest, especially when the interpreter is built into ROM on a machine that boots in a few milliseconds. Nothing will ever top the Commodore 64 for ease of unpack box -> hello world.
Re: (Score:2)
Nothing will ever top the Commodore 64 for ease of unpack box -> hello world.
The problem with the C64 comes when you need to load that code from a 1541. Might as well take a coffee break. ;-)
Re: (Score:2)
Useful programs are not written in Java. Java is for toys and other non-critical stuff.
I've personally worked on Java banking systems and financial applications. Pretty critical non-toy stuff.
You seem to be confused about the difference between source->bytecode compilation time, jit time, etc. With a jit system, the bytecode is effectively compiled to native machine code on the fly - first time a path is hit it gets compiled, then afterwards it just runs. Java code is *fast*.
Re: (Score:3)
Re: (Score:2)
I blame google. They have a huge browser market share. If they had introduced a second Chrome programming language that could be used instead of JavaScript then all of the other browser makers probably would've been forced to adopt it as well.