The Crisis in Systems Code Maintenance: Sourceforge, we have a problem
Town and Country Room
Thursday, 11:35, 25 minutes
Rebeca Dunn-Krahn, University of Victoria, Canada
Jessica Maple, University of Victoria, Canada
Yvonne Coady, University of Victoria, Canada
Linguistic support for modern programming paradigms has not been welcomed into most of today's mainstream operating systems. Linus Torvalds has decreed that Linux will never again entertain C++, "In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me, writing kernel code in C++ is a BLOODY STUPID IDEA...". Similarly, Pantelis Antoniou, an embedded PowerPC kernel developer, has captured popular systems-sentiment about aspect-orientation, "People like to live in denial; thinking that programming shouldn't be this hard right? There must an easier way, if only those pesky developers followed $fashionable_methodology_of_the_day...". As a consequence, though a number of systems have been progressively restructuring services to leverage higher-level paradigms, it is intentionally done without language support. This decoupling of paradigms and language mechanisms appears to suggest that conventional wisdom in the systems community prejudices modern programming methodologies because they may impose unnecessarily heavyweight manifestations of paradigms, and pollute otherwise elegant and optimized hand-crafted C code. Simply put, if it ain't broke, don't fix it. We believe that there is a growing body of evidence to suggest that, if the systems community continues to refuse support for a paradigm shift, system evolution will slow down to an unacceptable level. Already, valuable code is not being integrated into systems in a timely fashion because the tools meant to facilitate this can, and often do, impede the process. Simply put, it is broke and we believe we know how to fix it.