3 ms·
Werkzeug/flask and gohttp in my view is not a fare comparison. Based on the details of the project werkzeug is designed to build WSGI apps easier and flask is j
by dragonsh 7y ago
Werkzeug/flask and gohttp in my view is not a fare comparison. Based on the details of the project werkzeug is designed to build WSGI apps easier and flask is just a convenient library on top of it providing easier way to manage request/response. It is designed for developer productivity and performance is left to specific infrastructure software like gunicorn, uwsgi and others. Flask/werkzeug or any WSGI/ASGI related servers were designed for interfacing with a http server like nginx, apache, gunicorn, uwsgi and many. A python LWAN http server can beat go http server [1] [2].
Also take a look at comparison of various frameworks in Python including go http server [3].
People are most productive in the language/framework they are most familiar and will defend it. Every language/framework has their own strength and weakness and I believe over a period of time ideas flow from one language to another.
Indeed today many people in Python community will be moving towards Rust or Go because they think it can solve all their problems they face with dynamic typing and performance, which might not be entirely true. It's upto an individual to decide if they want to go that path.
As an example werkzeug/flask framework developer Armin moved to Rust in spite of it being a complex language with very large syntax surface area and a steep learning curve. In my opinion Rust's complexity, difficulty to learn and understand, and probably a promise of type and memory safety (which is not 100% true given it needs to interface with C in unsafe mode and will only be as safe as the underlying C implementation), makes people adopt it to make them feel better programmers (Personally I would have chosen Haskell, if needed to do the same).
Now all the Python projects he worked on is mostly maintained by volunteers and David. But being a responsible open source developer and contributor before moving in that direction Armin did create pallets projecs [4]. So his decision to move is right for him given his preference and learning priorities.
[1] https://www.nexedi.com/NXD-Blog.Multicore.Python.HTTP.Server https://www.nexedi.com/NXD-Blog.Multicore.Python.HTTP.Server
[2] https://lwan.ws/ https://lwan.ws/
[3] https://www.freecodecamp.org/news/million-requests-per-second-with-python-95c137af319/ https://www.freecodecamp.org/news/million-requests-per-secon...
[4] https://www.palletsprojects.com/ https://www.palletsprojects.com/