Slashdot Mirror


JavaScript Overtakes Java As Most Popular Programming Language (venturebeat.com)

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.

36 of 225 comments (clear)

  1. BS by 110010001000 · · Score: 5, Insightful

    There is no way Java was ever #1 in the first place. Give me a break.

    1. Re:BS by godrik · · 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.

    2. Re:BS by The+Original+CDR · · Score: 2, Interesting

      The community colleges did a good job at pumping out as many Java programmers as fast as possible over the years. Now Python is the new Java.

    3. Re:BS by 110010001000 · · Score: 4, Funny

      Apparently JavaScript is the new Java.

    4. Re:BS by Anonymous Coward · · Score: 4, Insightful

      Statistics isn't in your "Top 10 things I Understand" list, apparently

    5. Re:BS by jellomizer · · 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.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    6. Re:BS by squiggleslash · · Score: 4, Insightful

      If you want to work in a Fortune 500 company making modifications to the giant collection of back end tools and servers which do everything from push out bills to send reports to management, then you almost certainly will need to know Java just as back in the days of the Commodore 64 and Sinclair Spectrum the dominant language wasn't BASIC - even though all your nerd friends knew it - but COBOL.

      Java runs almost everything of importance in 2019. 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.)

      I must admit to being surprised to have to explain this every time the subject comes up. Half of Slashdot thinks that Java is a web plug-in that had poor security and was superseded by Flash. Has nobody here looked for a job yet? 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.

      And I haven't even mentioned Android yet.

      Small and midsized companies are using PHP, node.js, and whatever the scripting language of the week is, for a huge amount of their work, mixed with .NET on the back-end, but once you get bigger than that nothing else is in the room. Except perhaps some legacy COBOL systems.

      --
      You are not alone. This is not normal. None of this is normal.
    7. Re:BS by ripvlan · · Score: 2

      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.

    8. Re:BS by lgw · · Score: 4, 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.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    9. Re:BS by Tablizer · · Score: 2

      Microsoft .NET Core breaks away from the "Windows Only" mold and literally gives us a near-universal runtime where solutions can run on the backend of your choice. And it's all FOSS, including their editor, Visual Studio Code, which many developers have made their de facto JavaScript editor. All this while Oracle is rounding up its corporate customers and fleecing them for even more licensing fees for any Java implementations.

      Sounds great on paper, but MS often sneaks in tricks and gimmicks that lean you toward Windows without you even knowing it (until it's too late). MS's 30+ year reputation for vendor-lockin shenanigans will be hard for IT shops forget.

      Granted, Oracle also has been playing games, jerking around with Java on the legal front, and that's part of the reason for the growth of Python.

    10. Re:BS by Jane+Q.+Public · · Score: 2

      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.

    11. Re:BS by Jane+Q.+Public · · Score: 2

      Java is not "what everyone uses for back-end systems". In fact its a notable minority.

      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).

    12. Re:BS by Rockoon · · Score: 2

      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.

      --
      "His name was James Damore."
    13. Re:BS by Shaitan · · Score: 2

      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 thought Perl was dead because Perl 6 never took off and gained their impression of Perl legibility from script kiddies coding CGI are responsible for pushing out Python.

      All that aside there is no denying reality and I'm starting to force myself to pull Python out of my bag in place of Perl these days. Despite contributors to cpan doing what they can to fill the holes it is just an uphill battle in this world of cloud tools and apis everywhere when nobody releases a Perl version of anything.

    14. Re:BS by mrvan · · Score: 2, 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 language, good OO and functional support without forcing a paradigm on you,
      - a very good standard library and very good external packages for almost everything,
      - all the performance you want by dropping a module down to C without the rest of the program noticing.( I don't write a lot of C myself, but I certainly profit from the good folks who wrote parts of the standard library in C and who wrote packages like numpy, spacy, pytorch etc.)
      - it's relatively free of gotchas or weird syntax and exceptions, invites a clean coding style, and has a very nice community and documentation.
      - I also believe dynamic typing with type hints is actually superior to static typing, as with C++/Java you write so much useless class and interface boilerplate that only distracts.
      - I also love the ease of doing things like function pointers, decorators, list/dict expressions and unpacking, generators/iterators, catch-all arguments, etc etc.

      Now, all languages are compromises and some languages are better at some of these points, but overall I just love the ease and productivity of working in python.

      [So long, Guido, and thanks for all the fish!]

    15. Re:BS by angel'o'sphere · · Score: 3, 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 ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    16. Re:BS by angel'o'sphere · · Score: 2

      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.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  2. Makes sense to me by SuperKendall · · Score: 4, 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...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Makes sense to me by jellomizer · · Score: 2

      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.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:Makes sense to me by cordovaCon83 · · Score: 2

      IMHO, Java should be a last choice for Android application development. Few clients really mean that they want an Android-only application where there are other SDK's that provide us ways to develop for multiple platforms at once. You might still have to get under the hood and write a little of Java once the final project is built. I'm personally interested in Xamarin, but that SDK plays to my strengths. Then there's Cordova and React Native, if your strength is in javascript languages. There are other options too, which maybe others would like to discuss. Perhaps you are right, Android has been artificially inflating those numbers a bit while other languages have been racing to join the Android space.

    3. Re:Makes sense to me by StormReaver · · Score: 3, 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.

  3. Re:Good by 110010001000 · · Score: 3, Insightful

    JavaScript is the best language for learning? Christ.

  4. Two things I learned today by 110010001000 · · Score: 2, Funny

    Two things I learned today:

    JavaScript is the #1 most known language on the planet. https://venturebeat.com/2019/0...
    "Black Panther" is the best movie of all time according to Rotten Tomatoes https://www.rottentomatoes.com...

    It is amazing what you can learn on the Internet.

    1. Re:Two things I learned today by 110010001000 · · Score: 2, Insightful

      Let me guess: you are a SJW 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 the person selling the report wants the answer to be. It doesn't reflect any sort of reality and it is 100% dishonest. That is why it upsets me so much. So take your "guesses" and shove it.

  5. Yuck by DarkRookie2 · · Score: 3, Interesting

    JS was the reason I never did get into webdev besides some minor pages that just use CSS and HTML.

    --
    http://progressquest.com/spoltog.php?name=Son+Of+Son+Of+DarkRookie
  6. Take aways by Anonymous Coward · · Score: 2

    News from the survey

    #1 Botique languages are less well known than Perl and include Go, Kotlin, Clojure, Rust and Erlang
    #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, .NET Core and maybe React for getting a job
    #5 Negatives at work transcending tech: too many interruptions (pings slack, hipchat, meeting invites), estimates treated as deadlines, everything is top priority
    #6 Senior developers want more money, junior developers want technology skill advancement

    Like the use of 'purists' when describing programming language preference. Fits well.

    C# purists in charge of the language are turning it into a a mess of thousands of cute features for language lawyers. (the maze of twisty passages all alike language)

    Learn languages and frameworks for which you can actually get a job today.

  7. I feel so old and outdated! by DidgetMaster · · Score: 3, Informative

    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++. Of course, all the young programmers can't believe the demo when my system can do something in half a second that usually takes 10 times longer using something else.

    1. Re:I feel so old and outdated! by dbrueck · · Score: 4, 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)

    2. Re:I feel so old and outdated! by ath1901 · · Score: 2

      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 for my application. Presentation (web-stuff, reports etc) is also less relevant since it can often be outsourced to someone dumber / less expensive. But, controlling exactly when and how things are computed, converted or moved around in memory is often essential.

      I guess most people only have experience from one type of job and extrapolate from their experience. For example, I dislike Java/C# just because they have never been the right tools for my kind of jobs. But, I know people use them so they must be good for something. I just don't know what.

    3. Re:I feel so old and outdated! by ljw1004 · · Score: 2

      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!

    4. Re:I feel so old and outdated! by DidgetMaster · · Score: 2

      My comment was meant to be a bit 'tongue and cheek'. I was not offended at all by your comment. I have played with a number of languages over the years (Assembly, C, C++, Java, C#, Pascal, Lua, Python, Modula-2) but for me, I have always gravitated back to C++ because I enjoy low-level data management programming (file systems, databases, etc.) I don't mind that others go for the new fangled web technologies. More power to them. It just is not for me.

  8. Re:Good by Opportunist · · Score: 2

    Well, it's the best language for learning a few swears you didn't think you had inside you.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  9. Re:Now that's just sad.... by Errol+backfiring · · Score: 2

    More used is not more popular. As someone on Slashdot once said: JavaScript is as elegant as an oil tanker. Still, if you want to program a web site, you probably won't get around it.

    --
    Nae king! Nae laird! Nae yurrupiean pressedent! We willna be fooled again!
  10. Re:Hmm. by lgw · · Score: 2

    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.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  11. Re:All the cool kids by cordovaCon83 · · Score: 2

    They say the customer is always right. If a sales rep tells me that their client can't pull up a web page that they need, I'm not allowed to tell the client that they need to buy a new computer already or alternatively not do business with us any more because I coded something their browser doesn't support. For example, there are DoD contractors out there that have to follow the "Army Gold Standard", which means your code needs to run in older browsers, and good luck getting the Army to update that thing - it literally may take an act of Congress. There are many more examples of customers running older browsers on older machines that don't quite support the coolest bleeding edge features of ES6+. The reality of business sometimes conflicts with the wishes of the developer to write bleeding edge stuff. We are not allowed to tell the client that they're stupid for running outdated software and they need to stop being cheap just so they can order one copy My Widget(TM). At best, we write code that plans for the cutting edge to be fully adopted and we also write legacy support fallback stuff.

  12. Re:dot Net, or Java? by HornWumpus · · Score: 2

    You lay down with Oracle, you wake up with software audits (and fleas).

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'