4 ms·
One question I had after reading your post is - We currently build languages with purely additive models, ie features can be added to a language over time. Over
by dman 9y ago
One question I had after reading your post is - We currently build languages with purely additive models, ie features can be added to a language over time. Overtime the interaction between features creates "incidental complexity". Was wondering if you know of any languages that have been able to drop old features / ideas in a controlled manner.
- dottrap 9y agoLua has been known to remove things. The language still remains small and clean after over 20 years. The creator has given some talks about how breaking compatibility (e.g removing features) requires its own thought process. There are different types of changes. The easiest to change are the ones that can be detected immediately in existing real world programs whereas the hard changes are the kinds that could go silently undetected by users until it is too late.
- steveklabnik 9y agoRuby 1.8 -> 1.9 was quite successful; it was painful at the time, but eventually worked out. Contrast with Python 2 -> 3 or Perl 5 -> 6.