Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Python Stats

IEEE Spectrum Declares Python The #1 Programming Language (ieee.org) 372

An anonymous reader quotes IEEE Spectrum's annual report on the top programming languages: As with all attempts to rank the usage of different languages, we have to rely on various proxies for popularity. In our case, this means having data journalist Nick Diakopoulos mine and combine 12 metrics from 10 carefully chosen online sources to rank 48 languages. But where we really differ from other rankings is that our interactive allows you choose how those metrics are weighted when they are combined, letting you personalize the rankings to your needs. We have a few preset weightings -- a default setting that's designed with the typical Spectrum reader in mind, as well as settings that emphasize emerging languages, what employers are looking for, and what's hot in open source...

Python has continued its upward trajectory from last year and jumped two places to the No. 1 slot, though the top four -- Python, C, Java, and C++ -- all remain very close in popularity. Indeed, in Diakopoulos's analysis of what the underlying metrics have to say about the languages currently in demand by recruiting companies, C comes out ahead of Python by a good margin... Ruby has fallen all the way down to 12th position, but in doing so it has given Apple's Swift the chance to join Google's Go in the Top Ten... Outside the Top Ten, Apple's Objective-C mirrors the ascent of Swift, dropping down to 26th place. However, for the second year in a row, no new languages have entered the rankings. We seem to have entered a period of consolidation in coding as programmers digest the tools created to cater to the explosion of cloud, mobile, and big data applications.

"Speaking of stabilized programming tools and languages," the article concludes, "it's worth noting Fortran's continued presence right in the middle of the rankings (sitting still in 28th place), along with Lisp in 35th place and Cobol hanging in at 40th."
This discussion has been archived. No new comments can be posted.

IEEE Spectrum Declares Python The #1 Programming Language

Comments Filter:
  • Lingua Franca (Score:5, Insightful)

    by 0100010001010011 ( 652467 ) on Saturday July 22, 2017 @08:48PM (#54860043)

    Python has hit critical mass in both popularity and tools available. C, C++, Java, Perl and anything else the average /.er is going to complain about going anywhere just like FORTRAN and COLBOL haven't.

    XKCD [xkcd.com] hit the nail on the head. It's something easy enough for middle schoolers to grock and powerful enough to use with TensorFlow. It's our office's go-to language for "I need this task done". It's basically BASIC where you can import math (numpy), plotting (matplotlib), neuralnetwork (TensorFlow) and other packages.

    Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.".

    You can knock out something in 30 minutes in Python that would take longer in anything else and the performance difference isn't worth doing it in something else.

    • Re: Lingua Franca (Score:5, Insightful)

      by corychristison ( 951993 ) on Saturday July 22, 2017 @08:53PM (#54860067)

      You can knock out something in 30 minutes in Python that would take longer in anything else and the performance difference isn't worth doing it in something else.

      In reality this could be said of most scripting languages, including PHP, JavaScript, Bash, etc.

      • Re: Lingua Franca (Score:4, Interesting)

        by 0100010001010011 ( 652467 ) on Saturday July 22, 2017 @09:01PM (#54860115)

        And until I hopped over to Python I did use PHP as that when I wanted something a bit better than Bash.

        But PHP, JavaScript and Bash aren't as easy to install on Windows. They certainly don't have the number of packages available.

        "How to ____ in Python" will turn up results for almost anything. I would be interested in seeing a CUDA backed neural network in Bash.

        • I still prefer PHP for quick and dirty. If I need it reliable I generally use bash.

          I don't use Windows, so I guess there's that. :-)

        • Re: (Score:2, Interesting)

          by lucm ( 889690 )

          Did you even try to install NodeJS on Windows? Click click done. And npm happens to have the biggest number of packages of all package managers. And yes, it includes packages to do a CUDA backed neural network. As if anyone who has meaningful volumes of data to process in a neural net would use Python or JavaScript anyways.

          Don't Bash things you don't know (pun intended).

          • Did you even try to install NodeJS on Windows?

            Have they fixed the fact that NPM dies when running into MAX_PATH on Windows?

            • by lucm ( 889690 )

              Dunno, never ran into that (alleged) problem.

              But just a quick look at your username and it's immediately obvious that typing long strings is something you enjoy, so I could see how someone like you would stumble upon edge cases like hitting a MAX_PATH limit.

            • I remember a few years ago when npm was a real pain in the ass on windows and the community seemed hostile to people posting windows issues. These days it's much better and I rarely have any issues.
          • Did you even try to install NodeJS on Windows? Click click done. And npm happens to have the biggest number of packages of all package managers. And yes, it includes packages to do a CUDA backed neural network. As if anyone who has meaningful volumes of data to process in a neural net would use Python or JavaScript anyways.

            Don't Bash things you don't know (pun intended).

            This is 2017 and you can virtualize if your employer sticks you with Windows or you want to do things without breaking your Linux host OS as not all of us are neckbeared sys administrators who know init.

            Windows 10 pro even comes with hyper-V! It beats the snot out of VMWare Workstation as hyper-V is a type one hypervisor so no extra license needed. There is KMS for free for Linux loyalists that is type 1 as well and ssds and quad core CPUs galore in 2017.

            Windows does suck outside of python and .NET which is

      • Only partly true. Python does so many things right that languages Perl or Bash are just ugly in comparison, and are thus often slower to write medium-sized programs. And PHP and Javascript have limited applications ouside the web.

    • Yes but it still depends on the task. Obviously TensorFlow and Numpy are great but there's still not a decent HTML parser despite the popularity of using Python to parse HTML. I can see Node eating Python's lunch in the near future for stuff like this.
    • by gweihir ( 88907 )

      It is also very nice as glue-code, as it has a pretty good interface for embedding C code.

  • by Anonymous Coward

    Python is a nice language. So are C,C++,C#,Swift,PHP,Powershell,Java,JavaScript,Typescript, etc... heck I even like COBOL. But what is the relevance of rating what the most used language?

    I think programming methodology is more interesting. Is purely functional, MVVM, object oriented, structural, etc... the best.

  • What are they? (Score:4, Insightful)

    by Gravis Zero ( 934156 ) on Saturday July 22, 2017 @08:55PM (#54860081)

    combine 12 metrics from 10 carefully chosen online sources to rank 48 languages

    What metrics are they and which online sources were used? If you're going to make such an assertion then why not explain or link to the details?

    To me, it sure sounds like a list of the most problematic languages combined with the number of people who use them.

    • by lucm ( 889690 )

      To me, it sure sounds like a list of the most problematic languages combined with the number of people who use them.

      Exactly. That's like saying: GM cars are the most popular because you can find a lot of GM spare parts in junkyards.

  • Perl (Score:5, Insightful)

    by hattable ( 981637 ) on Saturday July 22, 2017 @08:56PM (#54860087) Journal
    How I miss thee.
    • by gweihir ( 88907 )

      AT least Python has PCRE. Even if the interface is not nearly as nice as in Perl. One of my few gripes with Python.

    • Perl was all the rage in the 90s. Then we had Ruby and now Python. In five years some other language is going to be hot.

  • Understood (Score:4, Insightful)

    by Snotnose ( 212196 ) on Saturday July 22, 2017 @09:09PM (#54860151)
    Python rocks. I love it. I've written 2-3 major apps in it over the last 15 years. That said, using spaces for block definition is brain dead. Seriously. I know I'm gonna get flamed for this but, whatever.

    tldr; Python is a great language with one huge fucking hole. When tabs vs spaces change the way a program runs, something is wrong. Yeah, I know you can tell your editor to change tabs to some random spaces, but still.

    When I find code for SomethingIReallyWouldLike, and it Doesn'tFuckingWork, and I find out FuckwitUsed2CharacterTabs, then something is broken. Broken hard. Broken bad.
    • by lucm ( 889690 )

      using spaces for block definition is brain dead

      It is. Just the fact that there's a keyword (pass) that does nothing except prevent the indentation from falling apart says it all.

      However there's many things that are even more retarded in Python:
      - package management
      - text encoding
      - the whole import thing which makes it impossible to use sibling modules without dirty hacks
      - mutable default arguments
      - the abuse of underscore, such as the lovely __main__
      - the "ternary operator", which is basically a drunk if statement

      I think at this point PHP have got their

    • Yes .... The idiot who used tabs is broken. Python allows tabs, it doesn't encourage it. Competent programmers don't use tabs unless they are writing a makefile.
      • by gweihir ( 88907 )

        Very much this. A competent coder understands that tabs are not defined the same everywhere and just cause problems, and hence just disables them in the editor used. It is also extremely easy to replace them with proper spaces if you know how wide they are supposed to be in a piece of code.

        Anybody that really has a problem with this should not be let near program code as they are just incompetent.

      • Yes .... The idiot who used tabs is broken. Python allows tabs, it doesn't encourage it. Competent programmers don't use tabs unless they are writing a makefile.

        I disagree. If one action in a language is always idiotic then it is not the idiot who is at fault, but the language. C lets you run over the end of an array which is awful, but the counterpoint is that it's faster to not do the checks so it ultimately allows a very skilled programmer to write more efficient code. There's a tradeoff .

        What's the tra

  • by 93 Escort Wagon ( 326346 ) on Saturday July 22, 2017 @09:26PM (#54860193)

    I know a few EE faculty who have moved from using Matlab to using Python. Some of the grad students think the department should take a more active role in encouraging students to do the same - or to eliminate Matlab from courses entirely.

  • Does it make sense to compare Python to SQL to HTML? Completely different beasts. Seems more reasonable to zoom in on specific use cases and gauge popularity in those particular contexts. For instance, web applications. Results from Stack Overflow jobs:

    node.js: 304
    Spring: 180
    Rails: 172
    ASP.NET: 111
    django: 80

    In that particular context Python is more-or-less last place. Thing is, Python is used for plenty more than just web application back-ends. Much like Java. But there's a big difference from
  • by aglider ( 2435074 ) on Sunday July 23, 2017 @05:41AM (#54861451) Homepage

    My religion asks me to use C.

    When I'll reach the enlightenment, then I'll move to assembler.

  • #1 in POPULARITY (Score:4, Insightful)

    by cjonslashdot ( 904508 ) on Sunday July 23, 2017 @06:40AM (#54861551)

    "Popular" != "Best"

    Also, one should choose the right language for the task. The right language for a small office task is not usually the right language for a scalable microservice. E.g., Google discovered long ago that if an app written in Ruby or Python requires 100 servers to meet demand, but the same app written in C++ or Go requires only ten servers, then there is a substantial cost difference. (Although Go is quite terrible for maintainability - do a Google search for "Go gotchas".)

    Ignore popularity. Make your own choices.

Keep up the good work! But please don't ask me to help.

Working...