5 ms·
It still blows my mind how badly the Python and Perl developers misunderstood their languages' roles. Many developers viewed them as Unix infrastructure like C
by username223 11y ago
It still blows my mind how badly the Python and Perl developers misunderstood their languages' roles. Many developers viewed them as Unix infrastructure like C, sed, and awk: a stable foundation upon which to build long-lasting programs. But the core devs got bored and decided to either break most things for very minor improvements (Python), or break everything to provide all things to all people (Perl).
The Perl folks eventually admitted that version 6 was a separate language; we'll see how that turns out. The Python ones can't make the same move, since version 3 offers no major benefits/changes over version 2, so they simply have to continue the beatings until... everyone moves to version 3. What a colossal waste of time!
- rckclmbr 11y ago> But the core devs got bored and decided to either break most things for very minor improvements I think asyncio in python3.4 and async/await keywords in python3.5 is a gamechanger. It's hardly a minor improvement
- kec 11y agoWell 1) it took us 5 years to get those features, 3.0 just broke shit and ran slowly for no discernible benefit to the end user. And 2) I know of no reason those features couldn't be implemented in Python2 other than "we don't want to, because otherwise few people will ever upgrade to 3"
- rat87 11y agoWas upgrading even recommended before 3.3?
- kec 11y agoThat doesn't actually help the "py3k was a good idea" argument. 3.3 came out 4 years after 3.0. 4 years to become a reasonable choice is kind of pathetic, especially given the fact that python2 was put into bugfix-only mode 2 years after the 3.0 release
- mkesper 11y agoAnd sane unicode handling.
- rat87 11y agoplus static type checking
- lkrubner 11y agoI can't imagine why you were downvoted, since you summarize the situation rather well. Actually, I do know why you were downvoted: you summarize the situation rather well. And a lot of people do not want to hear it.
- Retra 11y agoThe Python developers built the language they wanted to build. They were never obligated to do anything else. They are largely unpaid volunteers working on open-source software, and you're complaining that they're wasting... who's time are they wasting, again?
- username223 11y agoHere we go with this absurd argument again: "They're giving it away for free, so they can do whatever they want, and you can't complain." Sure, we're all free to develop software and dump it on the internet for everyone to use. Many people do, and most of it is useless and ignored. However people who want others to use their software, as I think the Python devs do, need to provide some value to their users. The value they get in return is less concrete, but it's there: reputation boosts, job opportunities, warm feelings from sharing, license to verbally abuse people on mailing lists. Developers aren't obligated to please their users in exactly the same way that users aren't obligated to use their software. Just because there's no money, it doesn't mean there's no transaction, and popular free software is based on benefits to both parties.
- Retra 11y agoAnd what would you have them do? Stop developing Python 3?
- username223 11y agoYes. If they want to help Python users, they should improve performance and add backward-compatible features. If they want to have fun experimenting with programming languages, they should change "Python's" syntax and semantics whenever they want. Either would be better than the current approach.
- lmm 11y agoI think that's backwards. The developers of unix packaging systems (the Debian packagers in particular) misunderstood the roles of these languages. Writing unix-like tools is a small niche, Python is exceedingly useful outside that niche, and Python 3 is necessary for a lot of very useful things that developers build. Java has been extraordinarily successful despite having hardly any system tools written in it, and I think part of that's the sheer good luck (due to accidents of licensing history) of the likes of Debian not trying to integrate Java deeply into their OS; Python and Perl would be much better off had the same approach been followed.
- username223 11y agoI think I was unclear about my main point. Python and Perl have many applications outside Unix tooling, but then again so does C. Both sort of started out as "better shell script," and both were seen as such, but they were also seen as stable foundations for serious, long-lived software. You can build stuff on top of C, Fortran, POSIX, etc. in 2016, and be pretty confident that it will still work with their 2026 versions. That's not valuable if your slapping together an MVP that no one will care about and will die in a few months, but it's incredibly valuable for developing big, complicated software. Or for little personal utilities you want to write once, then not have to maintain. Perl and Python moved away from that longevity, each in its own way. Maybe that will make them better suited to a world of continuous Cloud-based churn, but there's more to life than that.
- lmm 11y agoI find the conservatism of C, Fortran and POSIX has made them almost useless for developing big, complicated software. Compatibility is important but so is evolution. Certainly I think the deprecation cycle for Python is not overly short.