3 ms·
That is why we have version numbers. Usually languages are extended. C++11 and C++14 are different languages, although the first is a subset of the second. Tha
by qznc 10y ago
That is why we have version numbers.
Usually languages are extended. C++11 and C++14 are different languages, although the first is a subset of the second. That does not always hold. For example, Python2 and Python3 are different languages.
In line with the article: If you only provide a subset, give it a different name. Prepend a "mini" or "micro" or whatever. For example, "MiniPython" would be expected to provide a subset of Python.
- mhd 10y ago> That is why we have version numbers. This is why the authority for the language has version numbers. If it's just your compiler, it's a bit impertinent if not outright illegal to call it C 2.4. And depending on the amount of changes, I don't think this is necessarily a good idea. Perl 6 comes to mind.
- dkersten 10y agoPython2 and Python3 are different languages. I think this is a bad example, because they want to abandon Python2 and move everyone to Python3, yet, almost 10 years later, many people are still using Python2. So I would say that the Python way is NOT how one should keep a language lean.
- AnimalMuppet 10y agoI think it is the way you keep a language lean. If you want Python 3, you have only a few choices: You can make very few changes from Python 2, you can make breaking changes, or you can extend but not break. If you make very few changes, the language doesn't progress very much. If you extend but don't break, the language progresses, but it doesn't stay lean. If you make breaking changes, the language can stay lean, but you lose a bunch of users who stay with the previous version. There is no perfect answer. Progressing, lean, and compatible: pick at most two.