Slashdot Mirror


The Most Loved and Most Disliked Programming Languages Revealed in Stack Overflow Survey (stackoverflow.com)

angel'o'sphere shares a report: The annual Stack Overflow survey is one of the most comprehensive snapshots of how programmers work, with this year's poll being taken by almost 90,000 developers across the globe. This year's survey details which languages developers enjoy using, which are associated with the best paid jobs, which are most commonly used, as well as developers' preferred frameworks, databases, and integrated development environments.

Python's versatility continues to fuel its rise through Stack Overflow's rankings for the "most popular" languages, which lists the languages most widely used by developers. This year's survey finds Python to be the fastest-growing major programming language, with Python edging out Android and enterprise workhorse Java to become the fourth most commonly used language. [...] More importantly for developers, this popularity overlaps with demand for the language, with Julia Silge, data scientist at Stack Overflow, saying that jobs data gathered by Stack Overflow also shows Python to be one of the most in-demand languages sought by employers.

[...] Rust may not have as many users as Python or JavaScript but it has earned a lot of affection from those who use it. For the fourth year running, the language tops Stack Overflow's list of "most-loved" languages, which means the proportion of Rust developers who want to continue working with it is larger than that of any other language.[...] Go stands out as a language that is well paid, while also being sought after and where developers report high levels of job satisfaction.
Full report here.

40 of 268 comments (clear)

  1. Self Selected Survey Participants .... by Troy+Roberts · · Score: 4, Insightful

    Always produce significant and valid results .... NOT!

  2. Re:Android? by AmiMoJo · · Score: 4, Informative

    I looked at the survey and it demanded a lot of random personal information, I didn't fill it in. So the data from it is biased towards people who freely give up their personal data for no benefit to themselves.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  3. Loving a language? by pegdhcp · · Score: 4, Funny

    Once Frank Herbert had Gurney Halleck to tell Paul Atreides, thus to us as reader:
    "Mood? What has mood to do with it? You fight when the necessity arises — no matter the mood! Mood's a thing for cattle or making love or playing the baliset. It's not for fighting."
    Similarly loving a language has nothing to do with its utilisation or benefits, it is for (well not cattle, but) cowboys who love to brag about last huge program they wrote, which contains 1.000 or more lines, even excluding whitespace that is...

    1. Re:Loving a language? by Opyros · · Score: 3, Insightful
  4. Fuck Python by illiac_1962 · · Score: 2, Insightful

    All this Python popularity reminds me of the rise of BASIC's popularity. It won't be long before people think you can write serious, user facing applications with that steaming pile. I can defintitely get behind using it for infrastructure automation and analytics but fuck trying to build anything large. But alas, the non technical will hear buzz of its popularity and the inexperienced will be allowed to build shit with it. God help us all.

    1. Re:Fuck Python by sinij · · Score: 4, Funny

      A car analogy: You are complaining that your ride-on lawn mower doesn't get great highway gas mileage.

    2. Re:Fuck Python by drinkypoo · · Score: 5, Insightful

      As I tell my Python-enamored son every day: "Python is just Perl with the curly bits rubbed off". What I don't say is Perl just a universal scripting language and little better than Shell Scripts on any system.

      No way. Perl is grossly better than shell scripts, at least where the job is better done with perl. Some very simple jobs are still best done with a shell script. If you have to do anything complicated, though, perl is going to use a lot less resources because you're not having to construct complex pipes to do simple things.

      Perl only ever made sense where there was a lot of string handling to do. Alas, people used it for other things as well because they understood perl, but not the languages they should have been using (Mostly C or C++, in Perl's heyday.)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:Fuck Python by prunus.avium · · Score: 2

      Ummm....don't look at OpenStack then. It's all Python.

      Admittedly, it's all "infrastructure automation" interfacing with hypervisors and storage arrays. But it is a large project.

    4. Re:Fuck Python by prunus.avium · · Score: 2

      But that's the problem with almost every language. It's the old saying, "If the only tool you have is a hammer, every problem looks like a nail."

      Perl programmers extended Perl to be able to do stuff that it was not suited to doing.

      The same thing is happening now with JavaScript and Python.

      My personal problems with Perl are the hieroglyphics and the "default variable". There is an implied target variable that I don't ever actually see? Fuck that.

    5. Re:Fuck Python by dbrueck · · Score: 5, Insightful

      Language choice is fairly subjective, so if you don't like Python, that's cool. But there are a number of solid reasons why it has grown in popularity and it's not because it's something new - the language is almost 30 years old now. I've been using it for about 20 years now and for me it has been terrific for one-off utility scripts written by one person to huge projects with many developers at a couple of different Fortune 50 companies, and everything in between.

      Many of the alleged reasons why Python would be unusable for certain scenarios (e.g. large projects) tend to be fallacies or more theoretical problems than actual problems.

      The choice of programming language *always* involves tradeoffs. Python isn't the best tool for every job, but in many scenarios the benefits have outweighed the costs in a pretty lopsided manner. To each his own of course.

    6. Re:Fuck Python by Dragonslicer · · Score: 2

      Python kinda gives me an icecream headache. When I spent an hour trying to figure out why the code blew it's brains out when I took a three-element array and put only ONE element in it, I wanted to grab the workstation and defenestrate it. So I started with something like: temp[-10, 50, 110] ..and needed it to be something like this: temp[50] ..which, in any sane language (like C/C++), would've been fine, but in Python? Oh, no no no! In Python, it had to be like this: temp[50,] Mind: BLOWN. *facepalm*

      None of that is true about lists - foo = [50] works just fine.

      Are you thinking of tuples, maybe? If you want to create a one-item tuple, you have to put in an extra comma so that the interpreter knows that you want a tuple instead of just using parentheses for something like forcing order of operations; you have to write (50,) instead of just (50). I agree that the syntax for that is somewhat annoying, but I would also question why you're creating a one-item tuple in the first place.

    7. Re:Fuck Python by fluffernutter · · Score: 4, Insightful

      When you write pseudo-code do you write all the brackets? The point of python is to be like pseudo-code but actually be functional. If you're writing something where speed doesn't matter that much but you need absolute flexibility in functionality Python will get you there quick. If you're writing a driver, use C for chrissakes.

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

      If I could pick a language that does what I want and I could learn quickly (ie. any fool can learn it) then why wouldn't I use it? Are you saying I should spend extra months learning a horribly complex language that I only need 10% the capability of?

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

      Some amount of that could be just the sucky nature to lots of large software projects - we've probably all seen big projects go bad in any number of different languages.

      Like I said to the other guy, if it's not for you, great. But there's really nothing in the language that makes it inherently bad for large projects (and lots of things that makes it good for them). We've used Python on a number of very large projects and it worked out well for us.

    10. Re:Fuck Python by dbrueck · · Score: 2

      Sure, it works. I've just found that where it works, you simply accept the tradeoffs.

      Of course, but that's true of all languages. As an example: a good chunk of my career has been writing application servers, and years ago I stopped writing them in C/C++ because the development time was too long - with C I could squeeze out nearly every ounce of potential performance, but the cost of doing so was too high (time to dev as well as the resulting complexity). The Python versions were of course slower, but not drastically so (because the servers tended to be I/O bound anyway).

      When performance is the main problem, it's often easy to move a small portion of an app to a language closer to the metal, without having to port the whole thing. Last month I finished up a desktop app that takes 3D room models and generates CAD files. I wrote the app in Python but found the performance was not up to snuff (no surprise), so I moved the heavy lifting (maybe 2-3% of the functionality) to C. Performance still wasn't where I wanted it, so I moved that to the GPU.

      In terms of tradeoffs, I used Python to get the whole app working end-to-end much more quickly than I would have in some other languages (especially with the requirements changing out from under me a couple of times along the way), and then moved the little kernel of performance-critical stuff into something more suitable - paying the price for tradeoffs but doing it in a way where the cost-benefit ratio worked out pretty well.

      I mean, I use Zenoss. It's an amazing product. The fact that it takes 5 minutes to start up on $4000 hardware, where Nagios does it in about 12 seconds is fine. We accept the trade-off.

      Out of curiosity, is there any indication that the difference is actually due to Python?

    11. Re:Fuck Python by Dragonslicer · · Score: 2

      Would you blame C because some idiot used a struct instead of an array? Because that's basically what you're doing.

    12. Re:Fuck Python by angel'o'sphere · · Score: 2

      It won't be long before people think you can write serious, user facing applications with that steaming pile.
      No idea why you consider it a "steaming pile".
      a) the language is beautiful, you hardly can claim that about any other language
      b) the libraries are excellet
      c) you are simply wrong, there is plenty of large software written in Python, e.g. Eve Online, the MMO with the biggest concurrently online community in a single game world on the planet.
      d) the language is portable and has enough GUI bindings to deploy on all majour PC, unix and mobile platforms

      Probably you are not aware what desktop applications are actually on your PC written in Python ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    13. Re:Fuck Python by DamnOregonian · · Score: 2

      Of course, but that's true of all languages. As an example: a good chunk of my career has been writing application servers, and years ago I stopped writing them in C/C++ because the development time was too long - with C I could squeeze out nearly every ounce of potential performance, but the cost of doing so was too high (time to dev as well as the resulting complexity). The Python versions were of course slower, but not drastically so (because the servers tended to be I/O bound anyway).

      No doubt about it. The development cost of using C makes it unattractive where it isn't strictly needed.

      When performance is the main problem, it's often easy to move a small portion of an app to a language closer to the metal, without having to port the whole thing. Last month I finished up a desktop app that takes 3D room models and generates CAD files. I wrote the app in Python but found the performance was not up to snuff (no surprise), so I moved the heavy lifting (maybe 2-3% of the functionality) to C. Performance still wasn't where I wanted it, so I moved that to the GPU.

      Agreed. I do the same thing.

      In terms of tradeoffs, I used Python to get the whole app working end-to-end much more quickly than I would have in some other languages (especially with the requirements changing out from under me a couple of times along the way), and then moved the little kernel of performance-critical stuff into something more suitable - paying the price for tradeoffs but doing it in a way where the cost-benefit ratio worked out pretty well.

      Also no argument here.

      Out of curiosity, is there any indication that the difference is actually due to Python?

      The language? Na.
      The implementation? Absolutely.
      Python is a memory hog. Even basic benchmarks show that.
      I've found that python isn't bad at all for smaller jobs, but larger ones, particularly resident ones, very often become problematic and need to be restarted, as they get slower and slower (memory fragmentation?)
      I also know I'm not alone in noticing this. Pick any large python project, go to its bugs list. You'll find it there.
      I'm not arguing that Python is not without its utility. I'm simply saying that it has been used in places where it shouldn't have been. In places where someone failed when they did the cost benefit analysis. Or- as an alternative hypothesis, we have simply decided that producing code is more important than how well the code runs. Perhaps we have just entered an era where quantity is more important than quality.

    14. Re:Fuck Python by drinkypoo · · Score: 2

      Unless you mean that you're still thinking of Perl as a glorified sed/awk? It hasn't been that for over 25 years.

      Personally, I think of perl as glue. It's good at tying things together. There are modules for many things. In fact, that's one of the many things that annoys me about Python. We had perl already, and its massive library of modules, and then Python came along and had to start all over. What a waste of effort. Perl was perfectly fine for all the things being done with Python now.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    15. Re:Fuck Python by Rich.Miller.6 · · Score: 2

      I'll disagree with this. Perl lets you write beautiful code: clear, efficient, and about as close to bug-free as we can achieve with current technology. I was responsible for a suite of 600 tools written in about 160,000 lines of Perl. We had a release of new and improved code every three weeks, typically with no known bugs. The principal documentation writer told us to stop providing release documentation because the code was so clear that she (a non-programmer!) could just read it. The tools produced log files that let us fix about 95% of bugs without having to reproduce the, because the logs showed precisely what had gone wrong and where. If there's another programming language that supports this kind of work and productivity I'd like to hear about it.

  5. Re:Android? by iggymanz · · Score: 4, Insightful

    the benefit was it gives megaphone to those who support cute niche flash-in-the-pan fad languages

  6. Re:Android? by chispito · · Score: 3, Informative

    *pulls out moto x pure and stares at it.* There is an Android programming language? who knew?

    Reread the sentence

    with Python edging out Android and enterprise workhorse Java

    It is not well constructed but a second glance clarifies things. It would be better written, if still clunk, thus

    with Python edging out Android-and-enterprise-workhorse Java

    --
    The Daddy casts sleep on the Baby. The Baby resists!
  7. Re:Android? by Joce640k · · Score: 2

    +1 Insightful

    Everything about the list screamed "fashionable".

    --
    No sig today...
  8. I know what I like ... and what I hate. by Anonymous Coward · · Score: 5, Interesting

    I like languages that let me get paid, be efficient, have unlimited control over the resulting program.
    I had languages that restrict my capabilities, have obnoxious fanbois, and are slow.

    Like list:
    * C
    * C++
    * Perl
    * Go
    * Ruby (though it is slow, sometimes)

    Hate list:
    * Java
    * Javascript
    * Rust - hate the fans.
    * C# and any other "managed" language
    * ObjectiveC - sometimes hate just comes from the platform
    * Php
    * Cobol

    Don't care list:
    * python
    * Pascal
    * Whatever apple is pushing today.
    * Whatever google is pushing today.
    * Whatever MSFT is pushing today.

    I've coded for almost 3 decades, using about 40 different languages. If you are a noob, stick with noob-friendly languages, please. BTW, that does NOT include php.

  9. Hate for Java? by Anonymous Coward · · Score: 2, Funny

    I don't understand the hate for Java.

    Java is fast, secure, and compact.

    With only a few cores, a few GB of disk space, and a few GB of ram, "hello world" compiles and runs in just minutes!

    And it gets faster every time it's run!

    Find me a language more secure.

    Find me a language more compact.

    Find me a language that's faster.

    C is full of security holes, and slow.

    ASSembly is slow, full of holes, and slow.

    The minimum specs are there for a reason. If you don't have at least a few cores, and a few GB of RAM, and say 100GB of disk space, go back to your speak and spell.

    1. Re:Hate for Java? by TheDarkMaster · · Score: 2

      The thing about C is that it assumes you know what you're doing. Total control, no training wheels.

      --
      Religion: The greatest weapon of mass destruction of all time
    2. Re:Hate for Java? by bobbied · · Score: 3, Insightful

      Yup, exactly this...

      The compiler doesn't really care if you want to multiply the letter "A" by "5" and then use the result as a pointer to a data structure. Of course, there have been improvements in the compilers over the years, where they will at least complain about type mismatches, and the ever valuable LINT program to help keep you out of the weeds. But in the end, you are free to do as you please, as fast as the machine will chew though the assembly code the compiler wrote for you (or as I've done in the past, the assembly you wrote for the compiler).

      The issue most of these surveys don't take into account is which tool is suited for which job. My favorite language depends on the task at hand and the suitable tools in the my tool box. Writing a device driver? C or assembly.. Writing some GUI to run locally? C++/Java... Need to interface with some specific Java library? Then Java.... It all depends.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  10. What happened to Perl? by damn_registrars · · Score: 3, Funny

    I don't see Perl anywhere on the list. Not popular, not hated, not paid, not used. I can't be the only person still regularly using it.

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
    1. Re:What happened to Perl? by hugetoon · · Score: 3, Informative

      Count the number of times Perl is mentioned in the comments here, it will give You a hint on what it has become: irrelevant.
      I am probably as sad as You are about this fact of life, let's mourn our beloved programming language together, fellow Perlist.

    2. Re:What happened to Perl? by kackle · · Score: 2

      I wondered the same about Perl: An easy check is a job search. It doesn't look good.

    3. Re:What happened to Perl? by whoever57 · · Score: 2

      I don't see Perl anywhere on the list. Not popular, not hated, not paid, not used. I can't be the only person still regularly using it.

      The Perl programmers are too busy constructing that perfect recursive regex (with look-ahead and look-behind) to be able to take part in a survey.

      --
      The real "Libtards" are the Libertarians!
    4. Re:What happened to Perl? by damn_registrars · · Score: 3, Insightful

      I wondered the same about Perl: An easy check is a job search. It doesn't look good.

      I generally advise nobody ever apply to a job that lists a specific programming language as an absolute requirement, it is usually just a pathway to obsolescence. Find a posting instead that describes the types of problems they are looking to solve and then present to them why you are the best person to help solve them. The language choice is not critical, and never should be.

      Just because it isn't listed as a job requirement doesn't mean it's not used, either. This shitty website still runs primarily on Perl.

      --
      Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
    5. Re:What happened to Perl? by Ecuador · · Score: 2

      That's a weird thing to say, I'm in the UK and the Perl job market is very competitive. Decent perl devs get snapped up immediately. My company had to offer about 20% more than we'd offer to a swift/obj-c dev of similar experience to lure our latest hire...
      But I am pretty sure no Perl dev would be filling out a stack overflow questionnaire.

      --
      Violence is the last refuge of the incompetent. Polar Scope Align for iOS
  11. My Claw Hammer by Carcass666 · · Score: 4, Insightful

    I love my claw hammer. It works for anything I want to build, and I never need other tools. People who use ball-peen hammers or malletts obviously don't know how to use hammers properly. Anybody who uses screwdrivers or wrenches is obviously an idiot, who doesn't really understand how to build things.

  12. SQL #3?????? by MikeDataLink · · Score: 3, Informative

    "Do I think that more people will start using Python than SQL? That would be tough, SQL plays a role in huge swathes of the economy. I'd be surprised if next year Python overtakes SQL, just because SQL is so dominant."

    SQL is #3 on the list. Since when did SQL become a programming language SQL us a a QUERY language.

    --
    Mike @ The Geek Pub. Let's Make Stuff!
    1. Re:SQL #3?????? by N1AK · · Score: 2

      Trust me that there are plenty of people who use SQL like a programming language. We have dozens of 3,000+ line stored procedures and job steps (queries) that we have to keep ticking over; just because SQL "shouldn't" be a programming language doesn't mean everyone got that memo!

  13. Re: Swift should be at the top by phantomfive · · Score: 2

    Swift is crap. The major complaint about Objective-C was that it had all the baggage of C. Well guess what? Swift has all the baggage of C *and* Objective-C. It's hard to be a language designer these days because you need to know all the language paradigms and good ideas in other languages, so I have sympathy for the Swift designers, but not the language. Oh, and while we're at it, Xcode looks like it was built by UX designers, not by people with domain knowledge of the programming ecosystem.

    --
    "First they came for the slanderers and i said nothing."
  14. Re:AC is hilarious by fluffernutter · · Score: 3, Interesting

    If anything knock Python because of the GIL issue. Maybe on large projects, dynamic typing is problematic if you are lazy with variable names and documentation. Don't knock it because you can't accept 'something different'. The indentation helps in a lot of cases; and it quickly starts to feel redundant doing { } everywhere. Neither is really better than the other.

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

    Or simply "with Python edging out Java, the Android & enterprise workhorse".

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  16. How exciting! by cyber-vandal · · Score: 2

    A Slashdot snobfest!