Slashdot Mirror


The 2018 Top Programming Languages, According To IEEE (ieee.org)

New submitter rfengineer shares a report: Welcome to IEEE Spectrum's fifth annual interactive ranking of the top programming languages. Because no one can peer over the shoulders of every coder out there, anyone attempting to measure the popularity of computer languages must rely on proxy measures of relative popularity. In our case, this means combining metrics from multiple sources to rank 47 languages. But recognizing that different programmers have different needs and domains of interest, we've chosen not to blend all those metrics up into One Ranking to Rule Them All. [...] Python has tightened its grip on the No. 1 spot. Last year it came out on top by just barely beating out C, with Python's score of 100 to C's 99.7. But this year, there's a wider gap between first and second place, with C++ coming in at 98.4 for the No. 2 slot (last year, Java had come third with a score of 99.4, while this year its fallen to 4th place with a score of 97.5). C has fallen to third place, with a score of 98.2.

32 of 192 comments (clear)

  1. Python? by NicknameUnavailable · · Score: 2

    No.

    1. Re:Python? by nagora · · Score: 4, Funny

      Correct.

      Who the hell thought a language which is ambiguous when printed out was a good idea?

      --
      "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
    2. Re:Python? by Faluzeer · · Score: 3, Insightful

      Every time that Python is mentioned someone raise the point about whitespace. Yes it is annoying when first learning the language, but within a few hours you have totally forgotten about it. Python has other issues, but whitespace is the one people always initially focus on, unless you are in the habit of cut and pasting code from any or every where without using discrete code blocks, then it really is not that much of an issue.

    3. Re:Python? by Littleman_TAMU · · Score: 4, Insightful

      I disagree to a certain extent. Once you've set up your IDE, it's fine, but my main problem is that whitespace is significant. Why should I have to care how many indents there are? At least with C/C++ I can search for a '{' or '}'. You can't search for missing whitespace. Again, a well-set up IDE highlights and lines up brackets or whitespace, but whole concept is bad design in my opinion. For example, I like 2 spaces for tabs for tighter indentation, but I can't do that in Python because the language designers decided that 4 spaces is exactly right for everyone. That type of thing shouldn't be inherent in the language design. I do think Python gets a bad rap because it's so easy to use and so bad programmers don't have a high barrier to entry to writing their terrible code. In my experience, you can write good code in Python. There are many things it's not great at, but it's a useful tool.

    4. Re:Python? by Tablizer · · Score: 2

      Python is popular as a language itself, but often other factors should be considered. For example, we were looking at PHP versus Python as a possible alternative to Microsoft dotnet. These factors seem to override language-only issues in PHP's favor:

      1. Easier web deployment on test, staging, and production because it's built for the web.

      2. More web-oriented functions, libraries, and related tutorials/forums.

      3. Built-in HTML-embed templating language. This is important if designers are separate from app coders and/or you want modular UI parts.

      Most of the work should be gluing together libraries and function calls such that the language itself shouldn't really matter: we are not solving dark energy math, we mostly are marshaling data back and forth and gluing it to the UI and API's. Mundane perhaps, but it's our job to do mundane efficiently.

      If you can show that a given language outright gets in the way of building and gluing libraries & templates, then I'd like to hear about it. Usually it's a matter of trade-offs: each language does different things better.

      The environment and libraries override PHP's weakness as a language. (I do wish PHP would add named parameters, though.)

    5. Re:Python? by Layzej · · Score: 4, Informative

      For example, I like 2 spaces for tabs for tighter indentation, but I can't do that in Python because the language designers decided that 4 spaces is exactly right for everyone

      That is not the case. 4 is recommended, but you can use any number of spaces in Python.

    6. Re:Python? by MSG · · Score: 4, Insightful

      Why should I have to care how many indents there are? ... For example, I like 2 spaces for tabs for tighter indentation

      Nowhere a hint of irony. *sigh*

      You shouldn't have to care about indentation. And when there's a standard, you don't have to.

      Complaints about whitespace are literally the most superficial complaint about a language possible. And honestly, when people start in with complaints about whitespace, I know immediately that they aren't going to have anything of value to contribute.

      Arguing about how much your code should be indented is nothing more than bike-shedding. People express opinions about the things they understand. Arguing about indentation tends to illustrate the extent of your understanding.

    7. Re:Python? by Joce640k · · Score: 2

      Oh no, not this shit again.

      (facepalm)

      Here's the methodology: https://spectrum.ieee.org/stat...

      Basically they do a google search for "X programming" (where X is the name of a language) and count the number of hits. That's it.

      All that means is that Python is the most "talked about" language.

      It may be that Python has more hits because it causes more problems and more people go looking for answers. Who knows? Certainly not the people who do that survey.

      --
      No sig today...
    8. Re:Python? by Joce640k · · Score: 2

      you can use any number of spaces in Python.

      Just hope that nobody who prefers tabs tries to use your code.

      --
      No sig today...
    9. Re: Python? by fluffernutter · · Score: 2

      Why wouldn't checking types be the first thing you do? Also, why wouldn't you name your variable something like first_giraffie and then never assign anything else to it?

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    10. Re:Python? by fluffernutter · · Score: 2

      You want the code reasonably formatted, but you complain when you have to format it reasonably. Make up your mind.

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    11. Re: Python? by fluffernutter · · Score: 2

      Embedding code in HTML was a bad idea from the start.

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    12. Re:Python? by vtcodger · · Score: 2

      Complaining about whitespace is a pretty certain sign that the poster doesn't know squat about Python. Python has plenty of issues. Here's one -- https://xkcd.com/1987/ In point of fact Python use of whitespace is (unlike say bash's) just a straightforward formalization of a pretty reasonable style rule for readable code in any language that allows some (by no means all) nested parentheses to be omitted.

      The only genuine problem I'm aware of with Python indentation comes when trying to embed python in a shell script using python -c .... I'm not sure anything non-trivial can be done that way. I suspect that anyone wishing to embed Python code in a shell script will probably try -c, quickly become annoyed/frustrated/outraged and learn about heredoc.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    13. Re:Python? by johannesg · · Score: 2

      Correct.

      Who the hell thought a language which is ambiguous when printed out was a good idea?

      Probably people who managed to move out of the eighties and stopped printing all their shit.

  2. Re:Rediculuous by olsmeister · · Score: 2

    Maybe to people learning programming and trying to decide what they should focus on so as to be relevant when they graduate.

  3. Re:Rediculuous by DontBeAMoran · · Score: 3

    By the time they graduate, all the languages-du-jour will have changed.

    The only things that will always be there are assembly, C, C++, javascript*.

    * until all the major browsers switch to something else, but they'll never agree to that.

    --
    #DeleteFacebook
  4. IEEE says "Dice is a clueless, lost company" by xxxJonBoyxxx · · Score: 2

    From the TFA of TFA of TFA:

    "one less source this year, as the Dice job site shut down its API"

    (https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018)

  5. Re:You hate C because you can't code in it. by Anonymous Coward · · Score: 2, Funny

    And likely creating all the security holes that make the internet the wild, wild west that it is. Thanks bud.

  6. node.js, baby by slashdice · · Score: 5, Funny
    You can learn it in a two-week bootcamp. You can use it on the front end. You can use it on the back end. (Previously you had to be smart enough to learn PHP before they would let you run code on the production server!) Brendan Eich created javascript and he's a fucking programming god (of course it turned out he believes in God and straight marriage so we're not allowed to talk about him or Crockford anymore).

    Does python have rockstars? Does C++ have ninjas? Does java have 10x rockstar ninja? No!

    Javascript is a 10x rock star ninja. One moment, you're sitting there, alive, than POW you're dead. And there's an asian guy with playing some sweet riffs on his guitar/sword, teabagging your mouth.

    And if you're only a 1xer, that's cool too. npm has tons of high quality javascript one-liners written by the industries best 10xer and/or bootcamp homework projects. How do you know if something is the number 3 in c++? You don't! But npm has probably 30 or 50 packages to check for the number 3.

    --
    Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
  7. Re:Top Post by Anonymous Coward · · Score: 3, Funny

    I do not like your hat.

  8. Always not representative of the real world by Anonymous Coward · · Score: 3, Insightful

    > So what are the Top Ten Languages of 2018, as ranked for the typical IEEE member and Spectrum reader?

    Their membership must be a very niche market for R to outrank JavaScript in "popularity".

  9. Top? Most popular, perhaps by Dutch+Gun · · Score: 4, Insightful

    The article admits that different languages are used for different things. It's like making a list of "top vehicles", including cars, trucks, ferries, cargo container ships, and airplanes. Yet they go right ahead and still create a master ranking, because they can't help themselves. And we can't help but froth about it, which is the entire damn point for all of this.

    It's hard to get too frothy when my own language of choice, C++, is near the top, but my own view tends to be incredibly myopic, as I work in the game industry, and C++ absolutely dominates there.

    --
    Irony: Agile development has too much intertia to be abandoned now.
  10. Representative of Electrical Engineers by mykepredko · · Score: 2

    Yes, this is yet another "What's the best/most popular Programming Language" and I suspect that for most people, it's not very representative.

    But, as an EE I can see that this list (especially the top ten) is very accurate for the development work that I do (embedded and web apps accessing the embedded devices) and I suspect that it's pretty good for other EEs.

    If you're a web, app, database developer or even involved in IT, this list will NOT be accurate.

  11. Re:Rediculuous by unimacs · · Score: 2

    If it's in the top 5 or 6 now and had been holding steady or climbing for the last couple of years it's hard to imagine that it wouldn't still be in the top 10 in a few years.

    Most of the things in the top 10 list of 2018 have been around and popular for a decade at least. The exception would be Go which is only 9 years old.

  12. Re:You hate C because you can't code in it. by Drethon · · Score: 2, Insightful

    And likely creating all the security holes that make the internet the wild, wild west that it is. Thanks bud.

    Handing a good language to a bad coder doesn't result in better code. I've seen plenty of security holes in any language.

  13. What about all the other top dev.tool lists by cjeze · · Score: 4, Insightful
  14. Re:Top? Most popular, perhaps by ichimunki · · Score: 2

    One thing a list like this is helpful for is anyone looking to learn a new language, or learning programming or computer science without prior experience... if your school is teaching their mainline classes in a language not on this list, that is a major red flag. Probably should be in the top 5, to be honest, given what's in the 6-10 slots.

    Or, if you don't really know what you're looking to get into, other than being able to make your computer do stuff, then this might be a good guide. Start by defining the type of programming that interests you, then look at this list for the best-in-class option(s). A seasoned programmer looking for a change of pace would do worse than to pick up one of the others on this list-- just for the paradigm shifts and being forced to exercise a bit differently.

    I mean, I do see some "not-on-your-life" languages in the list, especially PHP. But given the apparent demand, even that might be a good way to break into the industry for a later-life career change for someone with a technical bent. Something to do for ten years until retirement kind of thing.

    --
    I do not have a signature
  15. aah, language holy wars. by HeckRuler · · Score: 2

    BOW DOWN MORTALS Before the one true language. The Ur-language that ushers in all the false idols. The Most Holy of relics...

    C

    The old gods are calling. Can you hear them? It's the sound of inevitability as the young usurpers weep into their transient drinks feeling their lifeblood leak away like so much memory. What pidly followers they amassed will blow away like so much dust. And where do they turn when all they hold dear is cast about on shifting sands? The stable bedrock of C.

    LOOK UPON IT'S MAJESTY and look upon your EVERYTHING and you will see it staring back at you. Your Linux, your arduinos, your Rasberry Pis, your toaster, your fridge. We are the ones who cook your food. We are the ones who drive your cars. We are the ones who hand-carry your garbage when your program closes. DO NOT fuck with us.

    Just high enough above the metal to be portable as all fucking get out and low enough slide through that silicon like greased lightning. This IS your grand-daddies programming language because he knew his shit. The experience of GENERATIONS is out there and honestly eager to help. Ask on stack overflow about how the shareponit widget gets shuffled by the flub API in the .WHORE framework and you'll have a couple crickets for company. But ask for some fluent C and the fucking CHOIR comes out to play.

    C is the language to learn my friends. It gets you where you need to be. It's not the last language you want to learn, but it's certainly the one you want to sharpen. Hone that to a razor edge and you can cut any problem down to size. And that's no Turing tarpit. I may program in Brainfuck and Malbolge for shits'n'giggles, but C is the workhorse of solving real meaningful problems. Bash glues yesterday's solutions together, and some pretty GUI-maker can make yet another button for a clueless suit, but you whip out C for the hard cases.

    #include
    int main(int argc, char** argv)
    {
        printf("Bro, do you even code?\n");
        return 0;
    }

  16. I'd start counting flaws but I don't have all day. by mr_mischief · · Score: 3, Informative

    I'd start counting flaws but I don't have all day. At least these are readily apparent.

    HTML is not a programming language. It's a markup language, and although one might be able to coerce HTML5 and CSS3 together into being Turing complete that's an emergent property best thought of as a bug.

    SQL is a query language. Fairly sophisticated data manipulations can be done with it, but it's typically used with an actual programming language to develop applications.

    Arduino isn't a language at all. It's a hardware device which can be programmed in various languages. There is an approved IDE but more than one language supports the platform.

    Cuda is not a language, but a toolkit for GPU programming that's used from multiple different languages.

    Shell and assembly are each more than one language. May as well by that logic call Clojure, Scheme, and Racket part of Lisp. Call JavaScript and ActionScript both ECMAScript.

    The method of looking at searches for "X programming" specifically gives an advantage to languages that don't lend themselves to search or need disambiguation like C, Go, Python, Ruby, R, S, D, shell, assembly, or Crystal. Languages with distinct names like Perl, Erlang, JavaScript, Smalltalk, ActionScript, or Matlab don't generally need such qualification.

  17. Re:You hate C because you can't code in it. by HiThere · · Score: 2

    Actually, I hate C because it's so difficult to send data between executing parallel processes and, secondarily, because it such a beast to handle unicode in. C was probably my third programming language, and the second was assembler. (Fortran was my first.) There are a few other reasons, the dangerous way it handles pointers, etc., and it's ugly when you start needing multiple layers of indirection. But most of those can be gotten used to. The first two, however, ... shudder...

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  18. Re:Rediculuous by vtcodger · · Score: 2

    Keep in mind that an awful lot of meaningful programming is done by folks who are capable, but are not "computer scientists" They tend to prefer "scripting languages" (Python, Perl, Javascript). to glorified assembly languages. But even though they don't and maybe can't write device drivers, their needs and preferences are important too.

    If you're trying to make sense of 10 million data points, do you really want to write a C++ program to filter, manipulate, join sets, etc. Probably not. Even if you can do C or C++ or assembler, in practice, you'll probably use R or mathlab or Python.

    --
    You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
  19. Re:Rediculuous by vtcodger · · Score: 3, Interesting

    I actually worked with those old 20000 line plus Fortran programs and they were surprisingly easy to work with. One quickly learned that in order to maintain some semblence of sanity, one had to block line numbers by function -- e.g. 0-1000 are global stuff, 1000-2000 are input ... Sounds dumb, but it worked. In a few cases I saw both the 1960s monolithic Fortran code and the 1980s modern style code with roughly sixteen zillion tiny subroutines. Personally, I think the older style was often easier to work with.

    I don't know much about Cobol, but the one time I had to debug an issue in a Cobol subsystem, I found it to be surprisingly readable. I don't think I have the patience to write Cobol code, but I think it probably deserves more respect than it gets.

    --
    You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey