Ask HN: What do you want to see in Python?
Howdy HackerNews!
I'm interested in HackerNews feedback and feature requests for Python. I am posing this question to the garrulous HN crowd, so I'm excited about it, and I'm sure this will be interesting!
Please include in your replies the following bullets: - HEADLINE: 1-line description of the request
- DESCRIPTION: A lengthier description of the feature. Bonus points for constructive criticism ;-)
We're super interested in your feedback!
Thanks, HN!
31 comments
[ 2.8 ms ] story [ 81.2 ms ] thread[1] https://www.python.org/dev/peps/pep-0404/ [2] http://legacy.python.org/dev/peps/pep-0373/#update
Sorry, I'm just a little confused.
> By default, the end-of-life is scheduled 5 years after the first release. It can be adjusted by the release manager of each branch. Versions older than 2.7 have reached end-of-life.
3.3 and lower and already considered end-of-life. 3.4 will be end-of-life next year.
I'm not sure if 5 years is a reasonable length to be considered LTS, but it seems like it should be long enough for most people.
[1]: https://devguide.python.org/#status-of-python-branches
- Some descriptions & examples of the constructs in the asyncio module, and what kind of problems you'd use each construct for would go a long way. IMO the API docs are too detailed to be able to learn from vs reference[0]. Perhaps a HOWTO is the kind of level I'd be looking for[1]. Or maybe this already exists but I'm using bad search terms.
[0] https://docs.python.org/3/library/asyncio.html [1] https://docs.python.org/3/howto/index.html
The recent features that have been added have been amazing, though. The new Windows installer, type hinting, asyncio, and f-strings have all made my life easier.
On a similar note, it would be really helpful if library maintainers (e.g. PyGame) would express somewhere that they're looking for a designer to help make their website easier to use. I'd offer my (very basic) help, but I'm worried about offending someone if I ask to redo their website. This isn't necessarily porting to a 'minimalist' or 'modern' theme, but simple things like emphasizing the intended UX, increasing readibility, organizing in a helpful way (e.g., a gallery should be split by type of application so that a business doesn't have to trawl through a bunch of games wondering if they can use this for their application).
[1]: https://pybee.org/
[2]: https://pybee.org/contributing/how/first-time/
For better or for worse, Python is the language of deep learning. We're going through all sorts of contortions to make it scale to large datasets, and the biggest problem is that Python is single-threaded for practical purposes.
I know all about the GIL and how difficult it is, but as a user, I don't care about any of that. The moment a similarly usable language comes along that does have working threads, I'll use it. I hope that language is also Python.
And if you're wanting something primitive then use cooperative threads like gevent, asyncio, or twisted.
The remaining hurdle appears to be performance. Perhaps bundling cython or pypi is doable?
Run time type hint checks in the standard library, small performance impact allowed.
2. Compilation/optimisation using your hints
Like cython but using python's own type hints so you can give the compiler type information without leaving valid python.
1. Python needs to get JIT support (interfaces to dynamically JIT), beyond PyPy.
2. Type Safety. Type hinting is a good start. I love the direction projects like mypy is going. Allow programmers to mention types for functions which can be then JITed.