3 ms·
I believe the fundamental error was to try and break backwards compatibility in a dynamic language. I can see how this would be much safer for a strongly typed
by mlang23 6y ago
I believe the fundamental error was to try and break backwards compatibility in a dynamic language. I can see how this would be much safer for a strongly typed language to pull off. It would still be a PITA, but at least I'd feel a bit more save about it. I watched the transition of a NVDA from Python2 to Python3. It took a pretty long time, and some of the commit logs read like voodoo. I would really not want to be in charge of having to migrate a semi-largish codebase from Python2 to Python3, especially if there is only limited amount of automated tests.
- leephillips 6y agoPython is strongly typed.
- mlang23 6y agoSince when?
- afiori 6y agoIn some contexts strong typing means that all values have a well-defined unique type that cannot be changed. For python this means that the language takes care of performing meaningful conversions when a value of a type A need to be turned into type B and also that there is no way to convince python that a value is a String (for example) if that value is not a valid string. Or from wikipedia: In Luca Cardelli's article Typeful Programming, a "strong type system" is described as one in which there is no possibility of an unchecked runtime type error.
- leephillips 6y agoSince its original design and first release. Try to do 1 + 'a' in Python and see what kind of error you get. Now try it in Javascript, which is actually weakly typed. If you still don’t believe me, try reading the documentation.