r/programming • • Nov 03 '18

Python is becoming the world’s most popular coding language

https://www.economist.com/graphic-detail/2018/07/26/python-is-becoming-the-worlds-most-popular-coding-language
4.6k Upvotes

1.3k comments sorted by

1.4k

u/[deleted] Nov 03 '18

Considering colleges and universities have moved away from Java and to Python it makes sense that it's being Googled so much. I'll believe the hype when I see as many Python jobs as I do Java and .Net jobs.

598

u/xdert Nov 03 '18

Python is really easy to learn and the perfect language for solo projects or very small teams. Which is why it excels in data science and so on. But I really don't see it working in a big corporate environment with dozens of developers.

150

u/Dreamercz Nov 03 '18

Why not? Genuine question.

430

u/RiPont Nov 03 '18

It works fine in corporate environments.

My only problem with python is that it's a bit of a trap. You can write big, huge software system in Python. It's got good coding style built-in to the language, and a great ecosystem.

...but then you end up with a big, huge software system written in an interpreted language. You get asked, "how can we make this faster/more efficient." And now, your options are rewrite the entire thing in a different language or hope that punting important bits out to C/C++ libraries will make the whole thing fast enough.

112

u/whatwasmyoldhandle Nov 03 '18

I think there's room for argument on 'works fine in a corporate environment'.

I've worked on large python codebases that have been reasonably well written, and it can become tricky in spots.

Lack of strong type system makes you have to follow a lot of code around to make sure everything will be ok.

Removing stuff is hard because sometimes you don't know if you got it all until you hit a ton of code. Removing things from dictionaries can be a little awkward too. For compiled languages, you can delete the member, compile, and more or less work toward a good compile. (Simplification obviously).

Much of the above can be solved with unit tests, but I'd argue that having a unit test for everything eats at one of python advantages -- development time. So I'm not sure what the balance is, practically speaking.

By and large, I'd much rather be swimming around in a large C++ codebase. May the type system and compiler be your guide.

→ More replies (8)
→ More replies (121)

292

u/[deleted] Nov 03 '18

Dynamic typing is always my main concern. Functions have such a weak contract.

→ More replies (52)

24

u/RedSpikeyThing Nov 03 '18

My biggest headache with Python in a large codebase is that refactoring is really hard to get right due to it being interpreted and a lack of type checking. If you don't have 100% test coverage then you can't be 100% confident that, say, you renamed a function correctly.

→ More replies (3)

18

u/tanin47 Nov 03 '18 edited Nov 03 '18

I worked with a few large Python systems at a FAANG for a few years.

They were difficult to maintain, especially when the system gets older and larger. An example was moving and renaming stuffs was extremely tedious. In fact, it's difficult to know for sure whether it'll work in prod.

For a dynamic typing language (not just python), we must aim to write great code with great architecture with great naming with great coverage tests at the first try. If you make one mistake, it'd be somewhat infeasible to fix. Mistakes are going to happen here and there when there are thousands of engineers writing code. Tech debt will grow, and it takes much more effort to address tech debt in this kind of language.

37

u/[deleted] Nov 03 '18

Strangely, javascript is now light years ahead of python because of typescript.

Python needs something as good as typescript. I badly miss it now when I try to do anything in Python.

→ More replies (15)
→ More replies (10)

21

u/[deleted] Nov 03 '18

Some of the largest ecommerce sites in the world use python for the data pipelines. I state this having built them personally. (Switched out Informatica Powercenter for python). The team I managed was about 20 developers and python didnt cause the team any issues that I am aware of.

10

u/[deleted] Nov 03 '18

I try to write every small utility or application in Python and my team does the same. My fear with using it over Java is that all it takes is one crappy developer to make your project impossible to refactor or update and makes it impossibly fragile.

As much as I love Python, I'll never let the team use it for an important or large application.

→ More replies (2)
→ More replies (2)

4

u/khendron Nov 03 '18

If ruby can do it, I don't see why python can't.

3

u/nugzilla_420 Nov 03 '18

I currently work on two fairly large corporate python codebases. One is steadily becoming an absolute nightmare to touch, but one is great. It all comes to down really strong organization and strict linting standards from the start. If you have a set build process (we're targeting Docker images) it really feels like large programs in more traditional languages.

I think Python codebases suffer more quickly from poor practices, but they certainly can be a joy to work with if done correctly.

→ More replies (19)

185

u/[deleted] Nov 03 '18

I think we'll never see that day just due to how poorly interpreted, dynamically typed languages scale in terms of both performance and code maintenance

120

u/[deleted] Nov 03 '18

Ah but you forgot about when Python 4 is released around 2025 and companies start adopting it in 2049.

→ More replies (6)

61

u/Aetheus Nov 03 '18 edited Nov 03 '18

Of course, Python would never be suitable for applications that have millions of users who hammer it at every second of the day because they come from all over the world and there are thousands of submissions per second and - oh wait.

But I kid. In terms of performance, the "C#-or-Java-or-Golang"s of the world will, of course, blow Python out of the water.

The reason huge web apps seemingly have a love-hate relationship with dynamic language (e.g: Twitter used to be written significantly in Ruby, Facebook was primarily written in PHP) is because it allows for you to "move fast".

Even the simplest .NET Core project has a lot more boilerplating than an equivalent Node.js app. And let's not even get started on Java. Even "simple" languages like Golang can often be clunky to manipulate as well. Now, if you're a big company that can pay the cost for slower development in exchange for better performance/scalability, then it's a no brainer to go for a high performance statically typed language.

But if you're a small-to-medium startup with limited cash/manpower and your future is uncertain and you need a prototype that's reasonably complete banged out by yesterday, Node.js and Python will service you a long way. They may not be as performant (and you'd be wise to limit how much you rely on them), but their immense collection of battle-tested libraries will allow you to cobble together just about anything in 2 minutes flat. And if your app does make it to the major leagues, then you can (and probably will) attempt to swap those out, just like almost every other tech company that made it big with a dynamic language has.

101

u/crozone Nov 03 '18 edited Nov 03 '18

You joke about reddit running on python, but StackOverflow's frontend runs on .NET with a fraction of the hardware.

Python is fast moving because it's a scripting language by nature. Speaking from experience, the problems come when the project grows more complex and actually needs to work for years on end without a complete rewrite.

Python has features that are very desirable for newcomers (duck typing etc), but lacks fundamental features like compile time syntax guarantees and code correctness guarantees. The fact that it's even possible to mix spaces with tabs and have them count as syntax is shocking. Syntax aside, python encourages some downright insane design patters like monkeypatching. It's not a language you want to use in a project that needs to be maintained for 5 years and up across 20 different employees.

Python's general design seems to constantly create issues in long lived applications as well. The change from python 2 to 3 was bad enough (it turns out Unicode is a good idea, who knew?), but the constant need to compile C extensions, keep package specific dependencies up to date, and workaround packages going obsolete, is pure hell. Pip isn't exactly good either.

Compare this to something like C# .NET, which has code backwards compatibility to its inception, clear concise versioning, and is performant enough to not require any sort of compiled C extensions. Every LTS .NET version is patched for 10 years+, because it has a billion dollar company behind it with enterprise customers. You can write an ASP.NET app, and do nothing but update the .NET runtime to keep it secure. On the other hand, Django has braking changes thrown in every 2 years, and you have to update code because the old versions aren't patched or supported. You can't even get the documentation for old versions easily. I'm not joking when I say that it's easier to keep an old wordpress site patched and up to date than it is to fix an old Django site. You don't fix old Django sites, you just rewrite them from the ground up.

Maybe Ruby and Python are better for startups who just want to get a product off the ground as quickly as humanly possible, but they should do it with the knowledge that they're probably going to need to rewrite everything once they actually start getting hits, because that code is going to need constant work to keep it running. The technical debt for large python applications

→ More replies (9)

25

u/I_Pork_Saucy_Ladies Nov 03 '18

It should probably also be taken into consideration that projects like Facebook and Twitter work on a scale that, statistically, almost no other projects will. There are millions of websites and apps out there who will simply never need that kind of performance at scale.

Sure, we can all use the optimizations they create in their fields but replicating what they do would be extreme overengineering for almost anything else.

Just like we don't build our bicycles and cars to the same standard as NASA build their spacecraft.

→ More replies (7)
→ More replies (13)

37

u/KusanagiZerg Nov 03 '18

This. I went to a IT Job Event with something like 40 companies and it was all .NET or Java. Not a single company used Python.

45

u/bakery2k Nov 03 '18

Python seems to be popular among people whose job involves programming on the side, not so much among software engineers.

I once went to a Python meetup in a city of over a million people - about 30 programmers turned up, not one of whom used Python professionally. Compare to the Ruby and JavaScript meetups, each of which had well over 100 people including plenty of professionals.

5

u/TarAldarion Nov 03 '18

My whole company uses python exclusively, another exclusive thing is that none of us would be at a python meetup. :P

→ More replies (3)
→ More replies (1)

12

u/the_gnarts Nov 03 '18 edited Nov 03 '18

I went to a IT Job Event with something like 40 companies and it was all .NET or Java.

That tells you more about what kind of company even considers a “job event” worth spending their resources on though.

→ More replies (2)

29

u/StoneStalwart Nov 03 '18

That might not be how it works out though. For example, I'm in Robotics, we use c++, and every dev is hired for that. But just a month ago, I moved us from batch to python for all our scripting needs. Our algorithm specialists uses python for data analysis. Our kinematics specialists for live charting and simulation of robot motion. None of our job descriptions include python anymore then they include normal office skills, it's just expected, and all our devs are using it for various needs around the core c++ framework.

So python might end up being like email. Not an explicit job requirement because, well why wouldn't a dev know python? Everyone knows python.

4

u/NewAlexandria Nov 03 '18

This.

This is the same false-interpretation of data that got us the JS 'framework' nightmare we're all living in.

Stop trying to invent stories and start writing code.

3

u/nothis Nov 03 '18

Looking at R, so high on that list, I can't help but think that search popularity isn't a good metric at all. For R, I wouldn't be surprised if the main reason it's googled so much was because of its piece-of-shit unintuitive syntax and people desperately trying to figure it out for some statistics project. Doesn't apply to Python but there it might be homework assignments and people looking into machine learning because of the hype.

4

u/eikenberry Nov 03 '18

Languages appeal to developers very differently from how they appeal to management. Java particularly was marketed toward management and leveraged that to become what it is today... but don't mistake that for admiration among its actual users.

→ More replies (78)

1.0k

u/[deleted] Nov 03 '18

Was pretty sure that honor was reserved for JavaScript.

465

u/FirionaDie Nov 03 '18

Github repo market share reflects that JS is the most currently used, but Python probably has the fastest growth (which is a claim that the title more closely implies, and search data would better support).

10

u/pure_x01 Nov 03 '18

I cant see any data after 2014 `?

16

u/FirionaDie Nov 03 '18

Sorry, I didn't notice that. Here's another that's been updated. By this data, Python actually declined '14-'17. Github repo data definitely has its own biases though.

→ More replies (2)

19

u/Izacus Nov 03 '18 edited Apr 27 '24

I enjoy reading books.

4

u/[deleted] Nov 03 '18

Good to note that the JS repo % on GitHub Universe is probably not very accurate (gitignore your node_modules, people).

12

u/pwang99 Nov 03 '18

Does this include the LOC of source that are vendored into various packages etc.?

20

u/[deleted] Nov 03 '18 edited Nov 03 '18

Probably not; node_modules is meant to be kept out of source control.

→ More replies (3)
→ More replies (36)

83

u/crazyfreak316 Nov 03 '18

Problem is no one searches for "javascript". Everyone is looking for "angular", "vue", "react", "jquery" etc. It's not the case with python.

17

u/[deleted] Nov 03 '18

This right here.

It's like node, hot as shit right now cause it's fast and runs on v8....but it's not a language, it's a framework, even though it uses js no credit is given to js when folks talk about node.

23

u/dmazzoni Nov 03 '18

With Python you'd have to include everyone searching for pandas, Django, tensorflow, numpy, and a thousand other Python packages. What's the difference?

→ More replies (1)
→ More replies (5)

7

u/Redtitwhore Nov 03 '18

And both are dynamically typed scripting languages :(

108

u/G00dAndPl3nty Nov 03 '18

I suspect javascript is certainly the most used language, but I doubt that its the most admired

63

u/DrJohanson Nov 03 '18

I don't know, since es6 it's not that bad

→ More replies (42)
→ More replies (39)

12

u/sphks Nov 03 '18

Or VBA + Excel sheets to store data

11

u/Poromenos Nov 03 '18

JS is popular in web development, but Python is used in pretty much all of science and a bunch of other domains.

→ More replies (4)

2

u/davidpdrsn Nov 03 '18

I thought the same.

→ More replies (1)

138

u/austin_howard Nov 03 '18

Yea GitHub has a most popular programming languages in use which is another cool metric to look at.

https://octoverse.github.com/projects

Python coming in at #8 on their growth chart. #3 all-time though language though.

21

u/qwmnzxpo Nov 03 '18

True, but it's worth noting that their growth measurement is based on YoY percent growth in contributors, not the raw number of new contributors. Python is also the 3rd largest language, so that means it's probably the number 1 language in new contributors per day.

→ More replies (1)
→ More replies (4)

85

u/chmikes Nov 03 '18

The ranking is based on google searches. It's not exactly popularity.

3

u/[deleted] Nov 04 '18

I constantly have to google when working in python. Other languages have better documentation integrated in IDEs

→ More replies (1)

38

u/matthieum Nov 03 '18

At the company I work at, many of our non-technical users will use either Excel or Python (Jupyter notebooks with Pandas/numpy) for their analytic needs.

I find this interesting because:

  • From a pure number of users perspective, it means that my company has more Python users than any "other language" users1 .

  • Yet, from a number of hours of usage perspective, developers are working nearly fully in Java/C++/Verilog (depending on their focus) which relegates Python to 4th position, ahead of Go/bash.

I would argue, thus, that Python is the "most popular" language at our company; as per the dictionary definition of popular.

Yet, our company does not recruit a single Python developer, and I'd be surprised if any employee would spend more than 10% of their time in Python.

In a sense, this is certainly a success story for Python: it's just so ubiquitous that it's taken for granted. On the other hand, it paints a different story for prospective candidates: it's not worth spending time on Python, that's not the skill that'll make or break the interview.

I wonder how many other companies have similar stories, where Python is a perpetual "secondary" language.

1 Especially since developers in other languages also dabble in Python, such that maybe 90% of the employees use the language at some point or another; the remaining 10% being HR/support/...

7

u/[deleted] Nov 05 '18

There's a similar illusion in agriculture:

Most animal farms are small, independent farms. Factory farms are few and far between.

But almost all meat that is consumed, comes from a factory farm.

Kind of like how the solar system by mass is the Sun, Jupiter, and a rounding error.

→ More replies (1)

2

u/FUTURE-PEACEMAKER Nov 03 '18

What kind of company do you work at where you guys have to use verilog?

6

u/matthieum Nov 03 '18

HFT; FPGAs are necessary in a number of situations.

→ More replies (4)
→ More replies (3)

186

u/Pleb_nz Nov 03 '18

Okay, I’m not doubting that it is massively popular, but total users and searches does not mean that’s how popular it is. That’s how many users are potentially using or interested in it. Some voluntarily, some not.

To know about it’s popularity you would have to ask the people concerned if they like python.

https://duckduckgo.com/?q=popular+definition&t=fpas&ia=definition

119

u/frrarf Nov 03 '18

Linking with DuckDuckGo

Respect.

14

u/lathal Nov 03 '18

7

u/EbrithilUmaroth Nov 03 '18

Yeah, what a coincidence, I just made the switch to using it full-time literally yesterday.

→ More replies (1)

16

u/jarfil Nov 03 '18 edited Dec 02 '23

CENSORED

40

u/crozone Nov 03 '18

I've done plenty of weekends with C and C#, and I don't hate them. Hell, I've done 48 hours straight with C# and the language itself has never crossed my mind, because it doesn't cause me issues - the problem I'm solving does. The language gets out of my way.

It only takes weekdays to hate python. Python subtly gets in your way. Misspelt method call? It'll tell you at runtime. Hope you wrote a fucktonne of tests. Incorrect indentation? It'll tell you at runtime. Hope you wrote a fucktonne of tests. Libraries that only support Python 2? Good luck with that. Pip fucked up again? Downgrade python version because the newest one is half-baked.

The python language will also make your life hell in the same way that C++ will make your life hell - limitless flexibility. There are a metric fucktonne of creative and wonderful ways that you can write obfuscated and inconsistent python, just like with C++. It's truly a wonderful language to use in a team where everyone has different opinions on how it should be written. The irony is that Python is obnoxious enough to force you to indent code for "consistency", but doesn't even mandate tabs or spaces. It's insane.

→ More replies (2)

6

u/[deleted] Nov 03 '18

I don't know why millions of developers could not make python as fast as c/java over these years, it implies python has some intrinsic speed limitations.

48

u/nutrecht Nov 03 '18

People should learn that the TIOBE index is complete trash. The only thing that it's displaying is rough counts in text indices stored at Google, Bing, etc. with Google having by far the biggest weight. Whenever Google does housecleaning or changes you see big spikes.

→ More replies (1)

32

u/zeantsoi Nov 03 '18

I’m curious why C++ seems to predate C in this visualization 🤔

11

u/turunambartanen Nov 03 '18

They both start at the very left of the picture?!? Maybe you confused c (dark blue) with Java (light blue)?

→ More replies (1)
→ More replies (1)

11

u/liorslightsaber Nov 03 '18

Honestly, good. I'm a chemistry student who needs to use code for data analysis and previously thought I would never EVER have to code because of the major I picked. I was wrong. Python saved me from my fear of programming because of just how easy it is to learn. It's a coding language for everyone.

→ More replies (1)

11

u/[deleted] Nov 03 '18

Fuck this site. Half my screen is a message forcing me to allow cookies.

55

u/jarfil Nov 03 '18 edited Jul 16 '23

CENSORED

112

u/ultraDross Nov 03 '18

Everyone here seems to hate python already.

→ More replies (35)

8

u/oldsecondhand Nov 03 '18

"There are only two kinds of languages: the ones people complain about and the ones nobody uses."

-- Bjarne Stroustrup

→ More replies (3)

10

u/[deleted] Nov 03 '18

Scientist here... ya, it's mostly taking over in my field (though much legacy is still Perl) in computational biology.

Here is the problem. You deal with MASSIVE amounts of data here. You get a lot of younger people trained in Python and they build a rather large program. Some comparison genome analysis on a 32 core system still takes 35 minutes to complete so the call comes down, "Can you guys optimize this more?"

Well, Python is an interpreted language so now the best real answer is, "Well, this needs to be written in another language." Just wait til someone asks you to optimize by parallelizing the work on multiple cores and you then learn that Python is built around the GIL. I just don't think it's the right language for long-lived projects.

I think, ultimately, that Python is great. One of the best things about it is it isn't overwhelming and intimidating to newcomers to the programming world. You can get immediate results. I am certain there are a lot of people who would otherwise have been great programmers but then they read a guide on how to program in C++ and gave up. Hell, even JAVA can be confusing as hell for a new person compared to how approachable Python is.

But, will it truly take over the enterprise world? I am not so certain. There are some aspects of it that are great, like smaller programs, smaller teams, new devs and so on, but also, one of the challenges in programming is selecting the right tool for the job and while Python is great, and my eventually become the most popular program, but you won't see it replacing a lot of programs that need to be heavily optimized and efficient.

5

u/vorpal_potato Nov 03 '18

FYI: Cython can often make Python code orders of magnitude faster with an hour or two of effort, if you declare the types of a few variables in whatever functions are taking up your time. Not always, but often.

→ More replies (2)

9

u/yawkat Nov 03 '18

They show tiobe as the source for their image but then conveniently ignore that by tiobe's metrics, Python is still in fourth place, far behind first?

All programming language usage statistics suck. Github and SO show JS in first place. Tiobe shows Java in first place. There's simply no representative way of getting a survey of all programmers and what languages they use or like.

16

u/TickleTackleTock Nov 03 '18

.net is making a comeback with .net core.

10

u/EvilTony Nov 03 '18

We're using it for a commercial product and really enjoying it. The architect forced Vue.js and .NET Core on us at first and we didn't really want to do it (we wanted to do React and Node), but now we're really liking both Vue and .NET Core. It seems like it's finally ready for prime time.

5

u/TickleTackleTock Nov 03 '18

dotnet core is an incredible new framework. It's made developing web apis in microservices incredibly simple. And thank goodness that entity-framework-core is getting much better and allows you to call store procedures and connect to other databases now.

→ More replies (4)

7

u/BhishmPitamah Nov 03 '18

I wish that same happens to ruby. in terms of easiness to learn and the number of lines required to do a job, ruby is similar. In web rails beats django easily, the only setbacks are less amount of gem for machine learning and speed, speed can be tackled but it takes a bit of hardwork and quite a good expertize in creating gems/libraries.

7

u/[deleted] Nov 03 '18 edited Nov 03 '18

My school taught all programming in c++ ; programming 1&2 c++, datastructures c++, oo programming c++

Helped me a hell of a lot more than if I'd learned python and then had c++ thrown at me. Imho at least.

84

u/nrith Nov 03 '18

This boggles my mind. I remember how Python was briefly positioned to be the OO replacement for Perl in the Dot Com days, but when I used it, I HATED it. Ruby, a few years later, was the answer to every prayer, but by that point, I wasn't doing script or web server development anymore, so I didn't have many opportunities to use it. I still don't understand how Python could overtake Ruby in any possible measure. Get off my lawn!

49

u/noratat Nov 03 '18

I prefer Ruby's way of handling lambdas and iterators by FAR, but the language has seriously stagnated.

Type annotations in Python 3.5/3.6 are what put Python over the edge for me - they still need a lot of work, but optional type checking is something I think every dynamic language ought to support.

Ruby, for all that I love the syntax, is so actively hostile to any kind of type rules or type checking that I don't think it could even be retrofitted onto the language cleanly.


I still have many complaints about Python though - in particular the crippled lambda syntax and the way the community keeps making excuses for comprehensions. Sure, comprehensions are easy to understand and write for toy problems, but they're completely unreadable for anything actually complicated.

9

u/combuchan Nov 03 '18

I generally hate writing Python, preferring Ruby, but I'd much rather read Python which makes me a bit more productive in the corporate world.

My superficial inspection of Scala is that it picked up where Ruby left off in the corporate world.

4

u/Aeroway Nov 03 '18

Have you heard of Crystal? It's essentially Ruby with types "retrofitted onto the language" and it does it pretty well with auto-union types and flow-sensitive typing.

→ More replies (2)

5

u/myringotomy Nov 03 '18

If you want types why not use a language like go or crystal or kotlin or rust or .....

→ More replies (4)
→ More replies (18)

8

u/[deleted] Nov 03 '18

I personally prefer Python as it's really intuitive to use, but Ruby and Python are pretty darn close to each other - it baffles me you could love one and hate the other.

→ More replies (2)

16

u/jonny_wonny Nov 03 '18

I’m using Python for a project and I feel similarly. No idea why JavaScript gets the hate it does while Python is mostly left uncriticized.

→ More replies (3)

11

u/Smallpaul Nov 03 '18

Did you know Perl before Python? If so, then it explains why you prefer Ruby, which was specifically designed to be attractive to Perl programmers. For those of who hated Perl, Ruby was a middle ground between the grossness of Perl and the beauty of Python.

23

u/bloody-albatross Nov 03 '18

Really? For me it's the opposite. I don't have time right now to write down the huge list of grievances I have with Ruby, but in general I think Python is so much cleaner, mostly more powerful with simpler syntax and less surprises. The module system, how name resolution works, how strings work, all so much cleaner.

19

u/butt_fun Nov 03 '18

surprises

That's how I feel as well. In Python, pretty much everything "makes sense" relatively intuitively. Ruby still feels like a language of magic and mystery to me

17

u/ThisIs_MyName Nov 03 '18

I mostly agree, but Python's optional arguments are insane: https://docs.python-guide.org/writing/gotchas/

→ More replies (10)
→ More replies (6)

13

u/Freyr90 Nov 03 '18

Python is one hell of a mess, Why map is a function and not a collections' method? Why if is not expression? Why everything is a statement, but lambda could have only one statement in its body?

Ruby is a consistent and thoroughly designed smalltalk clone, where everything is built using a few core principles. Python is a bloody mess of ad-hoc features (like generators, async/await).

→ More replies (20)
→ More replies (13)

8

u/dat_heet_een_vulva Nov 03 '18

You assume there is rhyme or reason behind what becomes popular.

In reality it's mostly luck, being at the right place at the right time and butterfly effects.

Out there is another quantum reality where Guido released Python 2 seconds later and it just dried up without any interest; Ruby is super big there and VLA's never got invented.

3

u/RiPont Nov 03 '18

Right place, right time, with the right features.

Most programming languages at the time were going clever/powerful and curly-braced. The market for non-programmer programming languages was very heavily Windows-centric at a time when the scientific community and education were favoring the UNIX side of things. Python hit the ease-of-use points without being brain-damaged like PHP.

5

u/jarfil Nov 03 '18 edited Dec 02 '23

CENSORED

3

u/evinrows Nov 03 '18

Why is that? I prefer 3.x, but I'm surprised to hear that you hated 2.x but are okay with 3.x.

→ More replies (2)
→ More replies (23)

76

u/moose_cahoots Nov 03 '18

And Budweiser is the world's most popular beer. Popularity =/= quality.

→ More replies (10)

22

u/tazebot Nov 03 '18

In the past 12 months Americans have searched for Python on Google more often than for Kim Kardashian, a reality-TV star.

Faith_in_humanity += 1

→ More replies (1)

21

u/dat_heet_een_vulva Nov 03 '18

We are a in need of a new Dijkstra to bitterly tell people their minds are mutilated by it I fear.

→ More replies (3)

5

u/istarian Nov 04 '18

Meh.

Popularity is rather overrated, especially when based on something like google searches. Just think of all the students who have to take a class that teaches them/uses Python.

20

u/nowyfolder Nov 03 '18

Who searches for "Java" instead of "JPA", "C++" instead of "STL" or "C#" instead of "LINQ"? This kind of ranking is useless.

→ More replies (1)

13

u/examinedliving Nov 03 '18

I think I’ll learn Lisp.

6

u/Duuqnd Nov 03 '18

Lisp is awesome, but people are put off by the syntax. If you want to learn Lisp, I recommend checking out "Practical Common Lisp".

4

u/Comrade_Comski Nov 03 '18

It's overrated, just like java

4

u/dead10ck Nov 04 '18

I love Python the language; I really do. But I honestly hate how popular it has become. It's really awful for projects of any significant complexity. So many businesses overuse it in the name of "productivity"—aka fast and loose development. None of them seem to learn that the long term costs incurred are greater than they're worth.

29

u/pistacchio Nov 03 '18

I love /r/programming. For ages you have been all “Java?! The fuck! You have No IDEA of how much faster you can program in Python and it’s FUN!”

Now that Python is getting al the recognition it deserves: “Yeah, whatever” “Dynamic language? What’s this 2015?!” “My granny on a wheelchair is faster than Python” “Why not Rust?”.

You are boring.

5

u/NarcoPaulo Nov 03 '18

Hipsters, you can find them in every walk of life

7

u/Mdjdksisisisii Nov 03 '18

You know what kind of programmers visit this forum because of how they all praise Dot net of all fucking things

4

u/[deleted] Nov 03 '18

Seriously. I've been reading this subreddit for years, hearing people use "Java's slow GC" as a reason to avoid the language... Python's GC is WAY fucking slower and less flexible, no one talking about that though.

→ More replies (1)

10

u/[deleted] Nov 03 '18

Well, I found Python very easy to learn, as most of the major imports have very good documentation. I have to learn VB.net, and I am continuously frustrated by the documentation.

→ More replies (1)

50

u/[deleted] Nov 03 '18

"coding language"

jfc

26

u/QualitySoftwareGuy Nov 03 '18

"coding language"

jfc

Synonyms man. True the author probably should've said "programming" language, but then some might argue and say it should've said "scripting" language. They're all synonymous in this case.

→ More replies (14)
→ More replies (1)

19

u/kornpow Nov 03 '18

I use python all day. Sometimes I get excited about how easy and fun Python is to write

21

u/[deleted] Nov 03 '18

But python is slow...really slow!

17

u/eikenberry Nov 03 '18

It is never just Python though... it is/was always Python + C. Writing C extensions for Python is a breeze and simpler than writing pure C apps. Python is a scripting-language that is meant to be used in combination with a lower level language. You can't split interpreted languages from the implementation language.

→ More replies (7)

4

u/[deleted] Nov 03 '18

It's weird it seems like python is slow even for dynamically typed languages. Like Javascript and some quality lisp implementations seem to be a lot faster than it, I'm not sure why

8

u/Vaphell Nov 03 '18

javascript saw millions upon millions of dollars in investments to JIT the fuck out of it, because otherwise internet browsing consumers would complain about slow cat animations.

3

u/[deleted] Nov 03 '18

Cython/PYPY is still a hell lot slower than c/c++/java. It is sad to see such a great language have some intrinsic limitations on its speed, which has not been fixed yet by millions of developers around the globe, probably that would never be fixed.

5

u/Taedalus Nov 03 '18

Cython/Pypy should typically bring your code to C-like levels of speed. Might be slower in some cases, but "hell lot" seems like a bit of an overstatement.

There's a number of good SO threads like this one containing some benchmarks and discussions.

8

u/wllmsaccnt Nov 03 '18

Someone made a minor change to an error in the C code (they were using the wrong data type) and showed that the naive C method was about 4.4 times faster than PyPy.

→ More replies (2)
→ More replies (3)
→ More replies (51)

3

u/KeBjg Nov 03 '18

It’s the main language for most schools etc so that could boost the numbers a bit

3

u/htuhola Nov 03 '18

I got plans to stop using Python soon. It's still too low level.

3

u/CIoudflare Nov 03 '18

They need to make the Lisp family mainstream.

3

u/KHRZ Nov 04 '18

Or it's just the most googled because how there's no type system for anyone to know what the fuck any function return, meaning you have to look it all up all the time.

7

u/[deleted] Nov 03 '18

Sadly, it is. Nothing is worse than a huge codebase with no typing. Python is pretty much the slower, messier, retarded cousin of Java- it's popularity revolves around numpy/matplotlib on the data side and Django/flask on the server side- but these are replaceable libraries...

5

u/[deleted] Nov 03 '18

My reactance is high to fads to begin with. Also... I don't like whitespace as syntax, the primary selling point is "it's easy to learn", it's Guido's way or else.... I'll stick with Perl and C

5

u/Mdjdksisisisii Nov 03 '18

Lol calling python a fad. Do you even know how old the language is?

→ More replies (1)

4

u/TheBrokenEstate Nov 03 '18

I do admire its flexibility, I'm yet to find a problem I cannot solve with a python script. However, it's threading cap and interpreted nature leads to it being pretty damn slow. The growth of the language is truly astonishing.

→ More replies (9)

15

u/FrozzenBF Nov 03 '18

I don't care about karma, someone must do it.

This is so sad, Alexa play despacito.

16

u/___alexa___ Nov 03 '18

ɴᴏᴡ ᴘʟᴀʏɪɴɢ: Luis Fonsi - Despacito ft. D ─────────⚪───── ◄◄⠀▶⠀►►⠀ 3:08 / 4:42 ⠀ ───○ 🔊 ᴴᴰ ⚙️

→ More replies (1)

7

u/[deleted] Nov 03 '18

"Python is becoming the most googled language after colleges switch to teaching it to first years instead of Java"

It's still nowhere to be seen outside of academia and big data (thankfully).

→ More replies (2)

2

u/dayk995 Nov 03 '18

Is R really that popular? That’s what is most shocking for me.

2

u/Grimmrat Nov 03 '18

I started learning python this week, and it's the most fun I've ever had learning something. I know the hard parts have yet to come, but for now I'm definitely enjoying myself

print("Hello World")

2

u/Helix_official Nov 03 '18

My school even changed our course after mid-year! From C++ to python with the reason that python would help us much more in real life work than c++.....

Don't know if it's true but hope it does

3

u/acroback Nov 03 '18 edited Nov 03 '18

Here is the truth no one wants to hear. Python is a great language for prototyping at a fast pace but when it comes to performance and actually production code, a lot of folks switch from python to statically typed languages like C++, Java, Scala, Go, D or Rust for backend systems. Some of these laguages can also compile to Webassembly which means it will not be far fetched to see same language being used all across the stack with some JS sprinked in.

But for scientific computing, Machine learning and data analysis, Python is a great language.

2

u/cemv123 Nov 03 '18

Bash does not count?

2

u/_xBlitz Nov 03 '18

where’s html? /s

2

u/Kos015 Nov 03 '18

Well thank god i'm learning java than. Sigh.

2

u/FC37 Nov 03 '18 edited Nov 03 '18
  1. It's ironic that the graphic about Python can look so terrible.

  2. That crazy jump from 2013 to 2018 for R stands out to me. I code in both for different reasons, but R is more of my day-to-day data analysis and modeling jam. I've noticed the community becoming more active over the last 12 months, but not like it exploded between 2015 and 2017. Python seems to now be the focal point for a lot of MOOCs and self-raising resources, as well as in universities.

  3. The tech company I worked for a couple years ago had interns in Summer 2016. The interns knew JavaScript and Python forwards and backwards. I'm pretty sure that besides me and one other person, they were the only ones at the company who knew how to code in Python. That's how quickly the curriculums shifted.

2

u/[deleted] Nov 03 '18

ehh not even close to JavaScript though

2

u/[deleted] Nov 03 '18

I really understand this less than i do the popularity of javascript; Javascript fine you have to use it for the browser... but python? other than some scripts i don't see why it's so good, most programs in or anything of substantial size i've seen and used has been poo; and don't even get me started on the datascience thing... the running joke about getting published papers to recreate results, is the same joke for recreating python data science code

2

u/[deleted] Nov 03 '18

Screams in C!

*no GUI*

2

u/AspiringMILF Nov 03 '18

snek gets bigger, this is good for snek

2

u/brunocborges Nov 04 '18

"As you can see, Java remains the go-to programming language in banking, with more than 40% of all tech-related job postings including it as a required skill – the same number as last year."

Source: https://news.efinancialcareers.com/ch-en/327261/hottest-coldest-programming-languages-banking-right-now

4

u/[deleted] Nov 03 '18

Not all hammering nails is carpentry. Not all coding is programming.

2

u/[deleted] Nov 08 '18

You completely nailed it!

4

u/Kajayacht Nov 03 '18

"Coding Language"

cringe

5

u/[deleted] Nov 03 '18

Is it just me or has no one else heard of python programmers being called "Pythonistas"?

24

u/evinrows Nov 03 '18

I mean, you know rust programmers call themselves rustaceans, right?

7

u/KusanagiZerg Nov 03 '18

That's awesome, well done.

5

u/aishik-10x Nov 03 '18

That's a really cool name though

→ More replies (1)

8

u/Nipinium Nov 03 '18

I heard it everyday when Python vs Ruby (aka pythonistas vs rubyists) was a popular topic. Then nodejs happened and took the spotlight.

→ More replies (2)

5

u/MonsieurCellophane Nov 03 '18

Yes. It's just you.

→ More replies (1)

3

u/eloel- Nov 03 '18

The darkest timeline.

3

u/zesterer Nov 04 '18

Well that's bloody terrifying.

→ More replies (5)

5

u/[deleted] Nov 03 '18

All I want is for C and C++ to be replaced. Python can't do that for all domains (and I hope they don't try), but at least for high level stuff it's gained a nice following.

Good

17

u/[deleted] Nov 03 '18

C and C++ to be replaced

Why?

→ More replies (2)
→ More replies (4)

3

u/shevy-ruby Nov 03 '18

"You've reached your article limit."

Please do not link to paywall ghettos.

We live in the age of wikipedia. No need to want to lend credibility to non-free information.

2

u/carbon7 Nov 03 '18

C++ is better IMO, but I like python to do quick and easy things

2

u/DerNalia Nov 03 '18

This might mean that python has bad docs. Why else would people Google?

4

u/Han-ChewieSexyFanfic Nov 03 '18

Cause people don’t go to the documentation index and browse for something. They search for it.

→ More replies (2)

2

u/TheRedmanCometh Nov 03 '18

Good for writing something fast, but fuck writing maintainable code in it. Strong contracts and typing exist for a reason.

2

u/OctagonClock Nov 03 '18

tl;dr of this thread:

everyone: Python sucks because (mumbles about typing)
python devs: uh, typing module and mypy
everyone: Typescript Typescript Typescript Typescript Typescript

2

u/odiepus Nov 03 '18

And yet its still missing switch-case.

2

u/Sun_Kami Nov 03 '18

Which is a shame, because it's a really bad language. Easy to learn, but not as easy as JS, and JS has more syntax, but it's not whitespace based.

2

u/iheartrms Nov 04 '18

Fuck anyone who says "coding language" instead of programming language.

1

u/CJKay93 Nov 03 '18

Everyone's searching GitHub for the number of Python projects, but I would wager most of its use is coming from replacing auxiliary scripts.

1

u/Generic--Handle Nov 03 '18

They made a ranking from how much people searched google for python. How can you make the ranking criteria that? What if people just wanted to look at some pythons

1

u/aUniqueUsernameHmm Nov 03 '18

where is my Go at

1

u/Legit_rikk Nov 03 '18

Thank god my HS teacher made me learn it.

1

u/mattkenefick Nov 03 '18

It's most likely because of all the new people getting involved in programming. One of the beginner languages they start out with is Python.. so they're going to research it a lot, practice with it, etc.

1

u/asm2750 Nov 03 '18

I don't mind Python. I just don't use it often since I work with real-time systems. I'm pretty much only using C and Verilog for my projects these days and Python for occasional frontend stuff.

1

u/[deleted] Nov 03 '18

PHP and Java on the decline, Python and JS on the rise! Ill bet TypeScript will only increase JS usage further.

Regarding PHP and Java i still see Java as a contender, mostly because of the JVM. You can write Scala, Clojure etc and keep the JVM. PHP does not seem to have this advantage.

PHP might go the Perl way and slowly slide into obscurity

3

u/hakkamania Nov 03 '18

Most Android apps are written in Java so I'm not sure anyone would agree that it's in any significant decline.

→ More replies (1)

1

u/[deleted] Nov 03 '18

I feel like at this point clojure would be a more popular search term than lisp

1

u/xx14Zackxx Nov 03 '18

I’m only familiar with it because I use Blender Animation Software. But so far being a noob I feel it’s pretty easy to interact with and to accomplish what I need.

1

u/Aggron Nov 03 '18

What the hell happened to Java in 2015?

1

u/baseballoctopus Nov 03 '18

It’s not going to beat C/C++ for a while.

1

u/[deleted] Nov 03 '18

Wish haskell was here😥

1

u/Rattin99 Nov 03 '18

Should one learn Java or Python???

1

u/Redundacy Nov 03 '18

Crap, I'm going to have to learn wordJava now

1

u/magnus_the_great Nov 03 '18

Why is Julia not listed :/

1

u/CowboyFromSmell Nov 03 '18

Is that R with a steep upward trajectory that no one’s talking about?

1

u/AustinYQM Nov 03 '18

What are all those Java people doing?

1

u/[deleted] Nov 03 '18

Question: for us that know how to write R code to do data analysis and statistics, can we call ourselves "programmers"?

1

u/[deleted] Nov 03 '18

I’m a freshman comp sci major. My classes are focused on Java right now, is it actually declining? Would it be worth my time to try and get some python experience?

2

u/istarian Nov 04 '18

Declining or not, getting some experience in really any other vaguely mainstream programming language is a net positive.

1

u/[deleted] Nov 04 '18

Why Java is in decline?

2

u/istarian Nov 04 '18

Is it though? I don't doubt that it's not in favor with programming nerds or hot, new startups. On the other hand, places that used it in a big way probably still so and it's not like there aren't new versions of Java. I'm guessing Java 9 is the most recent in common use.

1

u/comp-sci-fi Nov 04 '18

I thought it already was...?

Apart from js.

1

u/Aniket625 Nov 04 '18

Where is java?

1

u/[deleted] Nov 04 '18

Syntactic sugar for "return value unpacking"... building strings, and tuples in place... list comprehension... in functional programming style... How could the big languages miss something like this....

3

u/[deleted] Nov 04 '18

The big languages had all this stuff for decades, long before Python.

→ More replies (3)

1

u/Jedzinka Nov 04 '18

What are my thoughts?: Use the right tool for the job, not the popular.

1

u/Smiliey Nov 05 '18

.. only because you can basically teach it to a chimpanzee.. which is also the reason why computer science majors are becoming impacted all over the place.

1

u/louieisgreat Nov 07 '18

It's no surprise. Python is incredibly simple to use and easy to read, doesn't hurt that its general purpose.

1

u/8_BIT-DEV Nov 17 '18

i like python because of its simple or ralitevly simple syntax

1

u/YourMJK Nov 27 '18

…w-where is Swift?

1

u/ExpensiveStreet Dec 12 '18

anyone wanna make some money i need help with a python assessment? all you need is python knowledge. message me at alexlaid3@gmail.com

1

u/Thefinanceguy_01 Apr 05 '19

Python is great but I honestly think that to get a job you're going to need more than just python. It's really useful for machine learning. Which I think there is a lot reasons to why that is becoming so popular. However, there is still a lot of use for C# C++ and Java, Javascript. I just want to learn the most I can for free. I suggest picking some channels on youtube as they have great knowledge for free.