6 ms·
Python doesn't break backwards compatibility like that. Code written against 3.0 will still work perfectly fine on 3.8; likewise for 2.0 code running against 2.
by chungy 7y ago
Python doesn't break backwards compatibility like that. Code written against 3.0 will still work perfectly fine on 3.8; likewise for 2.0 code running against 2.7.
Parent seemed to be talking about the reverse: going backwards, and implying that 2 didn't have major new features, even though it very much did.
- mehrdadn 7y agoNo, it does break backward compatibility, especially when they introduce new keywords, but also with stuff like: https://news.ycombinator.com/item?id=22928672 https://news.ycombinator.com/item?id=22928672
- pansa2 7y ago> Code written against 3.0 will still work perfectly fine on 3.8 Not 100%. For example, using `async` as a variable name works in 3.0 but not in 3.8, where it is a keyword.
- chupasaurus 7y agoAre you talking about PEP-0492? It was added in 3.5.2 with deprecation of previous behavior in 3.7, release dates of those are separated by exactly 2 years, with deprecation warnings in 3.6.
- pansa2 7y agoLooks like PEP 492 introduced `async` as a contextual keyword in 3.5, and it became a proper keyword in 3.7.
- justinsaccount 7y agoPython3.8 is breaking things left and right because people are using the walrus operator and then realizing that users don't actually have python3.8 installed. https://github.com/search?q=remove+%22walrus+operator%22&type=Commits https://github.com/search?q=remove+%22walrus+operator%22&typ...
- mehrdadn 7y agoWow this is horrifying: if (diff := coord - lower) < self.view_dist: I would've assumed walrus would've only been used at the top level of the expression, not nested inside a conditional!