2 ms·
When it comes to tech migrations I see 3 types of stories. 1. Create "new technology" that is a backward compatible or even drop in replacement for old technol
by sly010 8y ago
When it comes to tech migrations I see 3 types of stories.
1. Create "new technology" that is a backward compatible or even drop in replacement for old technologies. Good examples of this is Web technologies, TLS, Linux APIs, bitcoin soft forks etc. This however makes "new technology" vastly more complicated both in concept and in implementation. e.g. writing a conforming web browser from scratch is impossible today.
2. Create "new technologies" that are parallel redesigns and are made "how they should be". The intent is to simplify the technology and fix problems discovered in previous versions. The plan is to run things parallel until people _voluntarily_ switch to "new tech" because it's better. Examples of this is python 2 vs python 3, IPv6, etc.
3. A third approach I guess is making backward compatibility a tool, like it's done with all ANYTHING->ES5 compilers.
(Sidenote: python2to3 tool should have been python3to2 instead)