Dan Farber's post yesterday about Microsoft's "50 million line albatross", aka the late-arriving Vista OS, got me thinking about how big other OS projects are. I discovered the technical term for this is 'source lines of code', or SLOC. The Wikipedia defines this as:
"...a software metric used to measure the amount of code in a software program. SLOC is typically used to estimate the amount of effort that will be required to develop a program, as well as to estimate productivity or effort once the software is produced."
The SLOC form of measurement derived from the time when punch cards were the main form of programming. One punch card usually represented one line of code, according to the Wikipedia. But back to the present and recent past. Microsoft's SLOC history is recorded as:
|Year||Operating System||SLOC (Million)|
|1993||Windows NT 3.1||6|
|1994||Windows NT 3.5||10|
|1996||Windows NT 4.0||16|
So we can now add another row for '2006' and record '50 million' next to it (if the NY Times article that came up with that figure is accurate). But if we look at the above table, the 50 million line figure doesn't look too bad - because it's a fairly regular progression. From 1996 to 2000 the SLOC grew by 80% or so, then from 2000 to 2006 it grew by another 70-odd percent. I haven't done a line graph yet, but that sounds to me like a fairly regular growth curve for Microsoft's SLOC.
What's more, it seems Microsoft is a relative SLOC anorexic compared to some other Operating Systems. Check these stats out:
|Operating System||SLOC (Million)|
|Red Hat Linux 6.2||17|
|Red Hat Linux 7.1||30|
|Linux kernel 2.6.0||6.0|
Debian GNU/Linux had an estimated 213 Million source lines of code as of 2005! So despite Microsoft's big SLOC count getting it a lot of unfavorable publicity, even from its own employees, at least they don't have 200 million lines of code to plough through to ship Vista. Imagine the outcry if that was the case!