Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
Programming Python Stats

Is Python Really the Fastest-Growing Programming Language? (stackoverflow.blog) 254

An anonymous reader quotes Stack Overflow Blog: In this post, we'll explore the extraordinary growth of the Python programming language in the last five years, as seen by Stack Overflow traffic within high-income countries. The term "fastest-growing" can be hard to define precisely, but we make the case that Python has a solid claim to being the fastest-growing major programming language... June 2017 was the first month that Python was the most visited [programming language] tag on Stack Overflow within high-income nations. This included being the most visited tag within the US and the UK, and in the top 2 in almost all other high income nations (next to either Java or JavaScript). This is especially impressive because in 2012, it was less visited than any of the other 5 languages, and has grown by 2.5-fold in that time. Part of this is because of the seasonal nature of traffic to Java. Since it's heavily taught in undergraduate courses, Java traffic tends to rise during the fall and spring and drop during the summer.

Does Python show a similar growth in the rest of the world, in countries like India, Brazil, Russia and China? Indeed it does. Outside of high-income countries Python is still the fastest growing major programming language; it simply started at a lower level and the growth began two years later (in 2014 rather than 2012). In fact, the year-over-year growth rate of Python in non-high-income countries is slightly higher than it is in high-income countries... We're not looking to contribute to any "language war." The number of users of a language doesn't imply anything about its quality, and certainly can't tell you which language is more appropriate for a particular situation. With that perspective in mind, however, we believe it's worth understanding what languages make up the developer ecosystem, and how that ecosystem might be changing. This post demonstrated that Python has shown a surprising growth in the last five years, especially within high-income countries.

The post was written by Stack Overflow data scientist David Robinson, who notes that "I used to program primarily in Python, though I have since switched entirely to R."
This discussion has been archived. No new comments can be posted.

Is Python Really the Fastest-Growing Programming Language?

Comments Filter:
  • Who cares? (Score:5, Insightful)

    by fnj ( 64210 ) on Saturday September 09, 2017 @09:15PM (#55167253)

    Humph. Who in hell cares? I personally enjoy programming in python, but I certainly make such choices based on whether or not something is "popular".

    • by OYAHHH ( 322809 )

      Exactly!

      • Re:Who cares? (Score:5, Insightful)

        by ShanghaiBill ( 739463 ) on Saturday September 09, 2017 @09:34PM (#55167303)

        Popularity matters.
        1. If a language is unpopular, there may be good reasons. Examples: Ada, Modula-2.
        2. Popular languages have a community of users, so you don't just get more questions on Stackoverflow, you also get more answers.
        3. Popular language have more libraries, frameworks, and run on my platforms.
        4. If a language is popular, you can get a job writing code in it.

        • But if a language gets too popular, the only job you can get is writing code in it.

          • No, if a language gets too popular you won't get a job writing code in it because everyone else will want the same job as you.

            Pick something like Fortran or Cobol? You'll be able to count the job offers on one hand but you won't have much competition for those jobs.

            • by djinn6 ( 1868030 )
              Without more concrete data, I don't see why it would matter. There's probably a million jobs out there for Javascript. Sure, you might have a million competitors out there for those jobs, but that's still 1 competitor per job on average. The really good jobs will have more applicants, but poor ones will have none.

              The downside of an unpopular language is that if there's only 50 companies using Cobol and their numbers are decreasing every year, then your job will be on the chopping block sooner or later. W
            • Unless I am guaranteed a job which pays very well, I would rather keep programming as a hobby and just do trade work (such as plumbing or electrical ), or even be an office drone. The pressure-cooker environment, and the prospect that someone in India and China can replace me without even being brought to the States does not sit well for me. All I would end up doing is banging out the same old cogs and gears that the suits told everyone to make, and little to no room for creativity or experimentation. No
            • Who only knows one language? The last time I only knew one language I was probably 15.

              • Well when you're 18 you might have to deal with HR drones. They already require 2n years of actual paid experience where n is how long the thing has existed, so splitting your time among multiple languages doesn't help.

                • How does spending all your time on that one language for n years get you 2n years of experience anyway?

                  If you get an interview for a job posting with that kind of requirement, then you should bring it up in the interview. Tell them that the experience they are looking for will be impossible to find without a time machine. If you're the only candidate who brings this up, then it shows that either a) you're the only one who isn't lying, or b) you're the only one who knows what they're talking about.

                  If other c

          • So stop writing code that everyone else can write.

            I make my living writing Python and Matlab. I have a Mechanical Engineering degree and there's little to no competition on job sites.

            • So stop writing code that everyone else can write.

              I make my living writing Python and Matlab. I have a Mechanical Engineering degree and there's little to no competition on job sites.

              This. I write cryptography code. I've found it very difficult to be unemployed.

            • by arth1 ( 260657 )

              Knowing Fortran can be a big plus to add on to Matlab. There are still maths-related programming where the executable quality matters more than the source code, and knowing Fortran gives an edge.
              It's easy to think that everything can be solved by throwing more abstractions and more hardware to handle the abstractions at the problems, but sometimes you end up in situations like embedded or microcontrollers where you have very little wiggle room. When you have to count nibbles, interpreters are quite out of

              • A point of fact here:

                The NOAA is converting over their climate data to a new data format, and email correspondence with them (due to many issues with the conversion) has revealed that they are using Fortran for at least some of this conversion process.

                Yes, I know one of the people auditing their conversion. Its horrendous display of incompetence, but thats a separate issue. Fortran is in fact still widely used by the scientific community, and while Python is getting some adoption so is Julia and Julia i
        • Re:Who cares? (Score:5, Interesting)

          by h33t l4x0r ( 4107715 ) on Saturday September 09, 2017 @11:01PM (#55167511)

          3. Popular language have more libraries, frameworks, and run on my platforms.

          Not necessarily. Python has Beautiful Soup, which is a terrible library, but popular. It's so popular that nobody has bothered to make something better.

          • by AuMatar ( 183847 )

            THat's because the idea of pulling data out of HTML is a horrible idea. Provide a real API. If the site doesn't, you should consider paying for access to their data in a sane way rather than writing a fragile algorithm to screen scrape it.

            • So I'll just get the websites on the phone and offer to pay them lots of money for their data instead of scraping it for free. Why didn't I think of that?
          • Try to do anything not overly engineered in Java enterprise edition?

          • If you're looking to scrape html there are other libraries. Recently I used lxml [lxml.de], seemed very powerful and straightforward. What I was doing was fairly simple, but I was able to throw my script together within a few minutes of downloading the package.

          • Python has Beautiful Soup, which is a terrible library, but popular. It's so popular that nobody has bothered to make something better.

            Sounds like the Python equivalent of Oleg Kiselyov's SSAX/SXML libraries for Scheme, with the difference in library qualities reflecting the difference of language qualities. ;)

          • >Beautiful Soup, which is a terrible library, but popular

            Love the straight face humor in this sentence.

        • by zifn4b ( 1040588 )

          4. If a language is popular, you can get a job writing code in it.

          Let's state this more clearly: if a language is popular [in the business universe and has a proven track record of having money making applications written in it], you can get a job writing code in it. ftfy

  • Talking about languages and then claiming you don't want to contribute to a language war is on par with, "I'm not a racist but..." because it's counter to what you are saying.

    • Re: (Score:3, Insightful)

      by Anonymous Coward

      I'm not a racist, but whitespace having any sort of significance is pants-on-head retarded.

      • So what colour should the space be?

      • Re: (Score:3, Interesting)

        by Baloroth ( 2370816 )

        Yeah, because searching through 1 page of error messages because you forgot a ; or } is *so* much better, especially when those have no immediate visual significance at all. Besides, *all* (sane) languages already have significant whitespace: voidFunction() and void Function() are two completely different things. Whitespace is significant in human languages, and there's no reason it shouldn't be significant in computer languages.

      • #whitespacesmatter

      • Significant whitespace is the least objectionable thing about Python. Just ask any Haskell programmer.

    • I'm not a racist butt?

  • "All the numbers discussed in this post are for high-income countries"....it doesn't say how many H-I countries there are vs. how many not H-I.
  • Perhaps "Survivor Bias [wikipedia.org]" is not the right term but traffic to sites to ask questions may not be a good indicator of a language's popularity. It is an indication of questions people had about the language.

    For example, when is the last time you asked a question about C? Probably never. Why? Because its very easy to understand and the libraries are also easy to find.

    I'm not saying anything about Python. I'm just saying that looking at the number of questions may not give valid results.

    • I'm not saying anything about Python. I'm just saying that looking at the number of questions may not give valid results.

      It gives valid results -- but not for what they are claiming. As you have effectively pointed out, what they are measuring is "how many people have questions about language X, and how does it change over time"?

      Obviously a language that gets a lot of questions is popular, however as you say a well-designed, well-known language isn't going to get as many questions.

      Of course, it also doesn't touch on the quality of questions. How many of those Python questions wound up with the answer being "you only have se

      • by engun ( 1234934 )
        In general, one wouldn't go into StackOverflow to learn a language, you go there to find solutions to common tasks and issues. Ergo, the more answers which are sought on Stack Overflow, the greater the number of common tasks being implemented in said language.
    • Well, it is pretty easy to assess the quality of any given piece of Python code. Just determine the ratio of whitespace to printable characters. Experienced Python programmers make these estimates all the time, just by eyeballing the code, and often without even thinking about what they are doing.

      This seems to be a big part of Python's popularity: the ability to look at someone else's code and instantly form an opinion about whether "this is crap" or "this is the good stuff" without ever having to parse a

  • It's growing even faster than you think, because half of it is invisible.

  • by Billly Gates ( 198444 ) on Saturday September 09, 2017 @11:38PM (#55167601) Journal

    For those in Linux land you maybe surprised but visual studio is now free with the community edition. It also includes Python and R with win64 optimized versions of idle and Cython.

    Many people on Windows are wondering what it is since it's a huge section in the installer. This is probably what is causing the boost

  • I doubt there are many questions to be asked about it. Google any C question and you'll get a dozen answers, some of them right.

    Not to mention, C/C++ programmers have been using those languages for 20-40 years. Python programmers are n00bs, most learning their first language.

    That said, I love Python and have been using it off and on some 15 years now. I hate the whitespace instead of curly brackets convention, but that ship sailed years ago,
  • by blavallee ( 729704 ) on Sunday September 10, 2017 @12:13AM (#55167687) Journal

    Traffic to Stack Overflow is an indication of people having issues with Python. Not it's popularity!
    Traffic for high-income countries (US/UK) is misleading, since they are using this troublesome language more often. Non-English speaking countries don't want to use it, due to the default ASCII character set.

    Seems the researches need to understand how Stack Overflow is used before making such a misleading statement.
    A higher score on Stack Overflow Trends would indicate the inadequacies of the language.
    More visits indicate the level of frustration, not the languages popularity.

    GitHut [githut.info] tells a different story.

    • That's because coding bootcamps require github pages for their graduates with the old school mistaken assumption no one gets hired without one

      • Sure, but which source of data presents an 'more' accurate picture of a programming languages popularity?

        The percentage and growth of:
        a. Developers asking how to do {x} in programming language {y}?
        b. The number of unique public repositories using programming language {y} on a site like Github, Bitbucket, etc?

        • by Sits ( 117492 )

          Pieces of JavaScript infrastructure (such as npm) push their ecosystem towards Github so there's an inherent bias there (plus do believe that Vim script/VimL really is more popular than Perl for projects as your GitHut link suggests via Active Repos). Also just because a language is troublesome doesn't mean it can't be popular too. In all honesty I'd guess both what you've presented and what stackoverflow have presented are about as inaccurate as each other. Python's popular, JavaScript is popular, some peo

    • Not necessarily You could be learning the language and want examples of how a library (or some other part of the language) is used.
    • Traffic to Stack Overflow is an indication of people having issues with Python. Not it's popularity!

      There's another option: Python is a popular first language for beginning programmers, so the issues people need help with are general programming concepts, not problems with the language itself. Not knowing the difference, the beginning programmer will stick a [python] tag on the question, and hey presto, "lots of Python questions".

    • by paazin ( 719486 )

      Non-English speaking countries don't want to use it, due to the default ASCII character set.

      Everyone at this point should be using python3 which doesn't have any such restrictions. Python2 will be formally deprecated in 2020.

  • It used to be that everything was based on bourne shell. Then everything was based on perl. Now everything is based on python. Hopefully something which doesn't make so much importance out of whitespace will be next.

    • Hopefully something which doesn't make so much importance out of whitespace will be next.

      OhyeahliketheEnglishlanguageandprettymucheverynaturallanguageoutthere.

  • June 2017 was the first month that Python was the most visited [programming language] tag on Stack Overflow within high-income nations.

    People visit Stack Overflow looking for solutions to problems with the language they're using. Python was the most visited language tag, you say? Doesn't that make it the most difficult language to use?

  • "Python has a solid claim to being the fastest-growing major programming language... June 2017 was the first month that Python was the most visited [programming language] tag on Stack Overflow within high-income nations. This included being the most visited tag"

    So, nothing to see here, really. It's all fashion. DL and ConvNet frameworks are in the mainstream now, and yay, how many of those favour python? Right. So, why are so many people looking for solutions? Well, because they need informaton on python
  • by JustOK ( 667959 )
    Programming with python? Ridiculous, they don't have fingers to type with and voice recognition just isn't up to it yet. Plus, they try to eat you.
  • by Qbertino ( 265505 ) <moiraNO@SPAMmodparlor.com> on Sunday September 10, 2017 @07:48AM (#55168479)

    I'm really not that surprised that Python appears to be the only language that continuosly grows it's popularity during the last 15 years.

    It's easy to learn whilst at the same time being resonably well constructed and scalable towards larger projects. It also appears to be a language where, unlike Ruby, PHP and JS, people do *not* screw around and get their projects perfect from the beginning. There is basically one CMS written in Python and that's Plone, based on Zope, and that System has been ahead of everything else in the PHP and Ruby field in terms of architecture, design and utility ever since Zope came around in the late 90ies. Same goes for Django. One Webframework to rule them all. Unlike PHP or Ruby or JS where you have a mess of a bazillion different toolkits, every single one screwing around in their own specific quirkyness, Python appears to be the language of people who want to get shit done properly right away and then move on. Python, whilst being a very neat programming language, doesn't lend itself to self-indulgance. Maybe those twot traits are correlated.

    Point in case: Python is the only language I know of that is to measurable extent being used professionaly in every field.
    Research, engineering, game development, media, 3D, web, custom ERP, system administration, embedded, bioengieering, robotics, process automation, etc.

    IMHO it speaks volumes if a language is that easy to pick up and at the same time is used in so many fields. AFAICT it is only dominated by PHP and JS in server and client side web for historic reasons. Would people have to decide today which language should rule the client and server-side web they'd probably pick Python for that aswell.

    I also think that Python is a language that remains fun to programm in even if you use it for an extended period of time. Can't say that for PHP for example.

    My 2 cents.

    • Excellent post, I'd mod this up if I hadn't already posted.

      Python appears to be the language of people who want to get shit done properly right away and then move on. Python, whilst being a very neat programming language, doesn't lend itself to self-indulgance. Maybe those twot traits are correlated.

      I guess the "batteries included" philosophy also helps -- include plenty of useful libraries in the base install. This helps maintain the idea that there's a standard way of doing things, and I believe it affects those who write/maintain external libraries too.

      On the obligatory whitespace issue, I'm worried that it is a problem for large-scale projects with many people on different platforms -- it's happened to me with only a handful of contribut

    • It also appears to be a language where, unlike Ruby, PHP and JS, people do *not* screw around and get their projects perfect from the beginning.

      Except for Python itself? With the painful object system redesign, various deprecations and such?

    • If Python is for people who want to do things right the first time, why Python 2, much less Python 3?

  • Just saying.

  • and has grown by 2.5-fold in that time

    No, it hasn't. Fold change represents doubling. 2.5-fold is roughly 5.6 times as much as the original value. Python has seen 2.5 times as much traffic, not 2.5-fold as much traffic.

  • by EmperorOfCanada ( 1332175 ) on Sunday September 10, 2017 @12:24PM (#55169513)
    I generally prefer 3.x Python. What I really like is python when it works. But over and over and over, I have downloaded a library or some code that only runs on one or the other. Keeping both up to date and with the latest libraries is a huge pain in the bottom. The way I have it installed also seems to send some products for a loop when they simply insist that I must have 2.7 installed. So I go and change which version is "python" just so that program can run.

    I really don't care what the arguments are for the lack of backwards compatibility; doing this really hurt python with a self inflicted wound.

    The next self inflicted wound is the speed of python. I see these crazy arguments that in order to make it faster that it needs strongly typed variables. That is total BS as there are many scripted languages without this that run blazingly fast (JS, PHP, Lue, etc) without this.

    Quite simply the people who are in charge of steering python seem to be way more interested in giving talks at python conferences than keeping python moving forward. Oh there are lots of little features being added, but nothing like the leaps and bounds that JS and PHP have made in the same time period. JS is not screwing up with a backwards compat problem. And PHP trimmed out some crud so is technically not backwards compat anymore but if you were using the features they cut, you were writing bad code.

    Python rocks. I use it for ML, I use it for so many quick and dirty things. But all this means is that nothing is better right now. Look a perl. It owned the world of scripting 17 years ago.

Like punning, programming is a play on words.

Working...