Live data from Hacker News

The State of Python in 2021

deprogrammaticaipsum.com

31–40 of 53 posts

Re: The State of Python in 2021

#31
Python causes me a great deal of suffering. This XKCD summarizes one reason why. https://xkcd.com/1987/

Python deployment is an absolute nightmare. And don’t you dare say “just use conda”.

Python the language isn’t particularly great. The built-in libraries are a mixed bag. (Filesys is awful). But everyone is forced to use Python because numpy is super powerful and all the ML frameworks are in Python.

The fact that GIL is still an issue in 2021 is a god damn travesty. As is the overall awful performance of Python.

The language definitely got something right. But I can’t decide how much of its success is good ideas vs pure inertia.

Re: The State of Python in 2021

#32
> At some point I got a job as a Django application developer, a framework pompously marketed “for perfectionists with deadlines”; a punchline filled with hubris and undeserved merit. Thankfully these days Cloud Native Python apps are built around less monolithic options such as Flask, Pyramid, or Tornado.

If your app grows big enough, you'll end up badly re-implementing Django in Flask. Django is far from perfect, but this blanket dismissal just sounds smug.

Re: The State of Python in 2021

#33

There are quite a few inaccuracies here. Guido is now working on Python performance at Microsoft and is not the BDFL anymore. Instead, there is a five-person Steering Council overseeing Python. The best C/C++ interaction options include Cython, cffi, and pybind11. None of those are mentioned. I don't know anybody still recommending SWIG. No mention for FastAPI or asyncio is a big omission in the Web backend use case.…

Thanks for the httpx info. Im still using requests but have been looking for a none-blocking option.

With regards to installing via the windows store, I've been told by others in various programmer communities that this isn't the best idea. It doesn't add things to the PATH properly and is a pain to sort out.

I either install it from the python website or using scoop.

Re: The State of Python in 2021

#34

There are quite a few inaccuracies here. Guido is now working on Python performance at Microsoft and is not the BDFL anymore. Instead, there is a five-person Steering Council overseeing Python. The best C/C++ interaction options include Cython, cffi, and pybind11. None of those are mentioned. I don't know anybody still recommending SWIG. No mention for FastAPI or asyncio is a big omission in the Web backend use case.…

The author clearly isn't as well informed as he thinks himself to be. And what a smug jab at Django... Better refer his blogpost to the dumpster where it belongs.

Re: The State of Python in 2021

#35
post #32

> At some point I got a job as a Django application developer, a framework pompously marketed “for perfectionists with deadlines”; a punchline filled with hubris and undeserved merit. Thankfully these days Cloud Native Python apps are built around less monolithic options such as Flask, Pyramid, or Tornado. If your app grows big enough, you'll end up badly re-implementing Django in Flask. Django is far from perfect, b…

The author clearly isn't as well informed as he thinks himself to be. And what a smug jab at Django... Better refer his blogpost to the dumpster where it belongs.

Re: The State of Python in 2021

#36

Python causes me a great deal of suffering. This XKCD summarizes one reason why. https://xkcd.com/1987/ Python deployment is an absolute nightmare. And don’t you dare say “just use conda”. Python the language isn’t particularly great. The built-in libraries are a mixed bag. (Filesys is awful). But everyone is forced to use Python because numpy is super powerful and all the ML frameworks are in Python. The fact that G…

Python definitely started with very good ideas and whatever success it has achieved is by merit and not marketing power or reputation of a company behind. Clean syntax, a decent object model, good documentation. Good taste in general.

But it's older than Java, think about that. Has it aged worse than other languages? Are Python libraries worse than Java's? Package management? Has Python more cruft? Is it harder to install?

At this point it's part inertia and network effects, although you should check the alternatives in ML: R, SAS, Matlab... I think Julia is better, but it has made some decisions not everyone likes. Static typing for ML, you may think, that would be awesome. Well, I think the language that got closest to it was Scala but it never escaped Spark.

Re: The State of Python in 2021

#37
Why is it flagged ? The article is imperfect, but midly useful.

It does forget to mention very important topics:

- type hints are finally useful, thanks to better mypy default and support, and allowing built-in, protocols and shortcuts into the syntax

- 3.10 ships with pattern matching and, I must insist, absolutely better error messages (being waiting for that for a while)

- black is the status quo formatting tool in the community

- pydantic base libs are getting a lot of traction (the article does mention typer, but not fast api)

- dephell allow you to convert between all those mess of various build systems so you can easily start with pip and move to poetry

- a new dev is now PAID by the PSF to work on python

- __pypackages__ is being actively experimented with, with initiatives like the pdm, the py launcher or pyflow (which also aims to take pyenv job, but saving you the compilation)

- plenty of speed work being done by MS, but also 2 other projects

- pyproject.toml is has now enough PEP to be better than setup.cfg , including one for a lock file

- vscode is now the most popular python ide, their language server pylance rocks and does feature auto imports now

- zipapps with shiv and compiled apps with nuitka changed the game of python deployment

- brett canon decided to use doit as a build tool publicly for new projects so it's getting traction. Ok, I kinda oversold it to him, but it's a good tool, it's worth checking out.

- asyncio is not a curiosity anymore, and the ecosystem is pretty mature, with uvloop, aiohttp, httpx, trio, etc. And the work for a integrated nurseries into the stdlib is on the way

- concurrency in Python has seen a boost because of the stdlib ShareMemory module, and sub interpretter are now being tested by popular projects

- python 2.7 has been dead for 1 year and it's business as uasual

- python 3.6 is the "old python" now. Funny, considering we used to thing f-string were the new toy

- rust is becomming python best friend, with more and more extensions being written in rust, and even one python implementation

- pyiodine makes it trivial to test real python code in a webpage. For web dev it's not usable, but for teaching it's been awesome:. Type to use sqlite in there, it's works magically, despite never touching the server : https://notebook.basthon.fr/

- htmx (the js lib) is getting used by pythonista that don't like js much

- wagtail, the cms, has become a thing of beauty

I probably forget a lot of things.

Re: The State of Python in 2021

#38
post #35
post #32

> At some point I got a job as a Django application developer, a framework pompously marketed “for perfectionists with deadlines”; a punchline filled with hubris and undeserved merit. Thankfully these days Cloud Native Python apps are built around less monolithic options such as Flask, Pyramid, or Tornado. If your app grows big enough, you'll end up badly re-implementing Django in Flask. Django is far from perfect, b…

The author clearly isn't as well informed as he thinks himself to be. And what a smug jab at Django... Better refer his blogpost to the dumpster where it belongs.

That's harsh. I do think he is very wrong and ignorant, but there is no need to be upset about it.

The article is not without interest for someone who don't see the python ecosystem regularly.

I hope you didn't flag the article for that.

Re: The State of Python in 2021

#39

Every now and then I consider revisiting Python (I haven't used it in anger for a few years), but I am continually put off by the wild-west state of dependency management, lack of standard tooling and project configuration. Python's goal that "there should be one obvious way to do anything" is admirable, but doesn't seem like it's lived up to in any way. Say what you will about Golang, but I do like the fact that it…

Well python is old and doesn't have a lot of funding, Go is young and is backed by google.

I do expect that the state of dependancy management is going to change in the next few years because:

- MS has entered the game

- PEP are being worked on a lot on packaging lately

- shiv, briefcase and nuitka are getting traction

- poetry and dephell are very qualitative tools

- __pypackages__ is on the way (try it with pdm)

- pyflow show a very interesting approach to installing python

- python 2 is dead for good

- wheels are now ubiquitous

Re: The State of Python in 2021

#40
I don't see the black python formatter[0] mentioned. I use it for all of my projects and I love it as I prefer not to have a linter distract me while I type. You can see a demo[1] without installing it to check how it works.

[0] https://github.com/psf/black

[1] https://black.vercel.app/

Post reply on HN