Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Python is currently in a perfect storm for experienced users to want to move away. If it was just itertools it wouldn't be the case.

Point the first: Python 2.x to Python 3.x if you already have to make a transition, there is more impetus to make a transition to something that suits how you actually work.

Point the second: itertools is partly a catalyst, partly an indicator. Once you get fluent with it, it illuminates pain points.

Point the third: There is a new batch of functional languages that support the style that is a pain point, as well as fixing other issues that hurt in python.

Lastly, not all python programmers will want to make the shift. But the ones fluent with itertools are more likely to be the subset that will.



I've been using Python for a while (since before 2.0). I think it's a good language, but nowadays my first choice for starting new projects in its niche would be a mix of Lua and C, unless the project depended entirely on a complex library available for Python but not C.

I did in fact switch during the 2.x->3.x transition, though I haven't given up on Python entirely - I still know the language, I'm fine with working in it, It's just not my first choice anymore. If there were one factor (and there isn't, my switch to Lua was gradual* ), it would be GvR's insistence that Python will never get tail-call optimization, because it's "unpythonic". (http://neopythonic.blogspot.com/2009/04/tail-recursion-elimi...) That has major implications for the expressiveness of the language.

* I think what happened was that I had been reading Lua's source to see how a small, clean implementation of a bytecode compiler worked, and along the way discovered that it suited my preferred development style better. Lua feels like a minimalistic hybrid of Python and Scheme, with the "good parts" of Javascript (prototypes, object literal notation) harmoniously integrated, but designed with embedded and multi-language development in mind. Also, the whole language can be installed with a DLL smaller than SQLite (!), which makes deployment rather easy.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: