samedi 10 janvier 2015

How important is legacy support of "bad" features?


As an example, let's say you're designing a programming language and decide that enumeration should start with one instead of the usual zero (and zero could denote the largest possible index, omitting the leading overflow one, but that's beside the point). Now almost every programmer trying to use your language will very likely encounter some weird behaviour since they only skimmed the manual and didn't notice the small paragraph about this indexing different from what basically every other programming language uses; they might end up dropping your language due to that incompatibility with their "legacy" experience, thus reducing chances of success for your project.


But should you drop what you consider a severe improvement for legacy compatibility? Or what alternatives are there?


(I know my example is not exactly the typical legacy problem à la "for the sake of legacy OS support, we use 8.3 ascii filenames", I hope it's not useless though)





Aucun commentaire:

Enregistrer un commentaire