17

I can’t believe that Python takes the 3rd place of the most commonly used languages in 2023.

Stack Overflow Developer Survey:

https://survey.stackoverflow.co/202...

Wtf?! I would have thought that it’s just used for small scripts occasionally that don’t change frequently and just rot in some project for years.

And of course there are some niche Data Science and Math areas where Python is used primarily.
Maybe Machine Learning and "AI" as well.

But 3rd place? Almost 50% of devs use Python?

Can someone explain?

Comments
  • 5
    Seriously, you thought that? Damn 😂 I'm actually hurt by this 😂

    Google, Gmail, yt, insta a lot of Netflix is build on it and dropbox..

    I think it's the most easy language to learn. Can't imagine easier
  • 7
    I think its used as you say in many small cases as automation or like in AI/ML as control language, not heavy lifting. This could mean that quite a lot of “not full time devs” use it and many full time devs also use it along side their main language making the number of users large even if the code size might be generally small.

    Python is an easy language to get started with.
  • 6
    It gets stuff done and has a huge amount or “ready to use” packages. Those of us suffering the issues with Python are not the ones choosing to use it. It was some technical founder with short time that picked up Django, now he is the cto, and just throws bodies at the problem…

    Also, I think that a lot of “scripts” end up in programs, so the ease of start is a huge plus for Python. By the time Python becomes an absolute pain is already somebody else’s problem for the one that picked Python to begin with…
  • 3
    The use of JS, HTML [SIC], CSS [SIC], SQL and TypeScript is a much much bigger problem.
  • 1
    @happygimp0 why would you consider the use of python a problem? I mean, if it's about performance.. Let's all do only C. I'm in
  • 4
    What that means is that 50% of the devs who are struggling with their tasks and thus need help on SO are using Python.

    @retoor Actually, whenever performance does matter in Python, it is already done in C. See e.g. NumPy.
  • 4
    What @Fast-Nop said.

    We use Python for a lot of tasks where performance doesn't matter or the performance win doesn't matter.

    For example converting files, like from XLSX to CSV. It will be slow with the 100 MiB to 1 GiB files we have... No matter what you throw at it.

    FastAPI, Pandas, OpenPyXL. Exporter service ready in a few hours.

    These small services are really nice in e.g. Monolith to Microservice conversion....

    Or for testing / analysis / etc.

    Writing that in Rust / Java / C / C++ requires *way* more time...
  • 5
    I find python my most tolerable go-to "need-to-have-something-now" language.

    As pointed by many before, not worth worrying about performance in things you ain't gonna run hot as the sun.

    Virtual environments make separating projects easy, and even if there are still fucking dinosaurs, even debian now defaults to python 3, and that's something.

    So, in short, can actually see why it's third place.
  • 2
    Not sure who answers StackOverflow polls

    I get the sense there could be an over representation of students. And maybe most educations now teach a python class.
  • 2
    results could be skewed towards languages that are common "secondary languages" necessary for specific tasks or common for quick scripts.

    If your main language is Java, C, C++ or C# you might use a bit of scripting in Bash and Python, a bit of SQL, some web with HTML and JS.

    But very few do a bit of Java, C, C++ or C# on the side if that's not the main language of their project

    But gotta say I don't see many JS or C# devs using Python scripts at all or if they do it's something lying around from 2 years ago that you run once in a while to filter Google Analytics data.

    Most devs I know use a bit of Bash...but not enough to vote for. the Question was "which languages have you used extensively during the last year"
  • 2
    Perhaps the "Other frameworks and libraries" poll indicative what people use Python for. NumPy has 20%

    As far as I know it's mainly used for heavy computation so maybe there's a lot of people using Python to process data / stats / analytics etc

    Python is the de facto go to language to create reports for all "data people"

    It's a relatively niche list though (stuff like Pandas at 18% and TensorFlow at 9%) but it does have 67K responses which is close to the 87K responses of the language poll
  • 0
    I mean, with practice it's much faster to write in and easier to work with than most other languages, and it's not formatted like shit (usually...) so it's readable with minimal knowledge in most cases. It's also about as useful as C, since most bindings work with it in the first place.

    Or you can do interpreter abuse and outpace C libraries by 3x or more. The ceiling is way, way higher than most give it credit for.
  • 1
    If Python could get rid of the GIL and could actually be compiled to machine code it would be amazing. The problem Python has is introspection. Which is also one of its strengths.

    It is my goto for scripting and writing small apps quickly. If I need a quick and dirty xml processor I grab python. lxml is amazing.
  • 2
    @Parzi Python outpacing C by a factor of 3? By interpreter abuse? Sounds pretty far-fetched to me, unless you're comparing to godawful C code because there's no limit to how inefficient code can be written.
  • 0
    @Fast-Nop It was zlib, so i'm not sure what the code quality winds up being there, but I can check if I still have the files.
  • 0
    @Parzi With compression stuff, the next question is whether the same compression parameters were used, or even the same algorithm. Ofc you can do things faster in Python than totally different things in C. ;)
  • 1
    @Fast-Nop I looked up a reference implementation of DEFLATE and tried to implement it myself using as few imports as possible. Ended up approximately on par with zlib bindings, tweaked a few things, did some Python abuse, and it wound up far faster. Again, i'll need to look for the files to check precise parameters and such.
  • 2
    @retoor The main factor that influences performance is the architecture of your system and structure of your code. Having a clean structure in your code helps way more than using a lower level programming language.

    C++ can probably faster and smaller when done correctly in a lot of cases. Templates are very good for that. But i stick with C 90% of the time.
  • 1
    @Parzi a good algorithm is often better than a low level implementation.

    but the people that know how to write low-level implementations are often good at writing algorithms to begin with. :)
  • 1
    It's really useful in cases where you use programming to supplement something else like science models. I understand as professional Devs we may have lots of complaints about it but for someone who is not coding for the sake of coding but to achieve a very practical goal it is a great option.
  • 0
    @horus ye but that's what I mean, your job revolves around coding. My point is that for people whom that's not the case python is a great option
  • 0
    Huh, it’s not 2007 anymore
  • 2
    @jiraTicket With js and today even C# is easy enough to create a small program so you rarely need another solution.

    With the new global statements and tools like linqpad, its even faster for me to write short 5 lines script in c# than to even switch over to python.

    Especially since linqpad offer multiple independent tabs that can be run even easier than a bash script, and it provides object context output :)
Add Comment