I recently ran into an academic paper discussing the growth of Linux. The author wasn't talking about market growth, but instead about the size of the actual source code that comprises Linux. Along the way he published some interesting numbers about source code size (source code is the human readable language that gets "compiled" to make a program. If you are writing a SBasic program, the program as you see it on the screen is "source code"). He published the number of lines of code for the following:
NASA Space Shuttle flight control 420,000 (shuttle) + 1.4 million (ground)
Sun Solaris (1998-2000) 7-8 million
Microsoft Windows 3.1 (1992) 3 million
Microsoft Windows 95 15 million
Microsoft Windows 98 18 million
Microsoft Windows NT (1992) 4 million
Microsoft Windows NT 5.0 (as of 1998) 20 million
Microsoft Windows 2000 (2001) 35 million
Microsoft Windows XP (2002) 40 million
Red Hat Linux 6.2 (2000) 17 million
Red Hat Linux 7.1 (2001) 30+ million
He also provided the number of lines of source code for some applications and utilities:
netscape/mozilla 2,065,224
mysql (the SQL database server) 402,799
By his estimates, Red Hat 7.1 used up about 8,000 man years to produce (using COCOMO1) - that is 3,750 lines of code per man-year, and would've cost about $1,000,000,000 to produce had it been a commercial product.
This got me interested in compiling some info about Sesame and its source code.
I took a look only at the code that was written by Lanticans. I didn't include any of the supporting libraries, etc... I also only counted those portions of the source code that went directly into Sesame and SDesigner. So, I didn't count other utilities, drivers, help files, etc...
Sesame is:
239,289 lines of code
Printed, this would amount to 4785 pages. That is 9 reams of paper. Stacked it would be 19.12 inches tall. If printed like a novel (where every line extends all the way across the page) it would be a book 1548 pages long.
For the programmers among you, Sesame is made of:
199 files
23,758 declared variables
274 C++ classes
17,369 constants
13,991 literal strings
4,287 functions, subroutines, and methods
3,034 loops of various kinds
24,500 conditionals ("if" statements)
Sesame implements:
258 Engine commands (commands sent from the client to the server)
345 SBasic keywords
193 "Tree Commands"