Slashdot Mirror


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

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.

115 of 232 comments (clear)

  1. Go away Dice by Anonymous Coward · · Score: 4, Informative

    We won't want this Dice shit here.

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

  2. PYPL shows C language share @ only 7.5% by JoeyRox · · Score: 2

    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.

    1. Re:PYPL shows C language share @ only 7.5% by iggymanz · · Score: 5, Insightful

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

      Slashdot really circling the drain quickly now

    2. Re:PYPL shows C language share @ only 7.5% by Tablizer · · Score: 2

      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.
         

    3. Re:PYPL shows C language share @ only 7.5% by Austerity+Empowers · · Score: 3, Insightful

      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?

    4. Re:PYPL shows C language share @ only 7.5% by Art3x · · Score: 1

      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.

    5. Re:PYPL shows C language share @ only 7.5% by jeffb+(2.718) · · Score: 2

      Because Google is so terribly helpful when you're searching for the elements of ($l=join("",))=~s/.*\n/index($`,$&)>=$[||print$&/ge;.

      I'm sure APL makes an even poorer showing in Google search statistics.

    6. Re:PYPL shows C language share @ only 7.5% by Anonymous Coward · · Score: 2, Interesting

      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.

    7. Re:PYPL shows C language share @ only 7.5% by Zontar+The+Mindless · · Score: 2

      You forgot to ask whether he'd like fries with that.

      --
      Il n'y a pas de Planet B.
    8. Re:PYPL shows C language share @ only 7.5% by Anonymous Coward · · Score: 2, Interesting

      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 registers, etc. So that's why the search means nothing. I work with legions of C programmers, and we do not use Google to get it done. (thank god)

    9. Re:PYPL shows C language share @ only 7.5% by mwvdlee · · Score: 2

      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.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    10. Re:PYPL shows C language share @ only 7.5% by fisted · · Score: 1

      ANSI C is C89. Get a clue.

    11. Re:PYPL shows C language share @ only 7.5% by kuzb · · Score: 1

      ....except you've pretty much just shown us why Perl isn't gaining any popularity - stuff exactly like that gets written in it a lot, and most programmers would prefer not to have their code look like someone threw up on the screen.

      --
      BeauHD. Worst editor since kdawson.
    12. Re: PYPL shows C language share @ only 7.5% by arielCo · · Score: 1

      I only had trouble with the $-somethings, but here you go, in order of appearance:

      http://perldoc.perl.org/functi...
      http://perldoc.perl.org/perlop...
      http://perldoc.perl.org/perlva...

      You're not supposed to understand that intermediate-level mess just by looking before having learned a bit of Perl, anyway. Like regular expressions, Perl code was never designed to be self-explanatory.

      --
      This post contains no rudeness or derision of any kind. All arguments are friendly. Terms and exclusions may apply.
    13. Re: PYPL shows C language share @ only 7.5% by arielCo · · Score: 2

      I use Perl everyday, and when I was learning I searched for what I recognized in the snippet. So 'perl join', 'perl special variables' and 'perl substitute operator' would've been my queries, because the first things you learn in Perl are to identify basic syntax and to match/substitute text.

      Perl code was never meant to be self-explanatory, not any more than regular expressions. You learn a bit of Perl *before* reading Perl code.

      --
      This post contains no rudeness or derision of any kind. All arguments are friendly. Terms and exclusions may apply.
    14. Re:PYPL shows C language share @ only 7.5% by DrXym · · Score: 1

      You've made an effective and demonstrative argument why not to use a Perl.

    15. Re: PYPL shows C language share @ only 7.5% by arielCo · · Score: 1

      Heh. Some experimentation may be required, but the same happens with regexes and C/C++ declarations and casts.

      --
      This post contains no rudeness or derision of any kind. All arguments are friendly. Terms and exclusions may apply.
    16. Re:PYPL shows C language share @ only 7.5% by fisted · · Score: 1

      Are you also guessing that he thinks a quarter of a century are 15 years?

    17. Re: PYPL shows C language share @ only 7.5% by KGIII · · Score: 1

      Maybe if you'd written better Perl then you'd be less tired of reading it? I've shared my Perl story, so I'll spare you AND I'll spare you the snarky response. The question was, indeed, a question. It is even a legitimate question.

      See, is the problem Perl or is the problem that you're now older, wiser, and able to look back on your old code and realize how much better the code could have been? What if, say, your old code were written in Python and now you were using C or Java? Would you not, probably, look back at your old work in disgust? Would you not think of how much better it could have been?

      I know that I've looked back at old work and realized exactly how bad I was and how much I've improved. I imaging that, at the time, I blamed the tools and felt better about my newer tools - it's easier than it is to blame myself. Really, though, it is just that I had improved. Perl can be readable and understood by someone familiar with the language - if I can do it, then I know you can.

      --
      "So long and thanks for all the fish."
    18. Re: PYPL shows C language share @ only 7.5% by kuzb · · Score: 1

      I already understand and can read perl and regex quite well. That doesn't stop people from writing code that honestly looks like dogshit.

      --
      BeauHD. Worst editor since kdawson.
    19. Re:PYPL shows C language share @ only 7.5% by DrXym · · Score: 1

      Perl does not enforce anything from a structural standpoint. That's the problem - it is a terse language and without structure or enforcement it leads to opaque and unstructured code. Code which can be impossible to maintain. That's why it occupies a niche and that's why it is unlikely to go any further than that.

    20. Re:PYPL shows C language share @ only 7.5% by iggymanz · · Score: 1

      well aren't you a good little brown-star tongue-punch for your corporate overlords. Are you under your boss's right now, you'll find his nutsac will need particular attention today

  3. False metric by techno-vampire · · Score: 5, Insightful

    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.

    --
    Good, inexpensive web hosting
    1. Re:False metric by h33t+l4x0r · · Score: 5, Funny

      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?

    2. Re:False metric by CQDX · · Score: 2

      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.

    3. Re: False metric by Anonymous Coward · · Score: 5, Insightful

      I have been programming for 20+ years. I *still* look things up all the time. Why? Because I have not memorized the documentation on thousands of API calls or that one bit o language one of my fellow co-workers found and I now have to decipher again.

      I learned long ago. Even though I think I may know a function it is best to look up the docs and at least re-read them. For example take the well used C standard printf. I can think of the top of my head at least 5 different quirks with that little bad boy depending on which platform you are on. I program in no less than 3 different ones. So I look it up all the time.

      Then as you jump around thru different languages you need to remind yourself on the syntax for *this* one. Is it AND or and or And or && or & in this language. Some langs let you do them all some only one or a subset and they have different meanings.

      So even if you are fairly proficient sometimes the languages get muddled together. Take 2 seconds look it up and be done with it.

      Assumptions are the cause of more fuckups than I can count. Look it up. Once you have read it a few hundred times I may allow you to assume a few things.

    4. Re: False metric by darkain · · Score: 1

      It could also be an indication of how hard it is to find vital information on a particular language. Search for anything in the Win32 API, and the MSDN will be the top result pretty much every time. Search for anything in the PHP language and php.net will be the top result pretty much every time. Other languages are not even remotely as lucky. I personally find that finding even basics of other languages takes a few Google searches and several posts in various StackOverflow boards to get decent answers.

    5. Re: False metric by darkain · · Score: 2

      #1 reason to look things up: are the function arguments in (needle, haystack) or (haystack, needle) order!

    6. Re:False metric by ShanghaiBill · · Score: 2

      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.

    7. Re:False metric by techno-vampire · · Score: 1

      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.

      --
      Good, inexpensive web hosting
    8. Re:False metric by hankwang · · Score: 1

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

    9. Re: False metric by jeremyp · · Score: 1

      I know C really well so I very rarely look anything up online on it. If I do need to remind myself of an API (and printf is a good example, i can never remember the format specifiers), I'll probably use the man pages installed on my computer rather than going to the Web. The same for any language I use regularly, even Java. I'l download the API documentation onto my laptop so I can still use it when offline.

      However, I recently had to write some enhancements for a web site written in classic ASP and, pretty much literally the code for every line I wrote had to be Googled. Going off my web searches, you would assume I only use classic ASP and never anything else.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    10. Re: False metric by CastrTroy · · Score: 1

      There are other languages with good documentation. Java is a good example that you didn't mention. You mentioned the Win32 API and MSDN, but didn't mention .Net or any of the languages that use it such as C# or VB.Net.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    11. Re: False metric by U2xhc2hkb3QgU3Vja3M · · Score: 1

      Look boy, either you're a programmer or a farmer. Pick one already!

    12. Re: False metric by darkain · · Score: 1

      Why not both!? Writing programs to farm gold in WoW all day!!

  4. Swift by Noah+Haders · · Score: 3, Interesting

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

    1. Re:Swift by U2xhc2hkb3QgU3Vja3M · · Score: 1

      And since more and more people are interested in making applications for Mac, iPhone, iPad, Apple Watch and Apple TV, the percentage of Swift programmers should rise faster than the decline of Objective-C programmers.

  5. Har har har? by Anonymous Coward · · Score: 4, Insightful

    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.

    1. Re:Har har har? by Shompol · · Score: 5, Funny

      Aliluâ! Panacea against copy-paste programmers is finally here!

    2. Re:Har har har? by NotInHere · · Score: 1

      Sometimes you want to test something, then you might need to add an if or so. With braces, you just add it, and you can immediately execute it. With python, you have to get indentation right. And you never know where a block ends, unless you look at the indentation level.

      And to GP: the next time you have to write something in python for whatever reason (unfortunately python is almost unavoidable), try kate block mode.

    3. Re:Har har har? by CastrTroy · · Score: 1

      And sometimes you actually just want to move some inline code out to a new function to fix the code that wasn't done well in the first place. If the language has problems that stops you from refactoring your code in order to improve the code base, then there are serious problems with the language.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    4. Re:Har har har? by Just+Some+Guy · · Score: 1

      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 can't make this hypothetical copy-and-paste problem manifest itself in reality. Curse you, Python!

      --
      Dewey, what part of this looks like authorities should be involved?
    5. Re:Har har har? by Anonymous Coward · · Score: 1

      you hate having to indent your code the way you would naturally have indented it anyway,

      Yes, but you save time by not indenting, quickly trying it out, and if you want to make it permanent, you can always pipe it out to a pretty-printer.

      With python, if it's not indented correctly, it's broken. I don't want to deal with a language so fragile that I can break a program by deleting a couple of spaces or tabs.

    6. Re:Har har har? by Marginal+Coward · · Score: 1

      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? Geeze, I'm not sure my coworkers / teachers / project maintainers / colleagues can accept that...

    7. Re:Har har har? by Just+Some+Guy · · Score: 1

      Yes, but you save time by not indenting

      I'm asking this seriously: what text editor do you use that you can easily not indent? I use Emacs (and Vim and Sublime Text and Atom) and automatically get thr correct indentation just by writing code like I normally would. If I type if foo: and hit enter, the cursor will be placed correctly for the next thing I type. This isn't Python-specific, either. I get the same behavior when writing C, Go, JS, shell scripts, and so on.

      I love dealing with a language that's explicit about what I mean. Consider how incredibly dangerous it is to write code that's not actually indented the way it's meant to be executed. Lots of eyes looked at that C code and didn't notice that the formatting was inconsistent with its parsing. That would not have been a problem in a language that uses indent to describe intent.

      --
      Dewey, what part of this looks like authorities should be involved?
  6. Python on the Rise by PopeRatzo · · Score: 1

    I got your Python, right here.

    --
    You are welcome on my lawn.
  7. Wait, searches for language tutorials? by Ecuador · · Score: 3, Interesting

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

    --
    Violence is the last refuge of the incompetent. Polar Scope Align for iOS
  8. Need more mature languages by iamacat · · Score: 3, Interesting

    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.

    1. Re:Need more mature languages by Euler · · Score: 1

      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.

    2. Re:Need more mature languages by Wrath0fb0b · · Score: 2

      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 ASAN and Valgrind.

      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.

      Good thing no one proposed that.

    3. Re:Need more mature languages by unimacs · · Score: 1

      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.

    4. Re:Need more mature languages by El_Muerte_TDS · · Score: 2

      Interesting read by Andrei Alexandrescu, D Language Architect, on: D, Go, Rust, and C, C++:
      https://www.quora.com/Which-la...

    5. Re:Need more mature languages by Anonymous Coward · · Score: 1

      Try Erlang, or even better Elixir. Those languages have been built with parallelization in mind

    6. Re:Need more mature languages by lolop · · Score: 1

      When you just learn what is a variable, a loop, a function, an expression, an assignment, an object, a module⦠(ie. when you are a beginner), the (real) problems you list are not your problems.
      As long as you just use programming for simple tasks automation, basic usage, they are still not your problems.

      When you want to become a professional developer, they generally appear, but I hope you are in position to learn other languages adapted to your requirements.

      --
      -- Laurent Pointal
    7. Re:Need more mature languages by fendragon · · Score: 1

      Java is not suitable for realtime due to unpredictable GC

      Not disputing that, but realtime is a problem for *any* language that has automatic garbage collection.

    8. Re:Need more mature languages by jandersen · · Score: 1

      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 and perform brain surgery.

      The sensible thing is to use the simplest tool that will do a given job easily, and then change to another tool for another kind of job. Why would you expect it to be different for computer programming? There is no universal super languange that can do everything you desire, because 1) your desires are yours, and may not align with those of others, 2) it isn't actually worth creating a tool like that, because the existing ones do the job well enough, and 3) the technology and the needs change too fast anyway, so a superlanguage would dated before the specs were finished.

    9. Re:Need more mature languages by TeknoHog · · Score: 1

      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.

      --
      Escher was the first MC and Giger invented the HR department.
    10. Re:Need more mature languages by BitZtream · · Score: 2, Interesting

      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 to automatically do all the work for you. Which can be done and has been done in a various demonstrable examples. Turns out that a lot of times, its not good to implicitly do things, which you'd know if you understood the comment you made about Java not being real time, but I suspect you're just respewing things you've heard someone else say but you actually have zero understanding of.

      You want a language that magically reads your mind and always does the right thing. The problem is, if you read your post, you'll see that YOU DON'T KNOW WHAT YOU WANT TO DO and thats actually the problem, not the languages or the computer.

      Everything you've posted demonstrates a flaw in you and your understanding of the language or abilities. Not the tool. But hey, who am I to judge, you go right on ahead blaming the tool for your lack of ability, I'm sure you'll get promoted.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    11. Re:Need more mature languages by Anonymous Coward · · Score: 1

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

      CCP games use an interpreter that has that lock, but they get around it using Sentry. That's not the same as not having that lock, and OP is correct about Python.

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

      Yes, and that's hard to do. And because it's hard to do you guys obviously aren't idiots. And because you're not idiots, you obviously didn't choose Java for this real-time stuff. Java chose you, and you had to make it work. So tell us why you HAVE TO use Java for this, and stop pretending that Java is a great choice for realtime stuff when we both know it isn't.

      This is just simply wrong for so many reasons

      It's not wrong. There is no mainstream language which makes automatic use of multiple cores and GPU.

      Everything you've posted demonstrates a flaw in you and your understanding of the language or abilities

      Actually he posted some fairly accurate and insightful things, and you're just quibbling. Playing alpha geek at the end of your post is fairly disreputable anyway, but ironically inappropriate since your own post is full of errors & omissions.

    12. Re:Need more mature languages by yes-but-no · · Score: 1
      Yes, most CPUs today are multi-core and we need language features which can automatically do parallelism. The best is when it happens without explicit programmer directive. Say when C was invented, complex mathematical expressions can be reordered/re-evaluated to best use the underlying hardware [register sets, ALUs]; the language gives guarantees using sequence-points, only when the dust settles down and the programmer can use the value.

      Similarly in languages like python, operations on collections [like lists, iterators] can happen in parallel. e.g. if I call find-max(list_foo), the library can fire up as many threads into various cores at runtime to utilize the h/w better. That is a kind of micro parallelism which happens at runtime.

      Of course if the problem is amenable to massive parallelism at top-level (ie at design/algorithm stage), the programmer can use explicit multi-threading programming paradigms.

    13. Re:Need more mature languages by paavo512 · · Score: 1

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

  9. * ducks head * by Anonymous Coward · · Score: 1, Informative

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

  10. Understand the Allure by Thunderf00t · · Score: 4, Interesting

    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.

    --
    We will never be the change to the weather and the sea
    1. Re:Understand the Allure by whh3 · · Score: 1

      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 want to be able to, you know, understand my code when I return to it 18 mos later (just like OP said).

      Will

      --
      remove nospam. to email!
    2. Re:Understand the Allure by gfxguy · · Score: 1

      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.

      --
      Stupid sexy Flanders.
    3. Re:Understand the Allure by loosescrews · · Score: 1

      You might like Go. It has most of that line-count saving stuff removed. It is really quite polarizing.

  11. Re:Spare Us by invictusvoyd · · Score: 5, Insightful

    A real programmer does not care about languages. A real programmer does not attempt to write a kernel in perl. A real programmer does not attempt to write a glue script in C . A real programmer cares more about the optimum solution to the problem than which tools to use .

  12. Re:Spare Us by Anonymous Coward · · Score: 3, Interesting

    agree completely, as long as the solution involves Perl :-)

    That is one underrated language...

  13. Re:Spare Us by Anonymous Coward · · Score: 2, Interesting

    Haha. "A real programmer does not care about languages." "A real programmer would not use language x for task y." Perhaps you should think a bit before spouting contradictory inane platitudes.

  14. Re:Spare Us by TWX · · Score: 4, Interesting

    His statement is true if you consider it to mean that a real programmer does not care about any one language to the exclusion of others.

    I was at a Cisco event recently that had a discussion on Application Centric Infrastructure, basically using a master controller to do all kinds of fancy on-demand things to switchports at the access layer depending on factors like authentication of the device or user account. The presenter basically said there are two ways to go about it, the first is to use the somewhat crappy GUI/Web interface, and the second is to write stuff in Python that the controller makes use of. As someone that uses a lot of Bash right now the Python approach is definitely more my style than relying on a web page.

    --
    Do not look into laser with remaining eye.
  15. Re:php will raise again. by invictusvoyd · · Score: 1

    And so is Windows .. Even today !

  16. Re:Spare Us by mrsquid0 · · Score: 2

    > No real programmer uses these stupid script kiddie languages.

    No real programmer makes silly statements like that.

    --
    Just because you are paranoid does not mean that no-one is out to get you.
  17. But... but... by DaTroof · · Score: 4, Informative

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

    Why, yes. Yes, they did.

    Please stop the hyperbolic clickbait.

    1. Re:But... but... by Spy+Handler · · Score: 1

      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

  18. Re:Spare Us by Zontar+The+Mindless · · Score: 2

    Busted. We're writers, not developers, so we wrote our XML processing toolchain with XSLT, Bash, Perl, Ruby, Python, and PHP. We only re-publish about 30,000 pages of documentation in about 20 different end-user formats every single day, so it's not like it's a *real* application or anything...

    *eyeroll*

    --
    Il n'y a pas de Planet B.
  19. ... and here on slashdot? by damn_registrars · · Score: 2

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

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
    1. Re:... and here on slashdot? by Waffle+Iron · · Score: 1

      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.

    2. Re:... and here on slashdot? by hankwang · · Score: 1

      "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 maintain avantslash (see signature).
      * Support https.

      Soylentnews forked the last public release of slashcode and did a pretty good job. Unfortunately the community is too small to get good discussions going on technical subjects.

    3. Re:... and here on slashdot? by Antique+Geekmeister · · Score: 1

      > 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 be upgraded for compatibility. I'm afraid I encountered this at least once a year for 10 years after the "mod_perl" update debacle.

    4. Re:... and here on slashdot? by dwpro · · Score: 1

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

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    5. Re:... and here on slashdot? by gustygolf · · Score: 1

      The problem with mod_perl was one of perception: It was meant to extend Apache, and its documentation reflected that. Easy writing of Apache modules without touching C code. Its primary aim was to be a Perl API to Apache. This is very much comparable to the recent Lua extensions on the NetBSD kernel.

      You did not need mod_perl to run Perl code on Apache. In fact, it was probably one of the less efficient ways to do so: if your script needed large amounts of memory, the memory remained mapped to the relevant Apache process and wouldn't get freed. Swapped out perhaps, but not freed.

      Besides, global variables were shared so mod_perl was definitely not a good way to run multiple "web applications", much less user-installed ones!

      (In case you ask: to run Perl code on a web server today, you should use Plack; back then you should have used FastCGI.)

      I guess the confusion was driven by mod_php which was the de facto way of running PHP on Apache, without resorting to the terrible slowness of CGI.

      --
      "Slow Down Cowboy! It's been 58 minutes since you last successfully posted a comment" -- slashdot, driving users away.
    6. Re:... and here on slashdot? by hankwang · · Score: 1

      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.

    7. Re:... and here on slashdot? by dwpro · · Score: 1

      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.

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    8. Re:... and here on slashdot? by Antique+Geekmeister · · Score: 1

      > The problem with mod_perl was one of perception:

      The problem with the mod_perl update was one of naming and numbering. The version that supported httpd, sometimes called "Apache 2", was _among_ the mod_perl 1.9xxx releases, and it was very difficult to tell which "1.9xxx" release was compatible with what. Older perl modules that were only compatible with the older releases had to all be updated to require a release _less than_ 1.9xxx, or they would break when installed with "cpan install". And if your software required 2 modules, one of them with a recent release compatible only with the old mod_perl, and the other compatible only with the newer mod_perl, you had to trace back each individual module to find a version compatible with the dependencies of the other. This was hellish for web developers, and it _kept happening_ anytime anyone introduced or updated anything that used mod_perl.

      The version compatible with Apache 1.3 should have retained the name "mod_perl", and it could have been supported until Debian finally stopped publishing Apache 1.3 packages alongside HTTPD 2.x packages. The new mod_perl could, and should, have been named mod_perl2 to reflect its incompatibility with the old codebase. This would have protected old modules compatible only with the older codebases and preserved forward compatibility. Newer packages could, and would, have used the new codebase by specifically calling it, without having to deduce the specific mod_perl 1.9xxx release where compatibility broke.

  20. Re:Another interpretation might be... by Zontar+The+Mindless · · Score: 1

    Isn't PHP Lesson #1 that you can find $anything you need to know about it by typing "php.net/anything" into your location bar?

    --
    Il n'y a pas de Planet B.
  21. Re: Spare Us by Anonymous Coward · · Score: 1

    You are right but you forgot one group using perl - developers stuck supporting shitty-ass perl code in legacy environments. Some large engineering companies are so fucking entrenched in perl it's pathetic.

  22. Duck typing and GIL by dremon · · Score: 2

    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 interpreting nature it is too slow to be considered as good choice for any CPU-intensive tasks (not only math but anything outside of I/O and networking).

    I must admit though that it is great for scripting. So there should it stay forever and personally I'd run away from any job description which includes Python as a primary language.

    1. Re:Duck typing and GIL by gnupun · · Score: 2

      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?

    2. Re:Duck typing and GIL by gnupun · · Score: 1

      So they throw away all the code for the game and start afresh when they release version N+1?

  23. Re:Spare Us by gweihir · · Score: 2

    Actually, they do. You do not qualify as "real programmer" though, big ego and small skills is not the qualification needed.

    For example, Python is very nice as glue and configuration language for c-modules that do the heavy lifting. I have been using that successfully in some pretty advanced projects.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  24. Re:Spare Us by Anonymous Coward · · Score: 1

    In other words, a real programmer *does* care about languages, only does it wisely.

  25. You make me laugh! by aglider · · Score: 1
    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!

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
  26. Re:Spare Us by TheDarkMaster · · Score: 1

    While I agree with you, I'm recently having to support a complete application written in PHP. And at every turn I'm getting more and more surprised about how PHP is a shitty language for the task.

    --
    Religion: The greatest weapon of mass destruction of all time
  27. Think of the children! by mlush · · Score: 1

    In the UK at least Python is being taught in secondary schools (ages 11 to 16) this could account for a lot of tutorial searches.

    1. Re:Think of the children! by Crookdotter · · Score: 1

      I have learnt python this September to teach it to 16 year olds. It is extremely easy to pick up as a language and some of the libraries are very useful and efficient. Loading a text file in one line kind of thing seems easy to learn for kids. I'm disappointed by the lack of an easy GUI, tkinter just seems awful after the simplicity of initial python for kids. I'd much prefer a more visual studio type approach to python, with an easy to drag and drop set of GUI elements, but then again, I teach python in a strange environment where the tasks are prescribed and the kids don't really have proper access to their machines.

  28. Re:Spare Us by Anonymous Coward · · Score: 3, Informative

    What kind of bullshit you are writing.

    You can write maintainable and well formated Perl programs if you want to. It all depends on the programmer. So crappy formatted programms are only a matter of a pebkac problem and not the problem of the programming language.

    If you had some cluse then you would know that you can write object oriented code with Perl. You either use Perl's internal object orientation model and class out all modules in sub packages with a nice packaging convention: e.g. package My::Cool::Package;

    You can also go more advanced and use Moose if you wish.

    I also recommend reading "Modern Perl" by chromatic (google for it).

  29. Re:Spare Us by Antique+Geekmeister · · Score: 1

    > A real programmer does not care about languages.

    A real programmer certainly _does_ care. The available modules, version dependencies, and API's can vary tremendously. Even simple features like "regexp" have subtly different syntax with different tools, string parsing and processing functions differ fundamentally in the handling of "end-of-line" characters, and even whether a "true" value is "0" or a positive number can differ profoundly and affect binary logic.

    To say "a real programmer does not care" is similar to saying that a real musician does not care what instrument they play.

  30. Re:Spare Us by Assmasher · · Score: 1

    I believe the poster meant to say "...does not care about languages subjectively." as in "tools in a toolbox - pick the right one for the job."

    Of course, that statement always has to be bounded by the skillset of the engineers involved (e.g. picking C for a *nix systems application/daemon is a clear choice unless no one on your team knows C.)

    --
    Loading...
  31. Re:Spare Us by BitZtream · · Score: 1

    A real programmer does not care about languages. A real programmer does not attempt to write a kernel in perl. A real programmer does not attempt to write a glue script in C . A real programmer cares more about the optimum solution to the problem than which tools to use .

    Your first sentence contradicts the rest of your statement where you very clearly show that a 'REAL' programmer most certainly does care about the language, which is why he isn't writing glue script in C or a kernel in Perl.

    And 'REAL' programmers most certainly do avoid shitty languages, of which PHP is one as is Perl (sorry if you still think leaning toothpicks and a language where everyone writes the same one line operation in a different way is a good thing, but that just makes you stupid ;)

    So you go ahead and pretend to be all high and mighty and 'a real programmer' ... and us old guys will laugh at you.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  32. Re:Spare Us by Assmasher · · Score: 1

    Pffft... Luxury. We write code in a shoebox.

    --
    Loading...
  33. Re:Spare Us by gsslay · · Score: 1

    Nice to see the "real programmers don't use [insert language here]" troll still has some life in it.

    Must be pushing at least 40 by now, and still pulling in the responses.

  34. Re:Spare Us by Anonymous Coward · · Score: 1

    "No one uses PERL for real application,"
    You are right, you'd be an idiot to code something like booking.com or slashdot.com in perl...

    oh wait.

  35. Re:Spare Us by smallfries · · Score: 1

    You ain't Mel.

    --
    Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
  36. Re:Spare Us by CastrTroy · · Score: 1

    This is the problem with PHP. PHP used to stand for Personal Home Page. That's exactly the level of programming it was originally designed to do. Making simple pages for personal use, maintained by yourself.

    Since then, it has grown, but many of the things that make it great for small personal home pages make it quite unweildly for larger projects.

    Personally, I don't like PHP or Python. PHP is just terrible for reasons I won't get into here. The only thing that really bothers me about Python is that it uses white space to infer where code blocks begin and end. It's not that I think you shouldn't have properly indented code. The problem is that the blocks should be defined by something other than white space so that your tool can automatically put in the correct white space.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  37. Re:Spare Us by Anonymous Coward · · Score: 1

    It doesn't really use "white space", it just uses "levels of indentation". You can use a single space as the "tab width" and it becomes perfectly clear where each block begins and ends. The same style used to be somewhat more common in C as well, although I haven't seen it in a while (and C didn't require it, of course). Using spaces is not much stranger than using curly brackets, though, and as someone who has misplaced a curly brace more times than I care to recall I much prefer the simplicity of merely shifting blocks left or right to indicate scope. That is essentially the programmer's job, in the first place, not that of the editor/compiler.

  38. The power of Prime Time! by ArhcAngel · · Score: 1

    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.

    --
    "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
  39. Re:Spare Us by Faust6 · · Score: 1

    A 'real' programmer, in vast majority of cases, doesn't code in a dozen languages during work hours. We all specialize and as such are pigeonholed dealing with certain problems.

  40. Re: Spare Us by Anonymous Coward · · Score: 1

    As someone who likes Perl a lot, I agree.

    Perl is great for quick-and-dirty scripts by systems admins like myself. It is my goto language when Bash just won't do it.

    That's more than sufficient reason to keep it around. Just because it's there doesn't mean you have to use it for large applications.

  41. Ever heard of Java HFT? by kervin · · Score: 1

    Java has been doing realtime for over a decade now. In fact the very first JSR was JSR 1: Real-time Specification for Java 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/ and OpenHFT is doing for instance.

  42. Re:Spare Us by jellomizer · · Score: 1

    Actually they do.
    These modern interpreted languages offer many key benefits over the compiled languages such as C/C++, <whatever>.NET, Java.
    1. No compiled code: Sucks if you are trying to offer a closed source solution. But often in a business environment having your source as your running code, means decades after you leave you will still have the source available, even after they lost the original project. How many pros had came to a work environment where there was at least one legacy (Usually VB) application that all you have is an .EXE and unable to do maintenance on the code. So a minor tweak requires a full rebuild.

    2. Platform independence. Sure Java is good too. But having code written that work well on various OS's and versions means you can keep this code longer than people decide to change the environment

    3. Full language library. These languages were designed to get work done and quick coding. That means there they come with a rich library of common use tasks which are optimised for performance. While in theory you can get faster in C/C++ however when deadlines are looming, you may do a sub optimal get it done code, because a standard sub class isn't available.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  43. Re:Spare Us by flargleblarg · · Score: 1

    A real programmer does not care about languages.

    Disagree. Real programmers care a lot about what languages they use.

  44. Re:Spare Us by KGIII · · Score: 1

    No, with butterflies...

    Obligatory XKCD:
    https://xkcd.com/378/

    --
    "So long and thanks for all the fish."
  45. Meh by bigsexyjoe · · Score: 1

    Some languages are better than others for certain tasks, and some languages, like PHP, are crap. While there are things that PHP will do better than C++, there's basically nothing that PHP will do better than Python.

    Likewise, I can think of no case for staring a new project in COBOL.

  46. Re:PYPL shows your wife NIGGERDICKS She says YAY! by Zontar+The+Mindless · · Score: 1

    You forgot to check your fail.

    --
    Il n'y a pas de Planet B.