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.

192 comments

  1. Python? by NicknameUnavailable · · Score: 2

    No.

    1. Re:Python? by Anonymous Coward · · Score: 1, Interesting

      No.

      Yeah, no shit .. let's make whitespace significant and other dumb things.

      I first saw Python about 15 years ago, and immediately thought "what the hell were the people who designed this shit smoking?"

      The quality of the fanboi's I've encountered since has done little to change my mind. I've never understood the appeal other than lazy people can write a bad demo in a few hours.

    2. 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"
    3. 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.

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

    5. Re:Python? by Anonymous Coward · · Score: 0

      Bad demos written in a few hours are how you demo for the VCs. Its not about writing good software. Its about taking their money.

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

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

    8. Re:Python? by PPH · · Score: 1

      unless you are in the habit of cut and pasting code from any or every where

      Or having to maintain code originally written by some idiot who doesn't follow your (obviously correct) dogmas of tabs vs spaces, tab stops, etc.

      --
      Have gnu, will travel.
    9. Re: Python? by Anonymous Coward · · Score: 0

      Eh? I use two spaces. It's fine.

      However, I agree that lacking white space can be a pain at times.

      Lack of types is also unhelpful. I'd rather a compiler tell me I'm trying to equate integers and giraffes than having to completely rely on a test harness that might not try to pass in a giraffe until the fifth hour of the testing process.

      In some ways it's rather cleaner than C++, though, certainly less complex given all the legacy in that language's design.

    10. Re: Python? by Anonymous Coward · · Score: 0

      You can use 1 char for block indention, or 100, and you can choose whatever mixture of indention you like for different blocks. Of course that's considered bad style so best stick to one size for all blocks. 2 is wht works best for me, all spaces, no tabs. Because tabs is just not working across teams, in any language.

    11. Re:Python? by dromgodis · · Score: 1

      In what way is it ambiguous?

      This on the other hand...

    12. Re: Python? by Anonymous Coward · · Score: 0

      1. Should be irrelevant with a good deployment and test strategy.

      2. There are plenty of relevant Python libraries and tutorials.

      3. There are plenty of Python templating libraries.

      PHP looks as ugly as sin, but in its defence, white space isn't critical. I'm not aware that you can compile it down for performance enhancements, though.

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

    14. Re: Python? by Anonymous Coward · · Score: 0

      If you like to apply security patches almosr every other day, sure go ahead with PHP. Otherwise perhaps Python in combination with a proper web framework will work better, say Django or Flask.

    15. Re:Python? by ArcadioAlivioSincero · · Score: 1

      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.

      You can use however many spaces you want to indent with in Python, so as long as you are consistent. Unless you are one of those folks who indent using 4 spaces one minute, then 8, and then drop down to 2 just for the hell of it all within the same function, I can't see how this is that big of a deal.

    16. Re:Python? by Anonymous Coward · · Score: 0

      Calling bullshit.
      I prefer 2 space tabs for Python as well, and most of my code is in that indentation.
      The only issue is that I have to switch to 4 spaces when writing on a shared codebase... but only because one function in 2-space and the next in 4-space looks too weird, not because it wouldn't work (it works without problems, you just can't switch up the indentation within the same scope).

    17. Re: Python? by ArcadioAlivioSincero · · Score: 1

      Lack of types is also unhelpful. I'd rather a compiler tell me I'm trying to equate integers and giraffes than having to completely rely on a test harness that might not try to pass in a giraffe until the fifth hour of the testing process.

      Python 3 has standardized type hints now. So a linter can yell at you if you try to equate integers to giraffes.

    18. Re:Python? by Anonymous Coward · · Score: 1

      I had a person complain about that misunderstanding of PEP 8. Asked him if tabs, the "cuddled else," the opening brace on the same line, are required in C. He looked at me somewhat confused and said, "Uh, C has many acceptable styles" So I clarified that Python does to, and PEP 8 isn't the only one in widespread use. There is also Facebook style and Google, to name the other big two.

    19. Re:Python? by Anonymous Coward · · Score: 0

      Nice trollin', son :D

    20. Re: Python? by Anonymous Coward · · Score: 0

      if Python is so great why havenâ(TM)t anyone created a preprocessing macro accepting brackets to ease anti-whitespacer concerns? Exactly

    21. Re: Python? by Anonymous Coward · · Score: 0

      The one feature Guido is most proud of in Python (significant, yet ambiguous, whitespace) is one that language designers abandoned with prejudice in the 1960s or 1970s because of past experience.

      Tells you a lot about his aptitude as a language designer that he brought it back in an era when it had long been extinct. Even Fortan (starting with Fortran 90) had given it up!

    22. Re:Python? by unimacs · · Score: 1

      You can see that as a plus or a minus. With Python you'll have to adopt the style of the original code or change it all to match your new style. In another language you could have 3 different styles employed within the same file by the 3 different people who were responsible for maintaining it at one time or another.

      Which is worse?

    23. Re:Python? by munch117 · · Score: 1

      Why should I have to care how many indents there are?

      "Why should I have to care how many braces there are? How many semicolons? How many equals signs?"

      Python has a single, unambiguous way of expressing block structure. Just like C. You have to care about it because it's part of the syntax.

      What it doesn't have is a redundant second way of expressing block structure.

      You can't search for missing whitespace.

      Imagine you're staring at an expression where you accidentally deleted the binary operator. Your code goes "a b" and you have forgotten if that was supposed to be "a + b" or "a - b" or "a * b". How do you search for the missing operator?

      Well, you can't: Because just like most things in most programming languages, the binary operator is not expressed redundantly. You don't write "a + b (+)" or "a + (add) b". Expressing the notion of binary addition just once is enough.

      Same thing with block structure. Expressing it once it enough, provided the one way you pick is the better one.

    24. Re:Python? by NicknameUnavailable · · Score: 1

      Every time that Python is mentioned someone raise the point about whitespace.

      That's because idiotic rules around whitespace are the equivalent of a gingerbread house infested with roaches - it's a fucking irredeemable joke which only makes it to the level of "sad" because people take it seriously.

    25. Re:Python? by TechyImmigrant · · Score: 1

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

      Being "built for the web" is entirely a non feature for everything I do.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    26. 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...
    27. Re:Python? by HeckRuler · · Score: 1

      but my main problem is that whitespace is significant.

      Eh, I think there's two fundamental things that programming languages need to do:

      1) Help people understand them, and help people understand how to write proper code. "This is the way child".

      2) "Get the fuck out of my way, I'm getting shit done". Where the language does it's best to cobble together some productivity from whatever garbage you dump into it.

      C has this. Without the -Wall blocking your way, C gets stuff done. (and -Wextra [and -Wpedantic because we make million dollar systems that must not fail]). Crank on all those checks and put your source code in a split (or pclint) and codeing becomes pretty MISRAble. It should probably have a coding style built in and warn on that too, but RSM, coverity, and other tools can fill in the gaps.

      I'm positive there must be someone's pet project out there to add a layer on top of C to let you implicitly declare variables. Or automatically insert declarations into your source code. If that's really your thing.

    28. 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...
    29. Re:Python? by Anonymous Coward · · Score: 1

      Wow, you completely miss the point about whitespace in code.

      Personally, I don't care about whitespace at all, as long as the code is reasonably formatted. The problem comes in when whitespace is semantically significant. When I'm editing someone else's preferred whitespace style and accidentally drop in a two-space indent instead of a four-space indent (because two spaces is what I'm used to) and it semantically changes the program in possibly subtle and/or unexpected ways that's a big problem.

      There's a good language in Python, but semantic whitespace (and lack of static typing) end up causing such huge time sinks debugging that it's not worth my time to learn any more of it than I have.

    30. Re:Python? by Anonymous Coward · · Score: 0

      git diff?

    31. Re:Python? by Old-Claimjumper · · Score: 1, Insightful

      Ok, Damn kids get off of my lawn. I started C on a PDP-11-40 running Unix V6 in 1976. Over the years I have written, read, and re factored probably millions of lines of C. One more common error seen over the years is to forget the braces around an if-then clause or a while statement or some such.

      while (something is needed)
              do something;
              do something 2;
      do stuff after the loop; ...

      The funny thing is that the braces may have been forgotten, but the indentation was usually correct for the intent of the code. Python simply recognised this issue and made the indentation master rather than the braces because the indentation was correct more often than the braces.

      I love C, but Python got this bit correct.

    32. Re: Python? by Zero__Kelvin · · Score: 1

      Yes. IOW if your complaint about Python is how indentation works it broadcasts to the world that you have no legitimate complaints but your co-workers definitely have some valid ones about you.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    33. Re:Python? by lgw · · Score: 0

      Have you ever worked on an old-school make file? Tabs mean one thing, spaces mean something else. It's a nightmare.

      Think of the fun with a python file that mixes tabs and spaces for indention, and had a bug with a block not indented by the amount it looked like it was on your screen. How would you ever find the bug?

      It's not about how code should be indented, it's that python forces you to care how it is indented.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    34. Re: Python? by Zero__Kelvin · · Score: 0

      That is true, which is why Python doesn't have idiotic rules about whitespace.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    35. Re:Python? by Anonymous Coward · · Score: 0

      Says the person who has never had to debug refactored Python where the indentation level has changed and broken the logic.
      Fanboi indeed.

    36. Re:Python? by PPH · · Score: 1

      Which is worse?

      Catering to OCD.

      --
      Have gnu, will travel.
    37. 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.
    38. 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.
    39. Re: Python? by fluffernutter · · Score: 1

      Because the language is good enough as it is?

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    40. 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.
    41. Re: Python? by NicknameUnavailable · · Score: 1

      That's literally the core "feature" of Python. It's nothing but a whitespace-enforced wrapper for c.

    42. Re: Python? by Zero__Kelvin · · Score: 0

      It's like you *want* to appear stupid in front of as many people as possible. Possibility you are Donald Trump confirmed.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    43. Re:Python? by Anonymous Coward · · Score: 0

      PHP is better.

    44. Re:Python? by c120plus · · Score: 1

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

      You can write python code with 2 spaces and it will work just fine. It's only that the python world has decided that 4 spaces are the norm, so if you want your code to look like everybody elses, use 4. Personally, I really like that I don't have to write begin or end blocks (like in the other language I use more) and that I can use brackets for data structures instead. I also like the fact that python forces you get get identation kind-of correct, unlike other languages, where you can mess up your identation completely making the code harder to read.

    45. Re:Python? by Anonymous Coward · · Score: 0

      > Have you ever worked on an old-school make file? Tabs mean one thing, spaces mean something else. It's a nightmare.

      Get better tools. There are editors that make tab characters and spaces visible.

      > Think of the fun with a python file that mixes tabs and spaces for indention,

      Get better tools, or configure them appropriately. eg editors that convert tab key to appropriate spacing.

      > It's not about how code should be indented, it's that python forces you to care how it is indented.

      Yes, it forces you to care so that 'the next programmer' can understand more easily the crap that you wrote.

    46. 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
    47. Re:Python? by unimacs · · Score: 1

      Within our organization our style guidelines dictate that we follow the existing style rather than mixing styles so you're stuck catering to someone else's OCD whether it's Python or something else. What Python does is tell you when you've failed to cater properly. The other thing that it does is force those who wouldn't be otherwise inclined to make sure that their indentation matches what the code actually does.

    48. Re:Python? by mark-t · · Score: 1

      Computers are very good at formatting code if formatting can otherwise be inferred by the syntactic content. Requiring programmers to spend even an iota of concentration doing something a computer can do automatically for them when they are just trying to get the goddamn program done is an utter waste of human resources.

    49. Re: Python? by NicknameUnavailable · · Score: 0

      How dare you insult the greatest president who has ever lived.

    50. Re:Python? by mark-t · · Score: 1

      Worrying about formatting before you've even finished writing a program is a totally ass-backwards way of development... like using LaTeX to create a document and trying to get the spacing of certain tables correct even before you've finished composing them.

    51. Re: Python? by Anonymous Coward · · Score: 0

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

      Embedding HTML in code (as is often found in Perl) is an equally bad idea.

      Code and user interface should be as separate as possible. Thus templating. In my systems I wrote my own templating so that the actual output could be chosen simply by specifying a different template file. I output a web page and the user wants a CSV of it, or a printed report, or XML, that is just a refresh with a different template file.

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

    53. Re: Python? by Anonymous Coward · · Score: 0

      HTML was a bad idea from the start.

    54. Re: Python? by Darinbob · · Score: 1

      Lack of explicit types goes back decades to the earliest interpreted languages (for the earliest languages, types were not there to detect errors but to provide hints to the compilers). Python is a relatively late language to this game. Then go and look at some typed languages like C/C++ where many developers just do not fundamentally understand types and where it might even be better to just let the compiler figure them out (like some compilers do).

    55. Re:Python? by Darinbob · · Score: 1

      The only syntactic part of white space in Python and other similar languages is whether a line has more or less indention than the line before and after it. So as long as you keep the SAME indentation as the block of code you are adding a line to then you're fine. Why would you evern consider adding two extra spaces in the middle of a block, it would look bad in any language. This is the most trivial of problems (the only real snag being tabs vs spaces).

      This isn't really semantic per se, it's syntactic. You're going to get syntax errors or warnings if you drop in extra spaces where no new block is expected.

    56. Re:Python? by Darinbob · · Score: 1

      It is a nit in Make, but generally it's because most editors don't highlight the differences between spaces and tabs, so a makefile may "look" ok until you try to use. Some editors, especially those common in unix and not Windows abominations, will highlight errors in makefiles or show tabs and spaces differently.

      On the other hand, even though everyone and their great aunt will complain about how terrible Make is, there really hasn't been a replacement that just works as simply and straightforward and without an additional truckload of new blemishes.

    57. Re: Python? by Darinbob · · Score: 1

      I've seen that done with a script. These don't gain more traction because the whitespace problem really isn't a concern.

    58. Re:Python? by Darinbob · · Score: 1

      I have had to use some files that were indented with 4 different settings for tab stops! I could tell because with each different tab stop a different section of code would suddenly become readable (ie, long continuation lines would line up). Tab stops would even change within a function, a nested loop would use a different tabstop than the outer loop. I have no idea how it managed to get into that state in the first place other than a lack of a style guideline combined with lazy programmers. Probably they all thought their code looked great and everyone else's code was sloppy...

      It's another reason I wish there was no such thing as the tab character.

    59. Re:Python? by Darinbob · · Score: 1

      Only really ambiguous if you have tabs and spaces intermixed and you print the raw text file. People that do this often use IDEs though and most IDEs have a print function that prints formatted text instead of the raw text. However with online tools like Jira, Reviewboard, Gitlab, etc, the tabs do have a tendency to make things less readable.

    60. Re: Python? by Darinbob · · Score: 1

      Occam used this feature in the 80s. The snag with it was that the editors at the time were not very customizable. I had a vi that insisted on replacing a string of spaces with tabs, and no one I knew had ever seen a manual for vi so I could try to fix it. But over time editors got a lot better or more accessible. Whitespace in python are not a problem for anyone who was programmed in it for more than a few hours and who either avoids tabs or else uses a smarter editor.

    61. Re:Python? by Darinbob · · Score: 1

      PHP is a web language. Python is a general purpose language.

    62. Re:Python? by ath1901 · · Score: 1

      Yes! +1 Please.

      People tend to forget that whitespace is significant in all languages since we use it to make the code readable. Errors in whitespace make the code hard to understand at best and easy to misunderstand at worst.

      Also, complaints about being "forced" to use something other than your preferred spaces/tabs apply to all projects with more than one developer regardless of language. Like it or not, you should use whatever the original author used (or what the coding guidelines say if you are the original author). Try reading C code with mixed tabs, 2-space and 4-space indentation, it isn't easy. No, you can't just auto-indent from your IDE since that might hide your diff among a lot of whitespace diffs in revision history.

      Python enforced a solution to a problem. Not the other way around.

    63. Re:Python? by Junta · · Score: 1

      I do most stuff in python, and largely I don't have problems with the whitespace...

      Until I want to try something out by pasting into a python interpreter.... Errant leading space in statement due to miscopy? Error. A function with some sort of line continuation that is perfectly legitimate in an actual script? indentation error...

      --
      XML is like violence. If it doesn't solve the problem, use more.
    64. Re:Python? by Junta · · Score: 1

      Pasting your code into interactive python terminal on a remote system to try something out... whitespace causes a challenge more often than it doesn't in that specific case....

      Otherwise I don't mind it so much...

      --
      XML is like violence. If it doesn't solve the problem, use more.
    65. Re:Python? by Junta · · Score: 1

      I will say that it's not just python that is afflicted by that phenomenon in xkcd. Java is notorious for having every app bundle their own JRE, for example.

      This is also 'just the way it is' for nodejs.

      'frameworks' for every little damn thing... yeah... welcome to most languages...

      virtualenv is one double-edged sword. On the one hand a respectable mechanism to tame the monstrous ecosystem. On the other hand, people start *requiring* it to just make the ecosystem even more monstrous...

      --
      XML is like violence. If it doesn't solve the problem, use more.
    66. Re: Python? by Tablizer · · Score: 1

      I generally agree, but with an "it depends" closely bound to Conway's Law. If the designers are a separate group from the application coders, then templating is quite handy. If coders do everything and will likely continue to, then direct templating has less overall benefits.

    67. Re: Python? by Tablizer · · Score: 1

      Should be irrelevant with a good deployment and test strategy.

      True, but sometimes it's hard to get "good" people to do it and/or do it right.

      There are plenty of relevant Python libraries and tutorials.

      For web-based application, I just found more for PHP and they seemed a bit more mature. Maybe in the future Python will catch up, but it has a ways to go.

      There are plenty of Python templating libraries.

      True, but you have to add the library and different people are familiar with different libraries (or none). Anyone who knows PHP knows its default templating engine.

      They are not show-stopper issues, I agree, but on average PHP just makes web-ing easier.

    68. Re:Python? by Tablizer · · Score: 1

      Okay, I agree, and I should have made that clear. But it doesn't change my point that there are, or at least can be, other issues besides the base language itself that override base language benefits. Use the right tool for the job at hand.

    69. Re:Python? by fluffernutter · · Score: 1

      I find it far more annoying when I make an if-then that is a single statement and then I have to add brackets to both sides to add another statement. Even worse, the perl 'do_this() if (is_true);' format that you have to totally rearrange if you want to add more statements. Those things you mentioned about Python really don't bother me as much.

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

      That's just Survivor Bias. The ones that didn't enjoy it never came to the party.

    71. Re: Python? by nagora · · Score: 1

      People get used to not having arms. Doesn't make it a positive.

      The problem is that this was such a stupid, and OBVIOUSLY stupid idea that it undermined any faith in the language creator - who knows what other crap is lurking in there? Then you have the whole Python 2 Vs 3 thing and basically I've got better things to do with my time.

      Occam had many things going for it; this wasn't one of them. Generally speaking, any language which requires a special editor is a broken language - indeed, it isn't really a language as such, since it is not self-contained. APL is an interesting grey area, especially in these days of Unicode.

      --
      "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
    72. Re:Python? by lgw · · Score: 1

      The old-school Windows build system (the one that came with the SDK and DDK, not the one that came with Visual Studio) was better. It was just an enhancement to make, of course, but it fixed some of the problems with make and added a bunch of good default behaviors.

      Naturally, MS dropped it years ago in favor of some xml-based trash.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    73. Re:Python? by lgw · · Score: 1

      Have you ever worked on an old-school make file? Tabs mean one thing, spaces mean something else. It's a nightmare.

      Get better tools. There are editors that make tab characters and spaces visible.

      Ah, so you agree that significant whitespace is a problem you need a tool to solve. Good to know.

      > Think of the fun with a python file that mixes tabs and spaces for indention,

      Get better tools, or configure them appropriately. eg editors that convert tab key to appropriate spacing.

      Which has nothing to do with the problem I highlighted. When you inherit crappy legacy code, it's too late to apply a convention, and you're left guessing how much indention the author had in mind for a tab character.

      One more problem you need a tool to solve. But only with terrible legacy code, and that almost never happens, right?

      > It's not about how code should be indented, it's that python forces you to care how it is indented.

      Yes, it forces you to care so that 'the next programmer' can understand more easily the crap that you wrote.

      No, and that's the entire point: it doesn't force you to care when you write it, it only forces you to care when you maintain it. Big mistake. It always should have been illegal in Python to mix tabs and spaces in the same file, or to use a different number of spaces for one indention in different places in the same file (almost always a copypaste error).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    74. Re:Python? by PPH · · Score: 1

      force those who wouldn't be otherwise

      Or, you know, you could use a language that didn't allow a bunch of crybabies to slip hidden logic bombs into their code in the first place.

      --
      Have gnu, will travel.
    75. Re:Python? by Littleman_TAMU · · Score: 1

      The moderation on my comment is all over the place and it looks like it's 'cause I got this wrong. My IDE is the thing whining about PEP8 non-compliance. So I got that wrong.

      I still think my point about whitespace stands. More information is better. Explicit beginnings and endings of control structures is clearer, easier to debug, and just help clarify intent. It's like the Oxford comma. Why would you explicitly exclude something that requires almost no extra effort to do and its exclusion can cause problems due to ambiguity?

    76. Re:Python? by Littleman_TAMU · · Score: 1

      If I have variables a and b then the compiler/interpreter will likely throw an error, but at least a warning if I do something like c = a b instead of c = a + b. I can't think of a single one that wouldn't. Even Python does.

      If, however, like I just had to do yesterday, I need to pull a section of code out of a control block ('if' in my case), then I have to fool around with which exact indent it should live on instead of just finding the right closing brace and putting it there. It's annoying and maybe it's just because I gravitate towards more explicit languages like C or VHDL, but if I'm hacking something together, then I shouldn't have to scroll all over the file mentally lining things up or looking at the IDE's indications or column number to figure out what control block my code snippet is part of. Explicit languages have that covered. Yes, I can go back and refactor to use more functions and better code practices, but if I wasn't already hacking it together, then I'd just do it right in a different language.

      Basically, I like Python; I like almost everything about it, but the one thing that's truly annoying is the lack of explicit control block structure. I'd love to see documentation from the designers about why they made that decision.

    77. Re:Python? by Anonymous Coward · · Score: 0

      Except in python almost everything only have one way to do something. That's python mindset, it's frown upon to do otherwise. And yes, that includes indentation.

    78. Re:Python? by Anonymous Coward · · Score: 0

      Emphasis on "you" as singular. Good luck merging others people code who have different style (e.g. 2 spaces vs 4 spaces).

      Yeah code conventions and all that. But you don't have that problem in C, C++, Java, etc.

    79. Re:Python? by Anonymous Coward · · Score: 0

      The only issue is that I have to switch to 4 spaces when writing on a shared codebase...

      The point is, that's not an issue in C, C++, Java, Pascal, etc.

  2. Russians by Anonymous Coward · · Score: 0

    Russians hacked it. Python can't be that good.

  3. Rediculuous by Anonymous Coward · · Score: 0

    What a waste of time, I don't see how this is useful to anyone.

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

    2. 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
    3. Re:Rediculuous by Anonymous Coward · · Score: 0

      I feel like IEEE had a membership decline a few years back and decided they needed to start churning out "content" to fix it.

      I'm not sure why I'm still a member.

    4. Re:Rediculuous by Anonymous Coward · · Score: 0

      Maybe they should focus on the Science in Computer Science and not a specific language.

    5. Re:Rediculuous by AmiMoJo · · Score: 1

      If anything this list proves that the languages du-jour aren't actually very popular and people tend to stick with the decades old ones.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    6. 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.

    7. Re:Rediculuous by Anonymous Coward · · Score: 1

      The take the list from each year for the past 40 years and graph (or animate) the rise and fall of each language over time. It should be pretty obvious which languages stick around long term, and which ones come and go, and of those that come and go, what trends they have in common.

    8. Re: Rediculuous by Anonymous Coward · · Score: 0

      And Java, which has been #1 or close to it pretty soon after it came out.

      Java will outlast Javascript.

      P. S. Why are so many people on this board such Java haters that they can't admit its top spot? I think it's the type of company that uses Java heavily and its development structure that cause people to turn their hatred of that onto the language itself, and that's not legitimate.

    9. Re:Rediculuous by Anonymous Coward · · Score: 0

      If anything this list proves that the languages du-jour aren't actually very popular and people tend to stick with the decades old ones.

      Decades old ones do not stay old. They feed on fresh ideas.

      Any new paradigm or idea brought in by the languages du-jour will be absorbed by C++ in 5 years time anyway, provided it proves beneficial ...

      And in 10 years time, most of new things in C++ which do not command a paradigm shift from imperative structured programming - in other words which allow the C source code after preprocessor macros (and templates, if it incorporates them) expansion to be matched 1:1 to resulting assembly listing - will be incorporated in C.

    10. Re: Rediculuous by Anonymous Coward · · Score: 0

      Javascript has a new syntax out every 2 years. They just keep the name and pile on the new syntactic sugar. Thats how they plan to stay around forever

    11. Re:Rediculuous by MobyDisk · · Score: 1

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

      They already did! It's called webassembly. :-) There's probably 10 languages that compile down to it now.

      I'm being a bit tongue-in-cheek here. It will be a while before developers start switching and we will see what they move to. Probably decades before javascript seriously wanes. It could even get good in the mean time. But the path is open now.

    12. Re: Rediculuous by Anonymous Coward · · Score: 0

      That's a ridiculous spelling of ridiculous.

    13. Re:Rediculuous by Anonymous Coward · · Score: 0

      Any new paradigm or idea brought in by the languages du-jour will be absorbed by C++ in 5 years time anyway, provided it proves beneficial ...

      Is that Stroustrup's methodology for advancing C++? Because that would explain the syntactical disaster that C++ is.

    14. Re:Rediculuous by fluffernutter · · Score: 1

      I'm both a developer and I hire developers. For anyone trying to figure out which language to learn, I can tell you I hate to hire the ones for the top languages because they are so in demand.

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    15. Re:Rediculuous by reg · · Score: 1

      You forgot Bourne shell script... 30 years of observing the world says that everything will be rewritten into one of those five, unless it is already 20 years old and in Fortran or Cobol, in which case someone will keep it going, because they are too scared to rewrite it.

    16. 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
    17. 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
    18. Re:Rediculuous by vtcodger · · Score: 1

      Interesting thought -- seriously. Back around 1980 or so, I decided that if I was going to be doing computer stuff for most of my career, I should learn the basics, so I read Hamming, and Knuth and Tannenbaum and Dijkstra and ...
      All the important books and papers available at the time I think

      I came away with the feeling that there were solid pieces of foundation here and there. But no body of knowledge that constituted a "science". My feeling is that things haven't really changed all that much. But what the hell do I know?

      --
      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 Junta · · Score: 1

      Funny enough, I've seen people write terribly complex 'scripting' code that is clearly more sophisticated than a lot of C programmers, and yet the people writing that will still be intimidated by a compiled language.

      Also seen it in shell scripting. People who go through pretty tortuous stuff to make complex code in shell script, but won't even touch python or perl or anything like that, because *that* would be programming, and they don't feel like they could 'program', despite already programming heavily..

      --
      XML is like violence. If it doesn't solve the problem, use more.
    20. Re: Rediculuous by Anonymous Coward · · Score: 0

      Well, I was not a fan of it not because of what it could do, it could do impressive things. It was the way it would present this applet thing and I would have to agree to run it etc, it did not feel secure at all, and it felt very flow breaking. I know javascript really well so I know it is pretty safe as far as being sandboxed within the browser, I never trusted java to be the same.

      When you are talking phone apps that compile it is great for that, when you are talking about the open web which is meant to be globally accessible it fails in that regard because it was developed by an american corporation and for obvious reasons the americans are not trust worthy at this time. I generally do not trust them, but at this particular moment in history it would be insane to do so.

      Its syntax, execution and abilities however are not being called into question in the least, it has proven itself time and again. I wish my own beloved javascript could get the praise it richly deserves after changing the world these past few decades.

    21. Re:Rediculuous by Anonymous Coward · · Score: 0

      Actually, scripting objects is a very powerful and flexible approach.

      Back in the '90s I was looking forward to writing lots of scriptable applications on the Mac using C++ and AppleScript.

      Unfortunately AppleScript turned out to be a mess and C++ expanded to envelop the use cases scripting should have covered.

    22. Re:Rediculuous by lsatenstein · · Score: 1

      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.

      Rust is a new language, not in the list. Sigh...

      --
      Leslie Satenstein Montreal Quebec Canada
  4. You hate C because you can't code in it. by Seven+Spirals · · Score: 0, Flamebait

    Admit it. All these pro-flavor-of-the-month-coding-language articles on /. are red meat for python, PHP, and Java coders who wish they could learn C but couldn't hack it. Python is popular with skript-kiddies who just couldn't concentrate long enough to learn how to use a pointer. D, Swift, Go, and others are for corporate kids who'd rather talk about coding than code. Kinda like LISP. That's for academics who'd rather talk about coding than code. Stay with those languages, especially if you are from India (we don't need more crap-C-code, thank you). I'll be over here in my cave, coding in C and assembler laughing at your forced indentation and "managed" code.

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

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

      Oh please... Like the actual hardware doesn't have flaws as well.. Intel.. Cough.. Cough...

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

    4. Re:You hate C because you can't code in it. by Anonymous Coward · · Score: 0

      I like C. I'd use it if I could find someone willing to pay me to use it.

      Instead I get paid to use Java.

    5. Re:You hate C because you can't code in it. by Seven+Spirals · · Score: 1

      Negative. Most C programmers avoid web-coding and phone-coding like the plague. Those are shitty low-rent jobs for teenagers and Indians.

    6. 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.
    7. Re: You hate C because you can't code in it. by Anonymous Coward · · Score: 0

      Yeah because writing interactive web pages in C would result in totally better code. Sure. You're the expert. Please yourself.

    8. Re:You hate C because you can't code in it. by Anonymous Coward · · Score: 1

      No, a good language with a strong compiler keeps mediocre developers from continuing to make rookie mistakes because they were running on autopilot.
      It also lets great developers to stop worrying about boilerplate and focus on pure function. That's the whole point why you build around frameworks...so you put the drudgery to the side and just do the work that needs to be done.

      You will always have sloppy, bad developers who will continue to build houses of cards and Christmas trees that come down with the slightest bit of stress. And dev teams should continue to work hard to weed these individuals out of their ranks.

    9. Re:You hate C because you can't code in it. by lgw · · Score: 1

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

      The security holes that matter on the internet are XSS and SQL injection. C is entirely innocent of the former, and rarely in the latter It's been many years since buffer overruns and the like were real security issues on the internet.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    10. Re:You hate C because you can't code in it. by fluffernutter · · Score: 1

      C was the first modern language I learned (though I may be showing my age) and I liked it fine. If you really need the speed and control that's the way to go. It would be terrible for a web framework though. You might squeak out a little bit more performance with C but you're going to cost yourself a lot of time coding those details. If I just want to make a page that displays a table with some options today, and then add more options tomorrow, and then add a detail page with the options, high level is the way to go.

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    11. Re:You hate C because you can't code in it. by aticus.finch · · Score: 1

      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.

      You handle unicode internally by using one of the many many libraries to turn UCS-2, wchar_t and UTF-16 into UTF-8, and then proceed as normal.

      Those same libraries usually let you turn UTF-8 back into UCS-2, wchar_t and UTF-16.

      Honestly, you only have unicode problems if you're programming on Windows.

    12. Re:You hate C because you can't code in it. by vtcodger · · Score: 1

      "Like the actual hardware doesn't have flaws as well.. Intel.."

      Personally, I think the Intel x86 instruction set is all the evidence that anyone could need that being utterly and completely incompetent is not an imprediment to achieving overwhelming success. Even at the 8088 level it was a shambles compared to say the Motorola 6809. And it has only gotten worse over time.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    13. Re:You hate C because you can't code in it. by Darinbob · · Score: 1

      Python is a pretty advanced language. I don't use it much but it's not at all like the Python from the 90s. The only thing really stopping it from being "mature" is that version 2 and 3 are incompatible. I whipped up a simulator for a board with it so we could work with it before the board was ready, and no way could I have done this with C without adding a few months effort, and easier than Perl even though I know Perl better than Python.

      Lisp is a great language. It's probably too abstract for some people though.

    14. Re:You hate C because you can't code in it. by Darinbob · · Score: 1

      Use UTF-8 and it's trivial in C. Can use all the normal string functions unlike the abomination of wide characters. The only time you need to convert a multibyte format into a fat character format is just before you actually display it, the rest of the time just treat it as a normal string and it just works. Of course, on the project schedule you can claim and extra two weeks so that you have time to head to the beach.

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

      If you think utf8 is trivial in C, you must not have used it for text containing non-ascii characters, or done only very simple processing. I'm guessing that it's the "only very simple processing" choice, because that is actually not unreasonable.

      FWIW I *do* prefer utf8 for file storage, but when a chunk contains non-ascii text I usually transform it into codepoints as that's easier. But it's far easier to just pick a different language. Choices that work are Python, Go, Vala, D, and Racket (i.e. Scheme). I'm sure there are others. Which is best depends on the task in hand. (Note that I didn't mention Java. Java has trouble with unicode punctuation and non-European characters.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    16. Re:You hate C because you can't code in it. by Darinbob · · Score: 1

      It was trivial because you rarely need to look at the text. Ie, internationalization of constant text that doens't need parsing, only displaying. That is zero text processing. I have seen programs that used wide character support just to handle that case, and they'd convert the multibyte format to wide characters as the first thing to do.

      Now if you're doing something like parsing that string, then yes, that's harder. But not necessarily that much harder. If you need specific dellimiters, then strchr will often work. If you're parsing a programming language then lex or strtok will handle this even if you have Asian characters in your comments or strings. That's because no byte within a multi-byte character can be confused with a single byte character (in UTF-8 or most other multibyte formats).

      Where it is even harder is if you need to pull apart each character. But there are standard ISO C functions for this that are easy to use.

      It usually never gets more difficult than this unless you're doing some types of GUI work.

      Generally, when someone complains about lack of Unicode support in C, they usually are talking about wide character support. I'm just pointing out that wide characters are not needed as often as they are actually used.

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

      It was trivial because you rarely need to look at the text. I

      You are making invalid assumptions about the kind of processing I was doing. Different tasks demand different tools. I was doing a bit more than just parsing the string. And C's handling of unicode is not satisfactory. (Actually, I also don't like the way it handles, or rather doesn't handle, variable name hiding either, but since I don't really expect the language to protect access I could learn to live with names like: NodeA_instance1_id_prefix. It's hideously ugly, but it can be lived with. Much worse is creating macros to hide the stuff. (I once had to maintain code that someone who liked to do that had written. Never again.) And nests of pointer indirections are a true abomination, that should be hidden by the language. That's stuff that CPU chips like, but which tend to cause untraceable errors when programmers hand craft them.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  5. Re:Top Post by Anonymous Coward · · Score: 0

    Good day, Sir.

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

    1. Re:IEEE says "Dice is a clueless, lost company" by Anonymous Coward · · Score: 0

      its bizx now not dice

  7. 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.
    1. Re:node.js, baby by Anonymous Coward · · Score: 0

      You can learn it in a two-week bootcamp.

      CoffeeScript is my favorite dialect of Python. Cleaner syntax and seamless JavaScript integration for the win!

    2. Re:node.js, baby by Anonymous Coward · · Score: 0

      I think most languages you can learn in a basic way in two weeks, except maybe assembler and the functional programming languages (depends on background I guess).

    3. Re:node.js, baby by HeckRuler · · Score: 1

      *slow clap*
      Bravo you glorious sonnovabitch. I lost it at guitar/sword.

    4. Re:node.js, baby by Anonymous Coward · · Score: 0

      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.

      So, javascript programmers like to play air guitar, and perform sex acts with corpses?

      Yeah, that's pretty much why I disable it on most sites, and disable 3rd party scripts entirely ... because, yes, the shit on the internet is exactly like what you describe.

      Ad and analytics companies ... teabaggers of corpses. Sounds about right.

    5. Re:node.js, baby by ItsJustAPseudonym · · Score: 1

      Thank goodness I had already swallowed my coffee before I read it.

    6. Re:node.js, baby by Darinbob · · Score: 1

      Anytime you've got a rockstar at your company it's time to update that resume. Anytime you've got a rockstar in a language then it's a sign that the language is more about status than in getting work done. Rockstar is the way kids say "douche" these days.

  8. Re:Top Post by Anonymous Coward · · Score: 3, Funny

    I do not like your hat.

  9. 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".

    1. Re:Always not representative of the real world by Comboman · · Score: 1

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

      Yes, engineers instead of script kiddies.

      --
      Support Right To Repair Legislation.
    2. Re:Always not representative of the real world by Anonymous Coward · · Score: 0

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

      Yes, engineers instead of script kiddies.

      This engineer hasn't given a fuck about the ieee since college, and other engineers I've worked with never gave a fuck about the ieee even in college, ACM yes, but none in ieee; that's for EE, not CS, (And I'm talking about ABET certified CS programs so still real engineering.) .

  10. 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.
  11. 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.

    1. Re:Representative of Electrical Engineers by Matt_Bennett · · Score: 1

      I think the ranking is BS- but they do expose the methodology if you click into it. AFAICT the ranking is about what languages people are *interested* in. Not necessarily being used by experienced programmers (EE or CS)

  12. "C/C++ is the best!" by Anonymous Coward · · Score: 0

    "Because C/C++ give you low level control!!!"

    But I say "And Assembly gives you even better low level control!!! Then why don't you people try to use Assembly then? Why Assembly is not really a popular programming language, do you think?"

    C/C++ will become like the COBOL today, someday, I say! :-)

    1. Re:"C/C++ is the best!" by Anonymous Coward · · Score: 0

      Assembly requires a lot of imagination.

      My brain was aching just from making up meaningful identifiers for labels and temporary variables, which would be anonymous compiler-generated symbols otherwise.

      And doing anything remotely more complex requires much planning, and changing anything in a complex assembly software requires high concentration and undivided attention, or strategic thinking.

      And trying to optimize it in the end ... you must be desperate, literally, you are already writing in assembly, and that is not enough?!

      But that is about hundred times easier then trying to make sense out of someone's (or your own old) assembly code. And that also includes understanding and amending alleged "C" code created by someone literally rewriting assembly programs into C, with register-named variables and gotos to labels ...

      Still, I am highly dissatisfied with the assembly code compilers produce. But OTOH, compilers don't have to worry that code they churn would have to be understood and maintained by humans, normally. When you need to look at compiler made assembly, it means the shit has already hit the fan.

      So ... assembly ... no. Rather give me C any day, unless someone really needs to descent into the belly of the beast.

      C++ is moving through programming landscape like a slow (not implying that C++ programs are slow), heavy war machine just crushing everything under its wheels. It is the programming language which will survive the end of time and optimize itself into universal perfection.

      C for simple, hard truth. C++ for everything else, ultimately. All other languages - for temporarily exploring new paradigms to be swallowed by C++.

      And COBOL ... it evolved too. But it didn't strive to reach universality so it remained a niche language.

  13. Forth by fermion · · Score: 1

    ok kids, it is up to you to save Forth. I don't see why so many people use assembly on embedded systems when it is easy to develop a customized Forth evvironment.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    1. Re: Forth by Anonymous Coward · · Score: 0

      Got any guides or pointers?

    2. Re:Forth by Anonymous Coward · · Score: 0

      I don't see why so many people use assembly on embedded systems when it is easy to develop a customized Forth evvironment.

      Yoda voice: ... that is why you fail.

    3. Re: Forth by Anonymous Coward · · Score: 0

      See the Moving Forth series of papers. Its a good place to get started.

    4. Re: Forth by Average · · Score: 1

      The original book is available as a free PDF. https://www.forth.com/starting... The second programming book I ever read... 5th or 6th grade was it... after my TI-99/4A's "Extended Basic" manual.

  14. Re:Top Post by dunnomattic · · Score: 1

    Look at those dogs go. GO DOGS GO!

    --
    ...when everything is a crime, everyone is a criminal.
  15. Commodore Basic!!! by Anonymous Coward · · Score: 0

    and also
    Buttsecks-on-rails!!

    1. Re:Commodore Basic!!! by Anonymous Coward · · Score: 0

      I would have given a funny mod point for C64/128 basic. That's what got me started in programming 35 years ago.

      But then you had to go and fuck it up.

    2. Re: Commodore Basic!!! by Anonymous Coward · · Score: 0

      Oh my little 8 bit beauty, how I used to PEEK and POKE her until I got my way. They say you always remember your first...

  16. What about all the other top dev.tool lists by cjeze · · Score: 4, Insightful
  17. 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
  18. Oh, yeah, the old "script-kiddies" addage. by Qbertino · · Score: 1

    Yes, engineers instead of script kiddies.

    AaaaahahahaHAHAHA!

    Well at least we have sex on a regular basis and get to go home when workhours end. And I also hear a little envy in there, over the fact that "script-kiddies" get more done in 3 months with their Plone Appserver / CMS than you Java/C++/C/Whatever lot in 5 years. But hey, at least you have neat specs!

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Oh, yeah, the old "script-kiddies" addage. by Anonymous Coward · · Score: 0

      Do not listen to them. We are the barbarians filthy and unwashed at the gates of their empire. They think themselves invincible because long have they reigned, such ego and bravado that while their mind is telling them the end is nigh they pump their fists against their chests and bellow at their superiority in public response.

      Do you know why Ghengis was so successful? Ghengis utilized small extremely efficient horses that could graze for themselves and survive the harshest conditions and traverse the toughest terrains, their camels could provide meat, material, and fuel (they would burn the dung for a simple stove to cook meals) allowing them to bring their provisions with them and not require a re-supply line backwards to mongolia.

      High mobility, intelligent resource utilization, better leadership and unification of forces, these were the keys, and they still are today.

      Javascript is inevitably going to crush almost all other languages because of its ability to let the creator directly reach out, to code anything and everything, and to do it without the need of a large corporate backing. We are fast, efficient, and can sprout like a weed from anywhere and do incredible things. We can challenge the dominant desktop apps like office, we can destroy entire empire industries like the movies, we can dance and swim with the code.

      Worry not, we are the future, and nothing can stop our empire.

    2. Re:Oh, yeah, the old "script-kiddies" addage. by Anonymous Coward · · Score: 0

      That would be "adage" in English...

  19. Whatever is free is popular by Anonymous Coward · · Score: 0

    You know how a language becomes popular?

    You give it away for free. It gets installed on the platforms people care about. That's 99% of it. How else to explain shit languages becoming dominant? Prime example: Javascript.

    1. Re:Whatever is free is popular by Anonymous Coward · · Score: 0

      Why do you think that?

      So much hate for a language that works, none of yours ever did because transmission of what you had created was not baked into the creation itself like it is with the web. Are you all managers who are afraid your employees will bolt to freedom? Or are you all pissed off coders who see us javascript developers eating your lunch now, and in the future walking into that shiny new home which used to be yours as we take over areas traditionally reserved for compiled programs like complex modern games, video editing, etc?

      I do not think the hate towards javascript has anything to do with syntax so much as it has to do with a new regime making big waves against the old.

    2. Re: Whatever is free is popular by Anonymous Coward · · Score: 0

      You're funny.

      I seriously dislike Javascript because it is objectively a shit language that is used to produce unstable code that barely works, frequently by nimrods who don't know anything else, so they think it's the bee's knees. Webapps are buggy pieces of garbage, but to be fair to those who write them, you just can't do any better with the junk technologies that make up the web.

      The only reasonable place for Javascript is in web browser code just because it's the only choice for the moment by an accident of history. Web Assembly will eventually cause its decline there, though.

      Just one sign of a junk language: how many equals operators does a language need? = == ===
      Truthiness resulting from unexpected and complicated rules? Should have just had a simple Boolean data type from the start. Oh that's right, Javascript DOES'T HAVE real data types! What do you expect from a language written over a few days for the purpose of adding some 10-line toy enhancements to a 1990s webpage? onMouseOver RICK ROLL.

    3. Re:Whatever is free is popular by Junta · · Score: 1

      In most contexts, you have a choice in languages. If I don't like perl, I ignore perl. If I like C, I can write in C. My language choice in general purpose world is free and I can ignore the ones I disagree with.

      Javascript in part has a problem because developers that need to do something inside a browser have *no choice*. So people who dislike it and would ignore it cannot get away from it, and so hate it as they work on it.

      I personally am not big on Javascript. Two big issues for me:
      -The 'standard library' is rather limited, because everyone started bolting on third party code and bundling it and that means it's somehow ok that javascript does not build in some basic functionality (e.g. no good builtin string formatting)
      -What functions there are verbose, and I personally don't like camel case, too many trips to the shift key. I have seen too many people go straight to jQuery selectors because it's terse, but it's a dog on performance compared to using those functions correctly...

      --
      XML is like violence. If it doesn't solve the problem, use more.
    4. Re: Whatever is free is popular by Anonymous Coward · · Score: 0

      Hello,

      "Shit language" has to be backed up by something, so far I've seen it do nothing but transform the web into an amazing and interactive place. Shit languages to me are the ones nobody uses because they don't do anything of value. Javascript is doing amazing things, it is absolutely transforming the world. I have never seen a web app crash in any way shape or form, when you say they are buggy, buggy as compared to what? With my observed error rate across decades of 0% with javascript this has certainly NOT been my experience with actual installed applications which lock up and crash in buggy ways constantly. I would say it is extremely stable and functional and as compared to a binary app it is as stable as a steel statue.

      "=== operators ", well it is part of the syntax, and I utilize == and === differently depending on the situation. You may not like it, however I do not like tab spacing, that is much more of a personal like than anything to do with ability or performance.

      "Data types" This one is probably my most worn out favorite, you must be some sort of data type lover along with a LOT of other people. However as a javascript developer, I quite like the freedom and when you understand the casting system and lack of data types I actually love it having no real data types! I wish more languages would let me just setup a variable that is nothing for a second that will become something a moment later, that is super han-diddily-dandy all over the place. The lack of hard data type and ease of casting from one type to another is one of the core draws for me. It feels like silly syntax that some people got all assburgers over was just stripped away so normal people could use the language in an intuitive manner that facilitates wider adoption and easier creation. I wish more languages would follow the javascript route instead of you guys all bitching at javascript to muddle up its code with a ton of stupid casting functions. Leaving the data type stuff out allows for way faster coding and it has NEVER been an issue despite how much people might want to knash their teeth and scream about it, in all my years it has not once, never, ever actually come into play in any way shape or form. So whenever I hear that argument it is possibly the stupidest of all the arguments. The lack of data types is a plus not a minus.

    5. Re:Whatever is free is popular by Anonymous Coward · · Score: 0

      Javascript in part has a problem because developers that need to do something inside a browser have *no choice*.

      On the plus side, All Major Browsers Now Support WebAssembly

    6. Re:Whatever is free is popular by Anonymous Coward · · Score: 0

      > I personally don't like camel case, too many trips to the shift key.

      Its_better_than_too_many_trips_to_the_shift_AND_hyphen_key !

  20. Why not slashdot poll? by Anonymous Coward · · Score: 0

    Why not just up a slashdot poll and get this over with?

  21. Wow! A roughly honest rank of languages! by Anonymous Coward · · Score: 0

    Usually it's just some list made up by Ruby/Go/ Rust faggots to pretend they are significant.

  22. 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;
    }

    1. Re: aah, language holy wars. by Anonymous Coward · · Score: 0

      You should change "return 0;" to "exit(0);"
      Code review says: DO OVER

    2. Re: aah, language holy wars. by Anonymous Coward · · Score: 0

      Brilliant.

    3. Re: aah, language holy wars. by Anonymous Coward · · Score: 0

      > You should change "return 0;" to "exit(0);"

      Both are unnecessary. It's part of the C standard that main() will return a 0 by default if it reaches the end of its definition block without encountering a return() statement.

    4. Re: aah, language holy wars. by HeckRuler · · Score: 1

      Typical code review bitched about some minor style thing while missing the blatantly obvious: #include that would break everything and fail to pick up stdio because I didn't escape the "" ...The "" ""! GodDAMNIT |,\.|,>|,.||>.,.,>..,>

      There we go.Yes. Mashing the keyboard in anger is indeed how a percentage of coding is done.

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

  24. Re:Top? Most popular, perhaps by HiThere · · Score: 1

    C++ is a pretty good language. It's main problem is it's trying to be the five top languages. Just about nobody uses more than a small subset of C++ plus the underlying commonality of C (with, admittedly a dialect difference from standard C).

    The problem with this is that it makes all the features obnoxiously ugly, because it really needs to squirm to maintain compatibility with all the features when it wants to handle something new.

    E.G.: I want a language with a built-in garbage collector and hash tables. This is because of the area in which I'm working. It means that C++ is uses really annoying syntax and I need non-standard libraries. So I look elsewhere. But if I were already committed to C++, I *could* do the entire thing in it, and it could be just as efficient, possibly more so. BUT it would be extremely ugly and difficult to maintain.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  25. The rise of C++ is due to Microsoft? by Jerry · · Score: 1

    and its marketing of it?

    --

    Running with Linux for over 20 years!

  26. Not giving a fuck by Anonymous Coward · · Score: 0

    The ieee might be surprised, but most programmers really don't give a fuck about them and the ones who do aren't a representative subset.

    1. Re:Not giving a fuck by cpurdy · · Score: 1

      What is the ieee?

  27. Shocked? by Anonymous Coward · · Score: 0

    I am shocked that FORTRAN IV and COBOL are not listed! (not really). But with all the Department of Defense spending and DOD subcontractors I would think Ada would be higher...

    1. Re: Shocked? by Anonymous Coward · · Score: 0

      I did DoD contracting in the 1990s.
      Even then almost no one wrote in Ada. It was C.
      Aerospace I understand had higher Ada penetration.

  28. Suspicious by micahraleigh · · Score: 1

    I would expect some volatility here ... but this article makes it sound like the two most used languages can be one thing last year and completely different languages the next.

    A change of that size and speed would have a lot of jarring ripples that ordinary developers would probably notice. I'm a little skeptical here.

    And it matters a lot for any devs hoping to stay in tech ... esp those over 35.

  29. Re:I'd start counting flaws but I don't have all d by lgw · · Score: 1

    SQL is Turing complete. Which is somewhat terrifying, but far less so than C++ template meta-programming (talk about an emergent property best thought of as a bug!).

    --
    Socialism: a lie told by totalitarians and believed by fools.
  30. Re:I'd start counting flaws but I don't have all d by Anonymous Coward · · Score: 0

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

    Love it!

  31. Re:I'd start counting flaws but I don't have all d by mr_mischief · · Score: 1

    That it is, but it's not generally used to develop actual standalone software. Apart from the odd one-off ad hoc query it's wrapped by another language and often has a stored procedure or several in another (possibly different still) language.

  32. Re:Top? Most popular, perhaps by Anonymous Coward · · Score: 0

    std::unordered_set == hash table. No need to use non-standard libraries for that.

  33. Re:Top Post by Anonymous Coward · · Score: 0

    Now, what I was doing?
    Hey look at those dogs go. GO DOGS GO!

  34. Re:I'd start counting flaws but I don't have all d by Anonymous Coward · · Score: 0

    SQL/PSM

    https://github.com/arduino/Arduino/wiki/Build-Process#pre-processing

  35. Re:Top? Most popular, perhaps by HiThere · · Score: 1

    The comment about non-standard libraries was WRT garbage collection.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  36. Re:Top? Most popular, perhaps by Junta · · Score: 1

    Interestingly enough, annoying syntax is one reason why C/C++ tends to be faster.

    In python, it's equally easy to do while curr != 'sentinal' versus while curr != 1'. In c, you get annoying doing memcmp or strncmp and quickly go to the numeric based sentinal. This maps to what is *much* easier to do for the computer.

    Same with hash tables versus arrays. mydata= {} is as easy as mydata = [] and I have actually seen the former and then the programmer do mydata[0], mydata[1].

    And of course there are structs. C really makes you think about organizing your data and doing things that will naturally align things well for using. Versus the much more convenient, but damn near impossible to optimize structures people will build in python.

    In fact, sometimes the python syntax makes the harder way easier. For example you want to read part of an array, say 3rd byte and on. In C you might have a pointer and you just do 'b = a + 3'. In python the syntax you would probably gravitate toward is 'b = a[3:]'. This however makes a copy of part of a and points b to the new copy. Python does offer it, but it's a more obscure 'b = buffer(a, 3)'.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  37. Re:I'd start counting flaws but I don't have all d by mr_mischief · · Score: 1

    SQL/PSM isn't SQL. It's a second, optional language added to the SQL standards and competes with the likes of TSQL, PL/SQL, and PL/pgSQL. It's an optional extension with different syntax. If you're arguing (by just mentioning it) that SQL/PSM and SQL are the same thing, then we may as well say C#, C++, Objective-C, Cilk, and C-with-classes are all C. Lump Delphi and Ada into the Pascal bucket. Call SML and OCaml both just ML.

    Yes, Arduino has a special preprocessor for C++. Many projects have their own preprocessors, template kits, custom configurators, or custom build systems. That doesn't mean the language isn't still C++. Visual C++ is still C++. Delphi is still Object Pascal, and C++ with Boost or the STL or some custom preprocessing that is still written as C++ is C++. The Arduino FAQ lets you know that the recommended language is just C or C++ with some custom functions and some preprocessing. It also goes on to say you can program it in any language that supports the processor so long as you link against the proper libraries. https://www.arduino.cc/en/Main...

  38. Assembly is number 10? by Anonymous Coward · · Score: 0

    Assembly is so more than one language. Thousands! Which one?

  39. Re:Top? Most popular, perhaps by HiThere · · Score: 1

    Sorry, but no. The annoying syntax is necessary to make the language fast only because of maintaining historical continuity AND remaining a swiss army knife. It's true that the language would have needed to change in other ways to allow the speed without the incredibly ugly syntax. And this basically would have required the language to split into syntactically incompatible subsets, probably, as I guessed earlier, about five.

    That said, I will agree that if you are going to make the language maximally compatible with prior versions including keeping the "one tool fits all" form, then maintaining speed requires the (or rather some) horrendously ugly syntax. There were choices, and they didn't make the worst choices. Possibly they were the best choices given the constraints that they accepted.

    FWIW, in my opinion the language made a mistake in not splitting in half back around 2000, probably a bit earlier, with one fork adopting (flexibly disable-able) garbage collection, dynamic strings, and possibly a few other things, and the other fork more or less as it went. The tricky thing would be they would need binary compatible compiled code, so you could mix the two languages in the same program. It's hard to say how things would have gone since then, but it would probably have developed several dialects that could be mixed within a compiled program, but not within the same source file.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  40. Re:I'd start counting ?! Write code to do that! by fygment · · Score: 1

    ... in Python

    --
    "Consensus" in science is _always_ a political construct.
  41. Assembly is at 75/100? by herbierobinson · · Score: 1

    I am very suspicious of a methodology that puts all of the values so close together and where assembly language even registers... That's like saying a huge portion of development work is being done on MS-DOS!

    This seems more like a ranking of which languages people have the most problems with :-)

    --
    An engineer who ran for Congress. http://herbrobinson.us