This question was asked during my Boot Camp presentation last fall in Boston, and over the past 35 years dozens of times people have asked, how big is VMS? That translates into "how many lines of code are in VMS"? I thought it was time to at least make a stab at pursuing some insight into the answer. I wrote some command procedures to count the number of source lines in .B32, .B64, .C, .MAR, .M64, and .S files. Not counted are blank lines and lines beginning with the standard comment characters and miscellaneous directives for the particular language. First, I needed a baseline definition of 'VMS'. Does it include layered products, networking, compilers, RTLs, debuggers, open source, etc.? Is it the code on a particular running system? Does it include command procedures? I said 'no' to all of the above and as a starting point chose 15 facilities which are representative of identifiable components of the system: ACPI , AUDSRV, CLUSTER, DCL, DRIVER, F11X, JOBCTL, LAN, PCSI, RMS, SCSI, SDA, SHADOWING, SYS, XFC. I chose the following releases for comparison: V6.2: May / 1995 - port to Alpha V7.2: Feb / 1999 - kernel threads, 64-bit APIs, Galaxy, and more V8.2: Feb / 2005 - port to Itanium V9.2-3: Dec / 2024 - port to x86 The LINES.COM procedure, which invokes a set of nested procedures, fetches all of the source files with the extensions mentioned above, in the SCSI facility that are in the release stream V8.2, gets the line counts, and produces the text file below. This was done for each of the 15 facilities in each of the four release streams. MTMERU-V8.4-2L2$ @lines scsi "V8.2" V82 MTMERU-V8.4-2L2$ type [.scsi]total-line-counts-v82.txt WORK10:[GRANT.LOC.SCSI.BLISS]TOTALS.TXT;1 Total source files = 2 Total source lines = 7770 WORK10:[GRANT.LOC.SCSI.C]TOTALS.TXT;1 Total source files = 64 Total source lines = 119609 WORK10:[GRANT.LOC.SCSI.M64]TOTALS.TXT;1 Total source files = 1 Total source lines = 885 WORK10:[GRANT.LOC.SCSI.MAR]TOTALS.TXT;1 Total source files = 34 Tota...
First seen: 2025-04-03 21:58
Last seen: 2025-04-04 11:00