6 ms·
Yep. I was interested in the post as I've always felt Django is python software "done right". I stopped reading when they started complaining about python 3. P
by svnpenn 7y ago
Yep. I was interested in the post as I've always felt Django is python software "done right". I stopped reading when they started complaining about python 3.
Python 3 has been out for over 10 years now. Did OP really think Django was going to use python 2 forever? Frankly that's a selfish outlook, and I'd go as far as saying it's a cancer of software development.
Backward compatibility needs to be a thing, but not forever. Things need to be deprecated eventually.
- faitswulff 7y ago> Backward compatibility needs to be a thing, but not forever. Things need to be deprecated eventually. That might not need to be the case. I guess we'll see: one of Rust's tenets is perpetual backwards compatibility. New features (and potential breaking changes) are opt-in with a per project configuration setting.
- k__ 7y agoDoesn't JavaScript do it the same way?
- philwelch 7y ago> Backward compatibility needs to be a thing, but not forever. Things need to be deprecated eventually. This mentality is the true cancer of software development IMO. Can you imagine the utter insanity and chaos if any other form of engineering worked this way? Programming languages are like protocols and standards: they are a common platform that people build on; simply deprecating them with no plan for backwards compatibility requires everything to be rebuilt, which represents a tremendous cost. Sometimes these changes are worth it, but outside of software, these are usually once-in-a-lifetime changes. I can't think of any fundamental technical change between Python 2 and Python 3 that make this scale of disruption worthwhile. If the maintainers of Python don't want to maintain Python 2 anymore, they are completely free to make that decision, but it's a decision worth criticizing and complaining about. It is not a good thing for all software developers to be forced to rebuild the same sand castles every time the tide goes back out.
- jimktrains2 7y ago> Can you imagine the utter insanity and chaos if any other form of engineering worked this way? You mean like how when I bought my house I had to bring the wiring up to code and replace the knob and tube? This is how the rest of the world works. The time scales are simply longer.
- philwelch 7y ago> This is how the rest of the world works. The time scales are simply longer. Which is exactly the point I'm making. Nobody is going to deprecate 120V power for the kinds of reasons that software platform deprecations happen.
- pfranz 7y agoBut big changes do happen. In 1948, the west coast changed their power standard from 50Hz to 60Hz[1]. Or changes don't happen, Japan still has two standards[2]. Or, like metric in the US, it slowly changes but likely will never completely happen. [1] https://gizmodo.com/before-1948-las-power-grid-was-incompatible-with-the-r-1683629042 https://gizmodo.com/before-1948-las-power-grid-was-incompati... [2] https://en.wikipedia.org/wiki/Electricity_sector_in_Japan#Transmission https://en.wikipedia.org/wiki/Electricity_sector_in_Japan#Tr...
- philwelch 7y agoSure, but the pace of these changes is significantly different. Clearly part of this is due to Moore's law; perhaps standards in aeronautical engineering shifted about as quickly during the transition from biplanes to supersonic jets as our software standards and frameworks are changing today. But that's no reason to reflexively dismiss the very good and very interesting question of why one should have to largely rewrite a Django app in 2019 that does the same thing that it did in 2010, in a language that is virtually functionally equivalent in any respect that is relevant to that particular developer. Software does not inherently need to be as ephemeral as it is.