5 ms·
One main reason I switched away from Python was all the dependencies needed to run a performant webapp. And then throw async into the mix and you start wonderin
by danieldevries 5y ago
One main reason I switched away from Python was all the dependencies needed to run a performant webapp. And then throw async into the mix and you start wondering about uvicorn instead or do I need gevent?
Go really simplified these decisions and basically all by using the std lib.
- qff 5y agoI haven't switched away from Python (yet). But I agree that Go does look very compelling, and is basically the only performant and mainstream implementation of green threads.
- Lio 5y agoJust for discussion would Erlang/Elixir not count as another performant implementation of green threads or would you not consider them mainstream enough? Erlang has been scaling massively in the telecommunications industry for a very long time now even if it's not as popular as other languages.
- fnord123 5y agoErlang's green threads are considered lightweight processes. They only communicate through message passing. When selling Erlang, don't focus on "telecommunications industry" but sell based on Whatsapp: http://highscalability.com/blog/2022/1/3/designing-whatsapp.html http://highscalability.com/blog/2022/1/3/designing-whatsapp.... More: https://www.erlang-solutions.com/blog/which-companies-are-using-erlang-and-why-mytopdogstatus/ https://www.erlang-solutions.com/blog/which-companies-are-us...
- danieldevries 5y agoI started the switch last summer. Haven't looked back since. Python gives the veneer of simplicity (ie the Flask hello world script, 5 lines of code approx?). On top of that the 5 different ways of doing x, or just wanting concurrency. Quickly Python becomes verbose. My current webapp is one executable that uses the standard net/http server and the autocert package for Letsencrypt.
- cjauvin 5y agoI agree that the Go deployment model is generally a dream compared to Python. However, the other part of the equation is having access to mature and complete frameworks like Django (a high quality package blending best practices and common patterns), for which I'm not sure there's an equivalent (yet) in Go.
- zmmmmm 5y agoIt is interesting to me that after so many years, Django (and especially its ORM) still stands out as one of the most ergonomic, robust and reliable web frameworks you can find. Enough so that people stick with Python despite every other factor suggesting another language would be preferable. Makes me curious, is it that hard to clone its features into other languages? Is there something specific about Python that makes aspects of it possible there while not being possible in other languages? If so, is it a true case where dynamic languages win over static languages because certain things just can't be established satisfactorily in a statically typed language?