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

I think some modular approach could have solved the incompatiblity issue, such as "from future import ...". Shorthands could have been invented to define everything in a single line.

Perl5 has similar flags ("use strict"), and Racket brings it even further to define the whole fucking language of the rest of the file ("#lang racket/gui"). Having the language being choosable by the user is against the "zen of python", I guess. In other words: Such an attemp does not feel "pythonic".



For some syntactical sugar, like print-function, sure. But there are more fundamental changes that couldn’t be papered over.


Fundamental changes shouldn't have been papered over by calling the new language Python, as it was a fundamentally different language at that point.


No, it’s the same language but with different semantics around a specific type. That’s not a different language and code can co-exist with a bit of thought.


Every language goes through this at some point in its development: flaws that limit future development have to be fixed. Should every language rename itself and split its community at that point? That seems like an extreme response to a common problem.


> Should every language rename itself and split its community at that point?

yes. If breaking, fundamental changes are common, that's a problem.


That people can make an initial plan that is self-consistent, logical, and foresees and provides for all future use-cases is a basic tenet of waterfall-style development. The history of software engineering does not uphold that principle. Why would it be different for language designers?


Just because an unforeseen issue arises, doesn't mean you need to introduce a breaking change right away.


The "new language" is called Python 3.


Yes, yes it is. And, like "Perl 6" and to a lesser extent "C++", that name is misleading (and therefore bad), because there is already a different language called "Python" (respectively "Perl", "C"), with significant superficial similarities that it could be confused with.


Please note that the misleading part of Perl 6 has been fixed by renaming it to the Raku Programming Language (https://raku.org using the #rakulang tag on social media).




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

Search: