4 ms·
I know that it's one of IT's hard problems, but one of the best ways of keeping a language lean is renaming it after it accrues a certain amount of changes, or
by mhd 10y ago
I know that it's one of IT's hard problems, but one of the best ways of keeping a language lean is renaming it after it accrues a certain amount of changes, or at least attaching a qualifier. If users are still interesting programming with HyperPascal, Modulatrix Xtreme Pro or "Mongolian Vowel Separator", then feel free to make some more considerable changes.
Otherwise I'd be very careful, and especially if it's actually a language with multiple implementations.
- qznc 10y agoThat 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.