Slashdot Mirror


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

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

145 of 254 comments (clear)

  1. Who cares? by fnj · · Score: 4, Insightful

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

    1. Re:Who cares? by OYAHHH · · Score: 1

      Exactly!

      --
      Caution: Contents under pressure
    2. Re:Who cares? by ShanghaiBill · · Score: 5, Insightful

      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.

    3. Re:Who cares? by thesupraman · · Score: 1

      Your embedded should be 'embedded', in the same way 'embedded' linux rocks.

      Yes it does, however it doesn't come within a mile of true embedded uses, where any unrequired resources mean extra device cost, which is to be avoided.
      True embedded these days generally means 'runs on the included storage/memory within a microcontroller', and that is a stretch for embedded python.

      However it does fit quite nicely into the hobbyist 'cracking an embedded nut with a sledgehammer' approach, where huge storage, memory, and cpu capabilities are used to solve often trivial problems - which is perfect valid for single/low unit use.

    4. Re:Who cares? by Hognoxious · · Score: 2

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

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    5. Re:Who cares? by DontBeAMoran · · Score: 2

      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.

      --
      #DeleteFacebook
    6. Re:Who cares? by 0100010001010011 · · Score: 1

      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.

    7. Re: Who cares? by reanjr · · Score: 1

      Or that all these coding camps (typically taught in Python) are attracting less competent developers.

    8. Re:Who cares? by TechyImmigrant · · Score: 1

      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.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    9. Re:Who cares? by h33t+l4x0r · · Score: 5, Interesting

      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.

    10. Re:Who cares? by Opportunist · · Score: 1

      Popularity can also be a flash in the pan. Ruby, anyone? How about Rust? Is Go still going or can we add it to the pile of "once been hip" languages?

      Python suffers from a very, very serious problem when it comes to long term popularity: Code longevity. Ponder for a moment what kind of stuff you code in Python. Code that you refine and improve over time? Or is it more your tool to whip something together on the spot?

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    11. Re:Who cares? by Billly+Gates · · Score: 1

      I have been reading about Python for 20 years back when interviews said what the hell is Python and why haven't you used Perl. Ruby still is insanely popular and employers are struggling to find qualified applicants. Python like Ruby is not going away

    12. Re:Who cares? by AuMatar · · Score: 1

      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.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    13. Re:Who cares? by h33t+l4x0r · · Score: 2

      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?

    14. Re:Who cares? by Billly+Gates · · Score: 1

      Try to do anything not overly engineered in Java enterprise edition?

    15. Re:Who cares? by djinn6 · · Score: 1

      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. When you do need to move to a new language on a new job, it's much harder to convince a company that you can learn it on the job than it is to convince them you're already good at whatever they needed.

    16. Re:Who cares? by arth1 · · Score: 1

      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 the question, and huge stack of kitchen sink shared libraries likewise.

    17. Re:Who cares? by Boronx · · Score: 1

      GP might mean "embedded" in the sense of embedded in a C program as a scripting language.

    18. Re: Who cares? by hackwrench · · Score: 1

      QB64 has those and multimedia support.

    19. Re:Who cares? by hackwrench · · Score: 1

      Good languages have shim parameters for interfacing with any and all binary libraries.

    20. Re:Who cares? by Plus1Entropy · · Score: 1

      Who only knows one language? The last time I only knew one language I was probably 15.

      --
      Only crack the nuts that crack. You don't put the ones that don't crack in the sack.
    21. Re:Who cares? by Plus1Entropy · · Score: 1

      If you're looking to scrape html there are other libraries. Recently I used lxml, 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.

      --
      Only crack the nuts that crack. You don't put the ones that don't crack in the sack.
    22. Re:Who cares? by h33t+l4x0r · · Score: 1

      It's terrible compared to the offerings of other languages. Not even full CSS3 support.

    23. Re: Who cares? by abies · · Score: 1

      I can't say that I agree or see anything that's inherently better about Fortran than C.

      Assuming that by 'better' you mean resulting program running faster: array handling and lack of opaque pointers.

      In C, array is just a memory block with bit of fancy access syntax. In Fortran, array is a a construct understood as such on compiler level and because you cannot do so many tricks with pointers, compilers is allowed to do certain optimalizations impossible in C. Example - it can change layout of array to better fit cache lines on CPU.

      https://scicomp.stackexchange....

      Yes, contemporary C compilers achieve a lot - but it requires a lot of handcrafting (tagging memory blocks with builtin_aligned etc) and trial and error (sometimes innocent looking line can change your code from 4-way optimized vector code into old MMX era style due to some compiler quirk). But even with that, cache layout optimalization is left for you to do manually (and you end up seeing code with things like pad0,pad1,pad2,pad3,pad4 etc).

    24. Re: Who cares? by Threni · · Score: 1

      I don't. I use whatever is right for the job.

    25. Re:Who cares? by Hognoxious · · Score: 1

      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.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    26. Re: Who cares? by Rockoon · · Score: 1

      I always felt that one of the things C needed was an official way for the programmer to define the exact size of a structure. Even having dummy variables doesnt truly cut it because its all still implementation dependent. You can get away with making assumptions most of the time.. but then that one weirdo asic compiler is being used to handle your data and all bets are off.

      --
      "His name was James Damore."
    27. Re:Who cares? by Rockoon · · Score: 1

      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 is hands-down better for scientists.

      --
      "His name was James Damore."
    28. Re:Who cares? by Hognoxious · · Score: 1

      the langauge people are having the most trouble with

      Is that an instrument for measuring your network?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    29. Re: Who cares? by Half-pint+HAL · · Score: 1

      Ditto. Besides, like all scripting languages that have mushroomed over the last few years, Python has some ridiculous drawbacks. Who wants to use a programming language where deleting a space at the beginning of the line will prevent the code from running?

      I hate semantic whitespace, but even then, your argument could be parameterised as "Who wants to use a programming language where deleting a {char_name} at {position} will prevent the code from running?" for many different char_names and positions, covering every single language.

      But despite the nuisance of semantic whitespace, Python is still my main language at the moment because no-one has yet pointed me to a language that handles lists as cleanly, and all my programming tasks these days involve lists of data.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    30. Re: Who cares? by K.+S.+Kyosuke · · Score: 2

      Well, Common Lisp has multidimensional arrays out of the box, and instead of the object oriented nonsense of other languages, it has generic functions.

      --
      Ezekiel 23:20
    31. Re:Who cares? by K.+S.+Kyosuke · · Score: 1

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

      --
      Ezekiel 23:20
    32. Re: Who cares? by Entrope · · Score: 1

      That's a silly generalization, because most characters are printing. But the real problem isn't that changing whitespace will make Python code not run; the worst case is that it silently changes the behavior of the code. I've lost track of how many times Python code at my workplace has had long-standing bugs because of simple typos.

    33. Re:Who cares? by zifn4b · · Score: 1

      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

      --
      We'll make great pets
    34. Re:Who cares? by TechyImmigrant · · Score: 1

      Well no. It's not like that at all.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    35. Re:Who cares? by mapkinase · · Score: 1

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

      Love the straight face humor in this sentence.

      --
      I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
    36. Re: Who cares? by vtcodger · · Score: 2, Funny

      (My ((God) Man). (You (left ((out)) all) the) parentheses!!!)

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    37. Re: Who cares? by vtcodger · · Score: 2

      You mean something like "1.0 if X else 3.1416" -- which is legal Python and does what you'd expect.

      OK, I have to admit. I haven't seen a FORTRAN program since about 1988. And I have no idea what part of the language a FORTRAN arithmetical IF statement might be. But I have to say that I don't especially miss FORTRAN although I do think it's a hell of a lot more readable than C, C++ or Perl.-- all of which tend to look like a terrier has been banging enthusiastically on the keyboard.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    38. Re: Who cares? by Half-pint+HAL · · Score: 1

      It was a silly generalisation because it was in response to a silly statement by an AC. Your point, however, I completely agree with. Guido kids himself on there are no block delimiters in Python, when every single block is preceeded by a colon. Python has start delimiters for blocks, but no end delimiters, which I think is madness.

      But the language is still well suited to my needs so I use it.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    39. Re: Who cares? by vtcodger · · Score: 1

      "Who wants to use a programming language where deleting a space at the beginning of the line will prevent the code from running?"

      Why on earth would one want to arbitrarily delete leading spaces? That's an activity that makes no more sense than arbitrarily changing the spelling of the first variable or operator on the line (and nowhere else).

      What Python does is observe that people use indentation for readability anyway, and uses that practice to eliminate some levels of bracketing. Of course if you love parentheses, Python is not likely to be your favorite language although it still uses a lot of them as well as square and squiggely brackets. ..

      You might prefer, say, Lisp.

      Lot's of us feel differently.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    40. Re:Who cares? by Dutch+Gun · · Score: 1

      To clarify a bit: popularity matters mostly among competing languages. I hope people here understand that Python isn't really competing with C++, so the relative difference in popularity between those two doesn't really matter much at all. You might notice how among the top 20 "popular" languages, there's a very broad range of specialties, which I don't think is a coincidence at all.

      Example: Lua ranks something like #35 on the TIOBE index, but is by far the most popular lightweight embeddable application extension language for native code. Obviously, it's quite specialized, which is why it's so far down in the general rankings. But it's essentially a #1 ranking language among its peers.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    41. Re: Who cares? by dougdonovan · · Score: 1

      people into money care. read wall street.

    42. Re:Who cares? by Plus1Entropy · · Score: 2

      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 candidates have brought it up, but they never changed the job requirements, then you probably don't want to work there anyway. My advice if the interviewer doubles down is to walk out and look elsewhere.

      --
      Only crack the nuts that crack. You don't put the ones that don't crack in the sack.
    43. Re:Who cares? by Hognoxious · · Score: 1

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

      I don't know. Who said it did?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    44. Re: Who cares? by piojo · · Score: 1

      You might be interested in Perl 6. It's a mutt, with the pattern matching of Haskell, the the list processing of perl, the introspection of Python and Ruby, and a type system that's more comprehensive than what I've seen in any one language--yet optional, for lazy scripting when the type constraints aren't needed.

      --
      A cat can't teach a dog to bark.
    45. Re: Who cares? by piojo · · Score: 1

      I never minded the indentation, except in the REPL where it just gets in the way. What I did mind was forcing every statement to be on a new line and every class in a new file, robbing me of the ability to say "this stuff isn't important, so it's squished together". For example, adding a two-line helper class to a script, which most people would just stick at the bottom of the script.

      (Note: if my info is out of date, it's been a few years since I've used python.)

      --
      A cat can't teach a dog to bark.
    46. Re: Who cares? by TechyImmigrant · · Score: 1

      I said I write crypto code. My job isn't 'crypto coder' and I don't work for any government. Security it a constantly evolving space. The installed base of software is a nightmare of badly implement and badly designed crypto. Techy firms are having to build security into their products, both hardware and software and they need people who can work in that space without being clueless. The existing libraries are mostly useless when designing new things. Particularly when those things are embedded or in hardware. Most of the crypto algorithms that we need to improve things are not actually in existing libraries. They are in math papers written by cryptographers and getting that stuff from theory to practice is a lot of heavy lifting.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    47. Re: Who cares? by Shirley+Marquez · · Score: 1

      Lisp was first implemented as an interpreter, and a full Lisp implementation needs to have an interpreter available because of the availability of EVAL - a function that allows data to be executed as code on the fly.

      But in a production Lisp environment nearly all code is compiled. And some Lisp compilers can produce code that matches the efficiently of code from compilers for procedural languages like C. Lisp can be used to write efficient numeric code, though it lacks the massive amounts of pre-written code that you can find for languages such as Fortran.

    48. Re: Who cares? by Shirley+Marquez · · Score: 1

      The peculiar form of the arithmetic IF statement comes from the instruction set of the IBM 704, the first computer to get a Fortran compiler. It compiled into a single machine instruction on that computer, and on pretty much no computer ever designed since then.

    49. Re:Who cares? by AuMatar · · Score: 1

      If you're professors taught you that, they were incompetent.

      Here I have the data in CSV format. Here I have the data encoded in the low order bit if the 498th pixel of images who's filenames are found by taking the 3rd letter of every word in the Lord of the Rings. They have the same data. But you'd be an idiot to use the second one. You're an idiot if you waste your time screen scraping websites, its not a format meant for processing of data, there's no regularity to it and the format can and will change anytime some designer gets a cool idea. If you do this, you're incompetent.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    50. Re:Who cares? by tepples · · Score: 1

      You mean like the eBay and Amazon listers that I revised over the course of six years for an online toy seller? Yup, Python.

  2. not looking to contribute to any "language war"... by Gravis+Zero · · Score: 1

    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.

    --
    Anons need not reply. Questions end with a question mark.
  3. For data science by Anonymous Coward · · Score: 1

    Clearly the major languages are Python and R (in either order), followed by Scala. Then there's a pack (Java, C++, JavaScript, Ruby...) trailing behind.

    No news there.

  4. yeah, i read it by turkeydance · · Score: 1

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

  5. Re:not looking to contribute to any "language war" by Anonymous Coward · · Score: 3, Insightful

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

  6. Yes by bill.pev · · Score: 1

    ...And as long as libraries for machine learning and analysis continue to rock, it will be for a while.

  7. Re:not looking to contribute to any "language war" by Hognoxious · · Score: 1

    So what colour should the space be?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  8. Survivor Bias? by pedz · · Score: 2

    Perhaps "Survivor Bias" 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.

    1. Re:Survivor Bias? by Yaztromo · · Score: 1

      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 seven space on line 62, instead of 8"?

      Yaz

    2. Re:Survivor Bias? by engun · · Score: 1

      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.

    3. Re:Survivor Bias? by mysticgoat · · Score: 1

      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 single line is priceless.

      Contrast this with Perl where a competent programmer can do the work of a hundred page COBOL program in a dozen lines and a couple of regular expressions, but it would take an equally competent Perlista half a week to read those dozen lines.

      Python for the win! There is no other language that can make the printouts of your source look so good!

    4. Re: Survivor Bias? by Entrope · · Score: 1

      I disagree. LaTeX can make printouts of *anything* look good, even if your source material is something like lemonparty or tubgirl.

    5. Re:Survivor Bias? by Zero__Kelvin · · Score: 1

      If you aren't googling for answers about using C you probably don't understand the language. Or more accurately, how to use it to do anything useful. Try using the OpenSSL API without searching online for example. Of course your question likely has already been answered both correctly and incorrectly. :-)

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    6. Re:Survivor Bias? by plopez · · Score: 1

      It could also measure how hard a language is to use and how many Intro to CS courses require it :)

      --
      putting the 'B' in LGBTQ+
  9. Ob by Hognoxious · · Score: 1

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

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  10. Re: Python was first released in 1991 by DontBeAMoran · · Score: 4, Funny

    I have a buddy in prison who says it's offered as a class to inmates.

    Man, I heard prisons were tough, but Python, really? Doesn't that violate U.N. human rights accord?

    --
    #DeleteFacebook
  11. Re:not looking to contribute to any "language war" by DontBeAMoran · · Score: 1

    I'm not a racist butt?

    --
    #DeleteFacebook
  12. Re:The Register by DontBeAMoran · · Score: 2

    What do you mean? EAX or EDX?

    --
    #DeleteFacebook
  13. Re:Growing - in what markets by DontBeAMoran · · Score: 1

    Last time I tried to program in python, it just tried to strangle me. I learned my lesson and only program in white mouse now.

    It's strange, though. Sometimes I get the feeling the mice are just staring at me and analyze everything I do. I better get a towel and a bag of peanuts.

    --
    #DeleteFacebook
  14. Re:not looking to contribute to any "language war" by Baloroth · · Score: 2, Interesting

    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.

    --
    "None can love freedom heartily, but good men; the rest love not freedom, but license." --John Milton
  15. Re: Python was first released in 1991 by Opportunist · · Score: 1

    That cannot be compatible with the 8th.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  16. Re:not looking to contribute to any "language war" by Opportunist · · Score: 1

    #whitespacesmatter

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  17. The cool kids use Erlang not Python or node.js by Billly+Gates · · Score: 1
  18. Re: Python was first released in 1991 by Billly+Gates · · Score: 1

    Yeah man. Python is real gangsta

  19. Because of inclusion with visual studio 2017 by Billly+Gates · · Score: 4, Informative

    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

  20. C is 40 years old by Snotnose · · Score: 1

    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,

  21. Re:not looking to contribute to any "language war" by Pseudonym · · Score: 1

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

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  22. O Rly by hackwrench · · Score: 1

    Give your "good" reasons why Ada and Modula-2 aren't that popular. I use QB64's variant of QuickBASIC, which has almost everything you could want built-in.

  23. Python is the Most Troublesome by blavallee · · Score: 4, Insightful

    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 tells a different story.

    1. Re:Python is the Most Troublesome by Billly+Gates · · Score: 1

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

    2. Re:Python is the Most Troublesome by blavallee · · Score: 1

      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?

    3. Re:Python is the Most Troublesome by Anonymous Coward · · Score: 1

      Traffic to Stack Overflow is an indication of people having issues with Python. Not it's popularity!

      Incorrect! Most of stack overflow articles are about "how to do a common thing." So Google + Stack Overflow is being used as a quick reference. In which case, high traffic indicates high usage of that language.

    4. Re:Python is the Most Troublesome by Sits · · Score: 1

      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 people like them, some people hate them, some are indifferent.

    5. Re:Python is the Most Troublesome by omar.sahal · · Score: 1

      Not necessarily You could be learning the language and want examples of how a library (or some other part of the language) is used.

    6. Re:Python is the Most Troublesome by hackertourist · · Score: 1

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

    7. Re:Python is the Most Troublesome by paazin · · Score: 1

      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.

    8. Re:Python is the Most Troublesome by avandesande · · Score: 1

      That's silly. If I monitored 'trips to gas station' by car manufacturers and saw honda civic a lot, you could say this is because they get poor gas mileage, couldn't you?

      --
      love is just extroverted narcissism
  24. It's a requirement for a lot of things now by drinkypoo · · Score: 1

    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.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    1. Re:It's a requirement for a lot of things now by TeknoHog · · Score: 1

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

      OhyeahliketheEnglishlanguageandprettymucheverynaturallanguageoutthere.

      --
      Escher was the first MC and Giger invented the HR department.
    2. Re:It's a requirement for a lot of things now by TeknoHog · · Score: 1

      I'm well aware of the Real Scots^Wwhitespace issue in Python. Read all about it here.

      --
      Escher was the first MC and Giger invented the HR department.
    3. Re:It's a requirement for a lot of things now by drinkypoo · · Score: 4, Informative

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

      OhyeahliketheEnglishlanguageandprettymucheverynaturallanguageoutthere.

      That's a very stupid thing to say since the argument is not over single spaces, but over using some number of spaces instead of punctuation. If natural languages worked that way, it would be a nightmare. We have one space, and we have an indent, and that's it, especially since double-spacing has died with typewriters.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    4. Re:It's a requirement for a lot of things now by drinkypoo · · Score: 4, Insightful

      If you use a good modern editor like Microsoft Code, Atom, Brackets, or the bazillion other electron node.js based and not Vi or Emacs it will indent for you.

      That does not solve the problem of copy and pasting code samples, and losing the formatting information. This is exactly why we have punctuation in written language. You can discard the formatting entirely and still make sense of the content. This is also exactly why using indentation to denote control flow is an idiot move which should have been permitted to die with punch cards. Once upon a time, it was actually a convenient convention. Today, it is purely inconvenient. Once that information is lost, it is gone forever. If control flow is denoted with punctuation, you can simply feed the code to an autoindenter, but no such thing can be created for python. The best an IDE can do is assist you with indentation while you write, it can never restore lost indentation.

      This problem is older than computing, and so is the solution. That anyone would create a language which discards this basic tenet of modern language technology is pathetic, and that anyone would defend that decision is doubly so.

      Unix of today is compromised by users and developers who do not understand it. On the one hand we have the proliferation of python, created by people who apparently want to turn back the clock to a time when mainframes and minicomputers dominated, and you had to enter code and data in the correct column. And on the other, we have the proliferation of systemd, created by someone who has forgotten all the lessons of the immediate past. And thus, Unix is doomed to be endlessly and poorly reimplemented by people who do not understand it.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    5. Re:It's a requirement for a lot of things now by bzipitidoo · · Score: 1

      Positioning is a major technique for denoting structure. Most programming languages use the other major technique, punctuation. Seems the grip of that dogma is so strong that people will trash talk Python solely for daring to require positioning.

      You argue that positioning is antiquated and stupid because data must be positioned in the correct column. That is not the fault of the idea of positioning, that is the fault of the way ASCII does positioning. Fixed width fonts and placing data in the correct column wouldn't be necessary if ASCII didn't do positioning that way. One simple idea to fix the issue that so upsets you is to repurpose 2 of the currently unused and useless ASCII control characters to mean "indent++" and "indent--". Those characters would be analogous to parentheses. Then there would be much, much less need for leading spaces and tabs, much less need to use a monospace font for coding.

      Markup languages demonstrate more sophisticated ways to position text: metadata. I don't know about you, but I am perfectly happy with the default way browsers display HTML, in "presentation mode", without the tags being visible.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    6. Re:It's a requirement for a lot of things now by drinkypoo · · Score: 2

      You argue that positioning is antiquated and stupid because data must be positioned in the correct column. That is not the fault of the idea of positioning, that is the fault of the way ASCII does positioning.

      It doesn't matter whose fault it is, and the problem is not unique to the ASCII character set. There's literally no character set that has the feature you want, so it's not a matter of switching sets.

      One simple idea to fix the issue that so upsets you is to repurpose 2 of the currently unused and useless ASCII control characters to mean "indent++" and "indent--". Those characters would be analogous to parentheses.

      That would be stupid. We already have parentheses, and they work just fine.

      Markup languages demonstrate more sophisticated ways to position text: metadata. I don't know about you, but I am perfectly happy with the default way browsers display HTML, in "presentation mode", without the tags being visible.

      Thank you for just completely fucking torpedoing your own argument: HTML is another language which works in an intelligent fashion. You can lose all the carriage returns and all the indents from HTML and it still displays correctly.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    7. Re:It's a requirement for a lot of things now by drinkypoo · · Score: 1

      Indentation pays dividends every day

      No one is stopping you from indenting other kinds of code. IDEs will auto-indent them for you, just like they will python. So this is a crap argument.

      while cut and paste happens rarely these days.

      Who told you that? They lied.

      And even when I cut and paste it hasn't been an issue so what are you on about?

      Cut and paste a code sample from a website. I've personally done this and watched it lose all its formatting and become so much useless gobbledygook.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    8. Re:It's a requirement for a lot of things now by Kielistic · · Score: 1

      But we already have parentheses. Why do we need more characters to be "analogous" to them? White space is a bad solution to a problem that we solved with punctuation.

    9. Re:It's a requirement for a lot of things now by drinkypoo · · Score: 1

      It's a stupid argument because the space requirements cause no more or fewer issues than languages requiring block or semicolon delimiters.

      That is a lot of nonsense. Using grouping operators is superior specifically because it solves problems, that's why it was invented and why it became the norm.

      The easier readability of Python, and less typing, is worth something in grokking the code, as well.

      It's not easier to read once the structure has been lost due to a formatting problem. It's not easier to use when indentation varies between sites. It's just a PITA. It's not inherently more readable than languages which use grouping operators, that is a matter of style which Python forces upon you, when other languages offer it as an option, and it's not at all clear that it's worth the tradeoff when you can format other languages automatically.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    10. Re:It's a requirement for a lot of things now by bzipitidoo · · Score: 1

      That's the point. Whitespace in the form of fixed width blank characters is a terrible way to position text. You say solve it by using punctuation, by which you mean some visible marking. That's not a solution, that's an evasion of the problem of how to position text, so that position alone can be used to denote structure.

      But to that you say positioning is a bad way to denote structure, and shouldn't be used, and so it doesn't matter that ASCII is bad at it. If positioning is so terrible, why is Python so popular? Surely not for the other features of the language!

      The way markup languages handle indentation is elegant, and wouldn't be hard to incorporate in ASCII. Just 2 control characters is enough, though should consider having a few more for some additional markup to better support tables for instance. Classic parentheses can't handle the same task, need distinct and separate characters for that.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    11. Re:It's a requirement for a lot of things now by Kielistic · · Score: 1

      Punctuation has been in use for thousands of years; it appears to be a proven solution. Your obsession with "positioning text" is nothing more than apologetics for an obviously flawed system. I do not care in the slightest how my code is positioned- I care what it means. Punctuation is a far more efficient and nuanced method of indicating intent.

      Being popular does not indicate correctness nor quality. That would be referred to as the bandwagon fallacy. But at least we can both agree that Python is equally as good as PHP.

      Which markup language are you talking about, exactly? I hope you are aware that markup is a class of language and does not refer to any specific one language. In XML-type languages you are simply using the tags as parentheses. Tex makes significant use of actual parentheses. Adding new "control characters" does not do anything that parentheses don't already do better. You are just using "magic control char" as opening paren and \n as closing paren. I assure you that C is Turing complete and does not need any special separate characters.

    12. Re:It's a requirement for a lot of things now by bzipitidoo · · Score: 1

      If you use Proper Indentation for C code or whatever curly brace language you prefer, then you do care how your code is positioned. At the least, you are influenced by the fact that many people prefer to read properly indented code.

      Positioning to denote structure is not a flawed system. It is quite venerable. For instance, accounting has used double entry bookkeeping for centuries, with the data in neat columns. Your claim that punctuation has superior efficiency is only true when the methods for indicating position are limited to those available in ASCII.

      I was thinking of HTML mainly, but the point applies to any markup language that supports nested lists, such as Markdown. ASCII should have had control characters to support nested lists, and tables as well, from the beginning. That's hindsight of course. It would have been remarkably foresighted if the ASCII committee had perceived the need and value of some minimal markup support in the 1960s. Instead, ASCII has the mess known as the tab character, an ugly combined purpose character that, like a typical 6 tools in one, fails to do any of its purposes well. Parentheses do not position text at all. The purpose of these additional control characters is positioning, for displaying hierarchical info. Brackets denote hierarchy one way, without using position. There is no elegant way in ASCII to position text in order to denote hierarchy, and there should be.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    13. Re:It's a requirement for a lot of things now by david_thornley · · Score: 1

      I care how my code is positioned. I care so much that I use punctuation to make sure it's right.

      Positioning to indicate structure is a good idea. Lisp would be unreadable without it. However, punctuation is useful to make sure it's correct. Lisp uses parentheses. C uses braces and semicolons. Accounting uses decimal points, real or implied. If a C or Lisp program gets its whitespace mangled, there are tools to make it right. In accounting, if the columns get misaligned, people can figure it out.

      ASCII is a character set. No more, no less, just a way to denote commonly used characters. There is a very great advantage here: it's just a character set, and doesn't have other meanings shoehorned into it. It can be used by any program without bringing in external baggage, and software can decide how to format it based on ASCII text and whatever markup (HTML, troff, LaTeX, etc.) is provided. We need a character set. We need markup languages. It's best for everyone if we don't confuse the two.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    14. Re:It's a requirement for a lot of things now by Kielistic · · Score: 1

      If Python coders cared about a nesting control character they would use tab. They don't. They use not only the wrong paradigm but also the wrong character. My best guess is because they don't actually know what they want.

  25. Keeping it as a hobby and nothing more by BlytheBowman · · Score: 1

    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 thank you. Code monkeys for current and popular languages are very easy to replace.

    1. Re:Keeping it as a hobby and nothing more by micahraleigh · · Score: 1

      If they're so easy to replace why are they often pulling in $90 - 120k ? Don't very many professions can claim that.

  26. Re:other fallacies though by hackwrench · · Score: 1

    The article doesn't deal with communities that more adequately handle user issues, like the QuickBASIC-variant community.

  27. Re:Python has nothing on PHP by mysticgoat · · Score: 1

    Agreed. PHP is by far the fastest growing language in terms of new users.

    WordPress.

  28. Re:You are not measuing "Popularity" by xonen · · Score: 1

    Only the cut-n-paste crowd will use cut-n-paste resources.

    Real Programmers do not.

    Real programmers re-use code. Real programmers see if there are more (elegant) solutions to a problem. Real programmers seek to save time. Real programmers write efficient code.

    Only beginners will try to re-invent every wheel by themselves and bang their head against the wall for a week or two on a problem, trivial or not, that already has been solved a zillion times before, where a simple google query would enlighten them but their vein stops them from doing so.

    Real programmers know how to use and spend their time effective and efficient. If that results in a simple copy'n'paste to paste in 3 lines of code instead of wasting a day on a problem, than that's all fine and they just proven their weight in gold for saving a day's work that can be spend on other stuff that needs to be done.

    It's the difference between someone working a year on something 'very complex', or someone hacking shit together in a week or two that 'just works'. There's no need to go back to the 90's where internet was still a matter of dial-up and your best documentation was a 2000-page thick reference you'd had to borrow from 3 floors upstairs and return same afternoon because it's the only copy in the building. Search engines and sites as stack overflow are very useful for _every_ programmer. Don't let your pride stop you from using it and maybe learn something new.

    --
    A glitch a day keeps the bugs away.
  29. Re:not looking to contribute to any "language war" by shoor · · Score: 1

    Well, just because someone doesn't want to start a language war doesn't mean they're not willing to start a language war if that's part of the price to be paid to have a discussion about the relative merits of different languages. I don't want to get flamed for being pedantic on this point, but I'm willing to be flamed and maybe lose precious karma points if that's what it takes to make my pedantic point.

    --
    In theory, theory and practice are the same; in practice they're different. (Yogi Berra & A. Einstein)
  30. It's a wrapper folks! by rylyeh · · Score: 1

    Python is the best wrapper language around C. If you want to leverage C code, then Python is great. If you want to do something else - well many other contenders are out there. The development time is less than Java, or C++.

    --
    Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
  31. Re:Pits and valleys by ShoulderOfOrion · · Score: 1

    So true. However, I'm continually amazed at the number of projects written in C which still manage to break their APIs on a regular basis. In the final analysis it's not a language thing, it's a crappy developer thing.

  32. Alternate Analysis by scdeimos · · Score: 1

    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?

  33. Re: Python was first released in 1991 by freeze128 · · Score: 1

    They can't use tabs, they have to use spaces.

  34. python and fashion by l3v1 · · Score: 1

    "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 issues and are looking for howtos and answers. Why? Well, because usually they don't use it that much so now they need answers, and fast. All these statistics show nothing more than current trends, which, by itself might be interesting, but don't say much more than that. Also, some might also bring into the picture that the relation between higher python use in higher income countries just might have some distant relation with deep learning having a higher financial threshold to enter than pretty mugh everything else.

    --
    I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
  35. Re:script kiddies by Rockoon · · Score: 1

    The script kiddies have always been here.

    This may just be the VB6 and VBA die-hards that didnt want to do VB.NET finally settling on an alternative. To be fair, probably the most used language ever is still VBA -- its very hard to over-estimate the number of lines of VBA code written within the cubicles of white collar businesses, where every junior accountant will easily have written several thousand lines of it per year.

    --
    "His name was James Damore."
  36. Re:The Register by Rockoon · · Score: 1

    You just segfaulted every major x86 OS written in the past three decades.

    --
    "His name was James Damore."
  37. Read the article not at the end first ... by testman3 · · Score: 1

    The article is posted by a guy that "have since switched entirely to R" ... even him agrees that Python is not good enough (say versatile if you preffer) to suits his datascientist requirements. Python is nice (it brought some interresting way of doing things & al), but feel like it was designed as a non-mainstream language in mind. Take Java, why did it succeed at the time ? Legacy synthax of the C, rock solid object grounds from SmallTalk but with some lighter ingredients (simple types) to make it "real world" and a by default huge standard library to do what was suitable back in the day. From day one, people with little knowledge could read Java code and understand it. It was simple and enjoyable : you writes, it compiles and run as expected. So long coredumps & heloworld debug sessions ! Actually, I tend to think that all the languages that were succussfull have that same things in common : obvious synthax (reading is cristal clear and writing is not too complex) & nice core library (enjoy it from minute 1). Look at Cobol, even if you have never learn Cobol, you can read it and understand what a program is doing. What does Python offer ? Dedicated synthax, not so versatile library by default, thousands of not no so well seamed libraries ... Sure if you are an expert : you write things with much less fewer lines than say Java or even Cobol. But if you are not an expert, try to read those same lines .... you will end up puzzeled. Python was maybe one of the best contender to phase out Java of its pole position (lots have tried to do it and are now in the limbo of IT history)... but I now don't think, it would be the new king to come. Next contender please...

  38. Re: Python was first released in 1991 by Hognoxious · · Score: 1

    Whitespace is the equivalent of silence, so it's compatible with the 5th.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  39. Re:not looking to contribute to any "language war" by Hognoxious · · Score: 1

    He said "contribute to a language war". Learn to read.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  40. It's by JustOK · · Score: 1

    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.

    --
    rewriting history since 2109
  41. Pythons exclusive advantages by Qbertino · · Score: 4, Interesting

    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.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Pythons exclusive advantages by TeknoHog · · Score: 1
      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 contributors in a project of mine. (I personally would prefer the Fortran/Julia style where line breaks matter but indentation doesn't, so you need some kind of start/end tags for blocks, but no semicolons after each statement.)

      --
      Escher was the first MC and Giger invented the HR department.
    2. Re:Pythons exclusive advantages by K.+S.+Kyosuke · · Score: 1

      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?

      --
      Ezekiel 23:20
    3. Re: Pythons exclusive advantages by Entrope · · Score: 2

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

  42. Re: Python was first released in 1991 by MightyYar · · Score: 1

    I have a buddy in the big house who carved a few tabs out of an old mattress. That's how he gets by.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  43. Re:not looking to contribute to any "language war" by MightyYar · · Score: 1

    Burnt umber.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  44. 2.7 or 3+ ? by fygment · · Score: 1

    Just saying.

    --
    "Consensus" in science is _always_ a political construct.
  45. Re: not looking to contribute to any "language war by Entrope · · Score: 4, Insightful

    People complain about semantic whitespace in Python because that's a pants-on-head stupid detail to make people pay attention to. There are enough things that need attention that invisible characters shouldn't be one of them.

  46. Re: not looking to contribute to any "language war by Entrope · · Score: 2

    Python's type-related problems are not because of duck typing. They are because it uses a damaged mix of strong and weak dynamic typing. You get None when you read an undefined field of an object, no error if you store to a field nobody ever reads, no warning if you store a string like '123' to a variable that normally holds a number, and an exception if you try to divide that variable by 3.

    And don't get me started on the egregious breakages between Python 2 and 3, like changing the definition of the / operator solely to save a bit of typing (or alternatively, error checking) by one constituency while making the language less consistent.

  47. Re: Pits and valleys by Entrope · · Score: 1

    As the saying goes, "move fast and break things", but it should also tell you to expect your end users to find another tool when you break their stuff.

  48. Re: Python was first released in 1991 by Zero__Kelvin · · Score: 1

    Please tell me you aren't a Python programmer. (Using spaces and never tabs is the right way to do it.)

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  49. fold growth by MSG · · Score: 1

    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.

  50. 2.7 vs 3.x has seriously damaged it by EmperorOfCanada · · Score: 3, Interesting

    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.

  51. Re:Python has nothing on PHP by mysticgoat · · Score: 1

    The number of new PHP users who are publishing new Wordpress plugins and themes each month is astounding. In an afternoon you could learn enough MySQL to use the C-Panel tools to query your Wordpress database about that post about that spotted dog that somebody did sometime last year, or you could spend only $4.95US right this minute to get a plugin written by some high school kid as his first PHP project that would do the work for you! Such a deal! It will even find all the posts about orange cats!

    Wordpress, MySQL, Cpanel, and PHP have enabled this huge number of spanking-new programmers, who have written code that works, and done so without any mental corruption from structured programming techniques, object-oriented programming, or the higher levels of subroutine and function construction. PHP enables the unwashed masses and lets them call themselves programmers!

    Who can argue with that? Who cannot say that this is a good thing?

  52. Re: not looking to contribute to any "language war by fluffernutter · · Score: 1

    I never really got this argument. You're a programmer writing numbers to a variable that should have a string, and that's the LANGUAGE's problem?

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
  53. Re: not looking to contribute to any "language wa by Entrope · · Score: 1

    Data comes over the network, and sometimes it's not in the representation you want. SELECT smallint_column FROM mysql_table, and Python's bindings give you a string. The language accommodates the mistake up front, and raises an exception long after the initial mistake. Yes, this is a fault in the language.

  54. Re: not looking to contribute to any "language wa by fluffernutter · · Score: 1

    What kind of ORM is going to give you a string on an int column? If you're doing the raw SQL yourself, then you're complaining about a solved problem.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
  55. New Headline: Is Python that difficult to use? by plopez · · Score: 1

    That is the message I get. People are trying to do tasks in Python and it turns out Python does not do them well. So off they to Stack Overflow! Alternately, it could just be a lot of intro to CS students trying to get someone else to do their work for them.

    --
    putting the 'B' in LGBTQ+
  56. Re: not looking to contribute to any "language wa by Entrope · · Score: 2

    The solution to Python having problems is not to pancake more awful ideas (like ORMs) on top of its rotten foundation, making an ever-more-precarious edifice of fail stacked upon fail. What are you, a Python programmer?

  57. Re: not looking to contribute to any "language wa by fluffernutter · · Score: 1

    I work in many languages, because I like to use the correct tool for the job. Sure one solution to the problems is to have the compiler spoon feed it to you. ORMs are rotten only to the point that if they are too inefficient to do what you need for them to do, or too high level, then you shouldn't use them. Otherwise I really don't see the logic in wasting your time doing native SQL calls. If you are such an expert than static typing should not be a necessity for you. It just adds to the lines of code you have to write.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
  58. Re: not looking to contribute to any "language war by bzipitidoo · · Score: 2

    You are criticizing Python where you should be criticizing ASCII. Python uses positioning, specifically indentation, to indicate structure. Nothing wrong with that.

    What sucks are the ASCII methods for positioning text. The tab character is a mess, and everyone appreciates that. What isn't so appreciated is the lack of any succinct way to indicate indentation. Leading spaces is a horrible way to do it, but it's the only way ASCII can do it. It's extremely redundant, it forces the use of a fixed width font to make the columns line up, and it's prone to error. UTF did nothing to address this, simply repeating the mistakes made with ASCII.

    One solution is better control characters. An "indent++" and "indent--" control character can solve this issue.

    --
    Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
  59. Re: not looking to contribute to any "language wa by Entrope · · Score: 1

    Using positioning to indicate structure isn't necessarily bad. Using it to determine structure is.

  60. outsider perspective by micahraleigh · · Score: 1

    I haven't written python in 5 years, but I remember pickling being cool and unique about it (esp as someone who does a lot of API stuff).

    Also it seemed like you could easily add modules that got a lot of very desirable stuff done. Comparable to .NET in that way and very different from Java where you spend more time on plumbing and ontology.

  61. No by rhyous · · Score: 1

    No. Just a lot of entry level courses in college have changed to it. Entry level courses result in the most searches per user.

    Since all the tools that check for the most popular language are heavily influenced by browser searches, it is skewed quite a bit. It is probably between twice as much and ten times as much, but the data of internet searches is so generic it is impossible to ever know for sure.

      I have never seen it used by any production company near me and rarely see job posting for it that are for development. I have only seen it mentioned in build/test positions and even then rarely.

  62. Re: Python was first released in 1991 by Zero__Kelvin · · Score: 1
    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  63. Re: Python was first released in 1991 by MightyYar · · Score: 1

    The cafeteria always has that Fancy Ketchup lube.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.