Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Python PHP Programming

Python Is On the Rise, While PHP Falls (dice.com) 232

Nerval's Lobster writes: While this month's lists of the top programming languages uniformly put Java in the top spot, that's not the only detail of interest to developers. Which language has gained the most users over the past five years? And which are tottering on the edge of obsolescence? According to PYPL, which pulls its raw data for analysis from Google Trends, Python has grown the most over the past five years—up 5 percent since roughly 2010. Over the same period, PHP also declined by 5 percent. Since PYPL looks at how often language tutorials are searched on Google, its data is a good indicator of how many developers are (or aren't) learning a language, presumably because they see it as valuable to their careers. Just because PYPL shows PHP losing market-share over the long term doesn't mean that language is in danger of imminent collapse; over the past year or so, the PHP community has concentrated on making the language more pleasant to use, whether by improving features such as package management, or boosting overall performance. Plus, PHP is still used on hundreds of millions of websites, according to data from Netcraft. Indeed, if there's any language on these analysts' lists that risks doom, it's Objective-C, the primary language used for programming iOS and Mac OS X apps, and its growing obsolescence is by design.
This discussion has been archived. No new comments can be posted.

Python Is On the Rise, While PHP Falls

Comments Filter:
  • Go away Dice (Score:4, Informative)

    by Anonymous Coward on Tuesday November 17, 2015 @10:07PM (#50952829)

    We won't want this Dice shit here.

    Is there really no one at all willing to buy Slashdot?

  • by JoeyRox ( 2711699 ) on Tuesday November 17, 2015 @10:09PM (#50952841)
    Which seems highly questionable. Seems to me the methodology of using google search metrics for language popularity works to gauge popularity of a language with enthusiasts but not of actual commercial projects.
    • by iggymanz ( 596061 ) on Tuesday November 17, 2015 @10:10PM (#50952847)

      this is Dice trying to churn their candidate pot, nothing more.

      Slashdot really circling the drain quickly now

      • by Art3x ( 973401 )

        this is Dice trying to churn their candidate pot, nothing more.

        Yes, there isn't much of a story here. Over five years Python has risen five percent while PHP has slid five percent.

      • Re: (Score:2, Interesting)

        by Anonymous Coward

        If you think Dice has any tangible input into Slashdot you're sadly mistaken. I'm an employee of another subsidiary of Dice and there's pretty much zero crosstalk. We're all pretty much separate companies with no idea what anyone else is doing. Dice is headless. Dice is an ok place to work but Dice is not just about the Dice website nor is it that desperate to draw in people.

    • by Tablizer ( 95088 )

      Indeed. Lisp variants often rank high in Google searches, but are generally skipped for production applications.

      "Hobby" languages can be fun to write in and talk about because you can play with powerful abstractions, but such is not always readable by average developers in the field, limiting their industry selection.
         

    • by Austerity Empowers ( 669817 ) on Tuesday November 17, 2015 @10:18PM (#50952875)

      Even if it is accurate, it is irrelevant. It in theory would just show what has the most volume, but for the purposes of someone using Dice unhelpful. Why learn C if you're looking for a web job? Why learn javascript if you are doing device drivers?

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      When I was a Windows C then C++ then C# developer, I used Google all the time to solve platform issues and find API's that worked with each other. Now I am back to embedded C, and I never ever look for anything on Google. It's C. I look in K&R's ANSI C book when I have questions. All the API's and libraries are use are custom in house. All my docs are in house, it's an embedded C platform. There is a realtime OS but we don't hardly use it for much more than scheduling, all the code is writing to r

    • by mwvdlee ( 775178 )

      They used the term "tutorial", which will by definition give higher scores to languages that were invented while the internet existed.
      Many active C developers will have learned their skill from tutorials in books.

  • False metric (Score:5, Insightful)

    by techno-vampire ( 666512 ) on Tuesday November 17, 2015 @10:26PM (#50952903) Homepage
    Counting the number of times tutorials are accessed tells you how many people are learning (or considering learning) a language, not how many are using it now. All this can do is tell you if people expect to need it in the future, because for the most part, if you're currently programming in a particular language, you shouldn't need to be going over tutorials.
    • by h33t l4x0r ( 4107715 ) on Tuesday November 17, 2015 @10:31PM (#50952929)

      Right, so in other words we're comparing the number of people who *don't* know Python to the number of people who *don't* know PHP.

      I already know PHP, so if I search for a Python tutorial that's somehow a win for Python?

      • No, it only says that you want or need to learn something about PHP. It suggests that you might be planning on using it in the future, but you also might learn enough to find out that it's not what you need.
    • by CQDX ( 2720013 )

      More to the point above about C at on 7.5%, most software engineers already know C and those that don't aren't going to search the web for a tutorial. There are plenty of well written books on the language that are far beyond anything you would find in an online tutorial. I would assume that also applies for other older language like C++ and Perl.

    • All this can do is tell you if people expect to need it in the future

      It doesn't even tell you that. I use Python, but I have never looked at a Python tutorial. The language is simple and the syntax is obvious. But when I was learning Objective-C, I had to go thru 3 tutorials just to understand memory management.

      • "I use Python, but I have never looked at a Python tutorial. The language is simple and the syntax is obvious."

        That's how I started as well, but it resulted in horrible C-like constructs, like literal translations of

        for (i=m; i<n; ++i) {}

        with while and if. And it took a while to figure out how the lack of pointers and the murable/immutable object distinction work in practice.

  • Swift (Score:4, Interesting)

    by Noah Haders ( 3621429 ) on Tuesday November 17, 2015 @10:27PM (#50952909)

    What about Swift? Considering it's only 2 years old, surely it's grown by the most, percentage-wise. I suspect a company called PYPL has an interest in promoting Python...

  • Har har har? (Score:4, Insightful)

    by Anonymous Coward on Tuesday November 17, 2015 @10:29PM (#50952917)

    Python? Seriously? The language where I can't cut and paste anything without it seriously being broken because... whitespace matters?!

    Python is as dumbass does.

    • by Shompol ( 1690084 ) on Tuesday November 17, 2015 @10:50PM (#50953007)
      Aliluâ! Panacea against copy-paste programmers is finally here!
    • You know, as much as I hear that whine, in 16 years of writing Python I've literally never once been bitten by it. Yes, you hate having to indent your code the way you would naturally have indented it anyway, left to your own devices. Sure, writing at-a-glance understandable clauses is torture. Oh yeah, I too hate formatting my stuff the way my coworkers / teachers / project maintainers / colleagues expect to find it. But as much as I love writing the horrible, unformatted mess that you also enjoy, I just c
      • I too hate formatting my stuff the way my coworkers / teachers / project maintainers / colleagues expect to find it.

        Are you suggesting that There should be one-- and preferably only one --obvious way to do it? [python.org] Geeze, I'm not sure my coworkers / teachers / project maintainers / colleagues can accept that...

  • I got your Python, right here.

  • by Ecuador ( 740021 ) on Tuesday November 17, 2015 @10:35PM (#50952945) Homepage

    Isn't it kind of a strange metric? It measures people who don't really know the language but want to learn it. But did they learn it in the end? Did they end up using it? Was it actual programmers trying to get into a new language / refreshing one for a new project, or was it complete beginners who heard "python is cool" or something like that and search for a tutorial thinking they will be great programmers?
    And not all languages have an equal basis in this metric. For example who would search google for a perl tutorial? I mean it doesn't even support regex for christ sake! Also it is well known that Perl either comes as an Epiphany, or you are taught by Monks, you don't read a tutorial...

  • by iamacat ( 583406 ) on Tuesday November 17, 2015 @10:39PM (#50952959)

    Python provides no true concurrency due to global interpreter lock. Java is not suitable for realtime due to unpredictable GC, while C/C++ is not suitable for anything which should never crash or return random results due to memory corruption. None of mainstream languages make automatic use of multiple cores and GPU - explicit provisions must be made by programmer to parallelize part of the program, often with error prone semantics and a separate language like OpenCL.

    Yes, those are hard problems, but it's also 2015 and we can come up with powerful compilers and JIT virtual machines. Going back to less concurrency than plain old shell scripts where '&' starts a true separate process is not an answer.

    • by Euler ( 31942 )

      Assembly code, man. All the rest are just obscuring what you really want the processor to do anyway. At least with asm, you can fix any of these problems given enough effort.

    • Python provides no true concurrency due to global interpreter lock. Java is not suitable for realtime due to unpredictable GC, while C/C++ is not suitable for anything which should never crash or return random results due to memory corruption.

      Python has multiprocessing for 'true concurrency' if you need it
      Java is not actually used for anything real-time
      C/C++ can be written safely if you are willing to be careful and unit-test (also managed memory with C++11/14 constructs helps the drudgery) with tools like

    • by unimacs ( 597299 )
      Go is awesome for concurrency. Maybe not so great for realtime but I think that's generally true of languages with GC. One language doesn't need to be used for everything.
    • Interesting read by Andrei Alexandrescu, D Language Architect, on: D, Go, Rust, and C, C++:
      https://www.quora.com/Which-la... [quora.com]

    • Python provides no ... Java is not ... C/C++ is not ...

      Programming languages are tools, and all good tools tend to be suited for just a few tasks. If you are going to hang picture on a wall, you'll probably use a hammer and a nail (well, depending on the waill, of course), because that is the simple and efficient way of doing the job. I doubt anybody would ever seriously contemplate making a supertool, that could hammer nails, drill holes, mix cement, lift bricks up to third floor, place roofing tiles etc etc etc, as well as cook your dinner, do the accounting

    • None of mainstream languages make automatic use of multiple cores and GPU - explicit provisions must be made by programmer to parallelize part of the program, often with error prone semantics and a separate language like OpenCL.

      Automatic parallelization for CPUs has been around for a good while (e.g. Fortran 90), so the parallelization per se should not be a huge issue. You need sensible semantics for these concepts, such as vector types, so the compiler can assume things about parallelism.

    • Re: (Score:3, Interesting)

      by BitZtream ( 692029 )

      Lets see ...

      Python provides no true concurrency due to global interpreter lock.

      The interpreter you use has that flaw perhaps. Fortunately there are multiple interpreters, ask CCP games about that lock.

      Java is not suitable for realtime due to unpredictable GC

      Yet I work for a company and sit right next to the team that does real time Java without hitting the GC at all.

      C/C++ is not suitable for anything which should never crash or return random results due to memory corruption

      Yet it is what any industry uses that requires 100% reliability like aviation and medical use.

      None of mainstream languages make automatic use of multiple cores and GPU - explicit provisions must be made by programmer to parallelize part of the program

      This is just simply wrong for so many reasons. Most languages have helpers and utilities to explicitly thread but its really the runtime or compilers that you want changed

    • Java has been doing realtime for over a decade now. In fact the very first JSR [wikipedia.org] was JSR 1: Real-time Specification for Java [jcp.org] which began in 1998.

      Saying Java is not suitable for realtime due to "unpredictable GC" shows you haven't read much on the topic. Many Java open-source projects guarantee millions of operations per second on the right hardware. Java has a huge HFT community footprint.

      Take a look at what http://chronicle.software/ [chronicle.software] and OpenHFT is doing for instance.

    • C/C++ is not suitable for anything which should never crash or return random results due to memory corruption.

      Yes, it's 2015 and so it would be appropriate to realize that C and C++ are two totally different languages (where one of those is just capable to seamlessly compile most of the code written for the other).

  • * ducks head * (Score:1, Informative)

    by Anonymous Coward

    It's all those googling to figure out how to fix their white-space messes

  • by Thunderf00t ( 4313909 ) on Tuesday November 17, 2015 @11:13PM (#50953059)

    I know it's a matter of taste, but I understand why Python, aside from simply being popular, is used so often. Having spent time using several languages, I can say that brevity bordering on the obscure (often mistaken for elegance) is not something to encourage. Don't get me wrong, it's great if you can reduce the steps used to implement an algorithm (especially if you get big-O benefits as well), but simply reducing line counts isn't anything to brag about. I mean, who cares if you implemented something in a single line of Perl that took 5 lines of Python for me? Eighteen months later, when the code gets dug up for whatever reason, I know which will be far easier to follow and correct if needed.

    That, to me, is the real strength of Python: it enforces readability without requiring too many extra characters (Tcl being representative of the other extreme). If using an interpreted language isn't an issue, it almost always seems like the way to go for my tastes.

    • by whh3 ( 450031 )

      I especially agree with your point in today's world where compilers are able to do a decent job optimizing. When that brevity does not buy you anything more than a few saved keystrokes, I tend to focus on writing the most readable yet not overly verbose code. There are ways to do that in PERL just as there are in Python. Sometimes with languages with more exotic features and "more than one way to do everything" it is tempting to be as clever as possible.

      Then I remember: "clever is not a compliment" and I wa

    • by gfxguy ( 98788 )

      it enforces readability without requiring too many extra characters

      I agree... over the past five years or so I've migrated to python, both in web development and a lot of scrips I wrote for use in house for special case "things." It's a great combination of brief (as little as 1/10 or less the size of equivalent Java) and yet structured and readable.

    • You might like Go. It has most of that line-count saving stuff removed. It is really quite polarizing.
  • I repeat, "Whoopdee fucking doo", which means, "Who fucking cares?"

  • But... but... (Score:4, Informative)

    by DaTroof ( 678806 ) on Wednesday November 18, 2015 @01:26AM (#50953327)

    Didn't Slashdot just run a post about how WordPress (written in PHP!) powers 25% of the web?

    Why, yes. Yes, they did. [slashdot.org]

    Please stop the hyperbolic clickbait.

    • Aside from the top dog Wordpress, the next two popular CMS are Joomla and Drupal. Which also use.... php

      It's like that in ecommerce also. The #1 ecommerce software is Magento (php). #2 is Woocommerce (php). #3 is Prestashop (php). #5 and #7 and #8 are also in php. Something like 60 to 70% of all ecommerce sites on the internet are in php. 2015 ecommerce platform rankings [aheadworks.com]

  • Perl. Perl all the way through, and nothing but Perl. Apparently after they canned the guy who took credit for writing it, they didn't feel it was worth while to put any additional money into the code, ever again (and it seems that attitude has continued through subsequent acquisitions).
    • they didn't feel it was worth while to put any additional money into the code, ever again

      Not true. Just recently they came dangerously close to completely ruining this site with an investment in new code. Thankfully, they backed down.

      The truth of the matter is, there is no reason to upgrade the code. In fact, I'd prefer if they reverted to one of the older versions from earlier years that has fewer "Web 2.0" stunts and just serves up the damned text.

      • "no reason to upgrade the code. In fact, I'd prefer if they reverted to one of the older versions from earlier years that has fewer "Web 2.0" stunts and just serves up the damned text."

        Here are som reasons to upgrade:

        * support unicode,
        * get workable access to preferences (if you enable "classic mode?, all kind of stuff breaks, including getting back to default D2 mode.).
        * Get a decent mobile view (Can't access it when logged in and it's unworkable anyway on my quad-core, 2 GB RAM phone). That's why I mainta

        • by dwpro ( 520418 )

          +1 to those. Also:

          * make a decent comment entry editor that makes quoting, numbering, bullet points, tables, etc. less of a pain in the ass.

          You would get some better comments on here if you could post data in an organized way, IMHO. It feels insane to be asking for these minor things in 2015.

          • I think the text-centric nature of slashdot is a big plus. I wouldn't want it to turn into yet another web forum with inline images, huge sigs, animated smileys, and people writing like 14-year-olds. When I have a keyboard, I don't mind the html markup either. But on a phone, it's a pain.
            • by dwpro ( 520418 )

              I agree, don't let it go crazy.

              Just a few options for formatting plain old text and you can paste a few cells of data into a textbox and not lose all alignment.

    • > Perl. Perl all the way through, and nothing but Perl.

      Python has been suffering from module dependencies lately, where the "pip install" tool for installing 3rd-party modules deploys a rats' nest of potentially incompatible latest releases of all the dependencies from python.pi.org. This is similar to what happened with CPAN over time, except that CPAN for perl was much, much worse about individual modules introducing incompatible upgrades, and other modules being long unmaintained so they would never b

  • Because of the duck typing maintaining, extending and refactoring any non-trivial Python project is a fubar. Make a typo in the variable name and catch this bug 2 months later in the production deployment. Thank you very much, but no unit tests from the whole world will cover this.

    Because of the GIL it doesn't scale across the modern hardware so it forces programmer into process-level parallelism and 3rd-party http server with wsgi crap which gives deployment and maintenance headaches.

    Because of the in
    • by gnupun ( 752725 )

      All valid points. Python's backend is not very powerful, unlike its elegant front-end (the language and APIs).

      Make a typo in the variable name and catch this bug 2 months later in the production deployment. Thank you very much, but no unit tests from the whole world will cover this.

      The typo problem is present in most scripting languages. Isn't Lua, which is similar to Python, used in many production games?

  • From that pesky website:

    Index is created by analyzing how often language tutorials are searched on Google

    And how should this be related to rise and fall of a programming language popularity?
    I would instead say that it shows how hard a programming language is to be learnt or mastered.
    This study is completely flawed and aimed to religion wars among programmers!
    Every one actually knows that C is the king of all languages, you insensitive statistical clod!

  • I knew this was going to happen the moment that teenage chic on the episode of Blindspt last week started dissing the FBI chic over using PHP.

If you have a procedure with 10 parameters, you probably missed some.

Working...