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."
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."
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".
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.
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.
"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.
I'm not a racist, but whitespace having any sort of significance is pants-on-head retarded.
...And as long as libraries for machine learning and analysis continue to rock, it will be for a while.
So what colour should the space be?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
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.
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."
Man, I heard prisons were tough, but Python, really? Doesn't that violate U.N. human rights accord?
#DeleteFacebook
I'm not a racist butt?
#DeleteFacebook
What do you mean? EAX or EDX?
#DeleteFacebook
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
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
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.
#whitespacesmatter
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
It's one badass language for hipsters
http://saveie6.com/
Yeah man. Python is real gangsta
http://saveie6.com/
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
http://saveie6.com/
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,
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});
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.
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.
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.'"
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.
The article doesn't deal with communities that more adequately handle user issues, like the QuickBASIC-variant community.
Agreed. PHP is by far the fastest growing language in terms of new users.
WordPress.
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.
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)
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
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.
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?
They can't use tabs, they have to use spaces.
"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.
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."
You just segfaulted every major x86 OS written in the past three decades.
"His name was James Damore."
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...
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."
He said "contribute to a language war". Learn to read.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
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
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
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.
Burnt umber.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
Just saying.
"Consensus" in science is _always_ a political construct.
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.
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.
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.
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
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.
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.
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?
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.
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.
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.
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+
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?
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.
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"
Using positioning to indicate structure isn't necessarily bad. Using it to determine structure is.
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).
.NET in that way and very different from Java where you spend more time on plumbing and ontology.
Also it seemed like you could easily add modules that got a lot of very desirable stuff done. Comparable to
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.
For those who are as clueless as the AC noob above you can read PEP8.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
The cafeteria always has that Fancy Ketchup lube.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.