Python is the most popular programming language and beloved by many. However I can’t understand why (this is still the case in 2024).

Here are my main gripes with it:

  • It is slow, performance intensive tasks have to be offloaded to other languages, which makes it complicated to analyse. Moreover I wonder how many kwH could have been saved if programms were written in more performant languages. (and there are better alternatives out there)
  • The missing type system makes it easy to make errors, and the missing compiler makes it hard to catch them
  • It has no linear algebra built in, so you always have to convert things to numpy arrays, which is quite annoying
  • Managing virtual environments and pip packages feels overly complicated

I guess much comes down to personal, but I just can’t understand the love for python.

    • @scharf_2x40@lemmy.worldOP
      link
      fedilink
      44 months ago

      I mean others don’t seem to have the same problem with Python as me, so if it is right for them, I can’t really complain, but I would use the following languages for the following tasks

      Scientific Computing (my main area): I prefer Julia, it is faster, feels more intuitive and feels like a modern python for scientific computing

      Web: there are many great frameworks out there, i am intrigued by phoenix for elixir

      Game Developement: Nobody use python in games to distribute for anything heavy I hope, but for scripting I would use Lua

      Learning: Python is often the first language, that people learn, and I guess that also explains it’s widespread use to some degree. I would teach something less high-level like C as a first language, although I think writing “high-level code” also has a learning curve to it.

      Scripting: Fine, I guess python is great for small scripts, although one could also use Ruby

      • @morrowind@lemmy.ml
        link
        fedilink
        14 months ago

        lua imo is better for both learning and scripting, primarily due to being a very simple language