LWN.net Logo

Accumulating features is an essential design component

Accumulating features is an essential design component

Posted Aug 21, 2012 15:58 UTC (Tue) by southey (subscriber, #9466)
In reply to: Kamp: A Generation Lost in the Bazaar by fest3er
Parent article: Kamp: A Generation Lost in the Bazaar

Most open source projects pride themselves on backwards compatibility so your overall system design must accumulate features. Somehow the kernel needs to handle a external hard drive using many different interfaces plus one of those also connects to the display (not a reality 21 years ago). Now there is Intel's plan for recharging using WiFi.

Sure, with incredible vision, developers have gone back to change the design (IDE-SCSI?, merging i386 and amd64 subkernels). But that is code refactoring not design.

However backwards compatibility has to end for various reasons. Probably with GCC it is related to handling and enforcing different standards as much as new features. It is not really effective to maintain K&R's 1978, ANSCI's 1983, C89/90 in 1990, C99 in 1999, C11 in 2011 in the same compiler. Also, code should be maintained so depreciated features (or non-standard functionality) are removed. Otherwise you have to go back in the time machine and use the contemporary tools of the same age as the code.


(Log in to post comments)

Accumulating features is an essential design component

Posted Aug 21, 2012 22:48 UTC (Tue) by nix (subscriber, #2304) [Link]

With GCC, with a very few exceptions (the removal of a few ill-thought-out language extensions in 4.0, the removal of 'traditional mode' for complexity, ill-definedness, and no-one-uses-it reasons), most code broken by new GCC releases was simply buggy all along, but GCC was incorrectly accepting it. GCC never supported C83, and nothing post-C89 has ever been removed (nor, likely, ever will be). C78 was never supported either: traditional mode supported C78 plus a bunch of common vendor extensions plus a *lot* of bugs because traditional mode was basically never used by anyone for anything for decades before its removal.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds