4 ms·
I've no idea why you were downvoted. Python is indeed going through an almost identical transition, except that 3 does not fix as much as 6.
by hahainternet 11y ago
I've no idea why you were downvoted. Python is indeed going through an almost identical transition, except that 3 does not fix as much as 6.
- Scarblac 11y agoPython 3 fixes a few things, mostly in Unicode handling. What I've seen of Perl 6 looks like a new language. The main "problem" of the Python transition is the fact that Python 2.7 is so good.
- hahainternet 11y agoPerl6 is absolutely a new language. Perl 5 had so many structural problems it was deemed unlikely they'd be solved. Since then however lots of hard work has been done on every side. The biggest problem about Python is not the superiority of 2.7, it's the hubris of the Python community to think that 2.7 is actually that great. I would send any Python programmer on a course of writing Golang and Perl 6 and I would put money on the line they would come out a better programmer. That's what I feel happened to me to some extent.
- Scarblac 11y agoI mean good compared to Python 3 -- for years, all I heard was "what is so much better in Python 3 that I should switch?". Comparing against other languages usually isn't all that relevant as no company is going to move over all their code. Since a year or so, everybody is moving to Python 3. And for the last years, we've had the bliss of a stable programming language. So much in open source constantly brings out new versions that you have to keep your stuff compatible with all the time.
- jonesb6 11y agoYour last part is spot on for me. Writing Golang indeed made me a better Python programmer.
- effie 11y agoThat sounds interesting. Could you share some details? Which parts of Golang reveal so much about Python? I'm using Python and I'm thinking about getting more into some compiled languages of similar expressivity like Nim or Go.
- jonesb6 11y agoWhen you have to implement things in a "large" language after writing a similar one in Go you'll find yourself coding with a very minimalistic set of objectives. It's a Go-flavored pythonism of sorts. Things like explicit error handling, concurrency, maybe even memory management, will make their way deeper into your work flow and thought processes then they did before, especially if the language you are now using doesn't emphasize them to begin with. It's this reason why I think learning as many languages as possible is a good thing. I can't imagine what'd I'd be missing out on if I was stuck programming Java 6 for a decade.
- doktrin 11y ago> except that 3 does not fix as much as 6 On the logical flipside, 3 also doesn't alter nearly as much as 6. It was intended (and largely functions) as an iteration - not a backwards incompatible re-write. It's not an irrelevant comparison, but I feel like it's an overstated one.
- hahainternet 11y agoYou're not wrong, but what I'm trying to hilight is that this transition to a compatible iteration is still ongoing nearly a decade later.