Large (100,000 lines of code) programs



John Rupley asked to hear from someone involved in large fortran programs.
 I have been involved in several, e.g., our SECS synthesis planning program
 that involved more than 60 person-years of programming, MACCS, REACCS,
 are other examples.  The SECS program has its own virtual memory system,
 dynamically allocated arrays, lists, sets, a compiler and interpreter,
 i.e., many complex data structures for AI applications.  Now we are
 writing much code in C, mainly because of ease of interface with X-windows.
 I have found that the fortran code is more readable and much easier to
 debug.  C provides automatically many features we had to program in
 Fortran, but we built into our Fortran implementations checks to catch
 wild pointers.  Once we made an interface layer in C to catch wild pointers,
 debugging became easy, and the code looked more like our Fortran code
 with function references rather than direct pointer access.  Readability
 is a key for long term projects.  I worked on TACOS-II in 1965 and the
 program is still being used today, it simulated the Patriot missles we
 saw in action not long ago.  Thats pretty good longevity and transportability.
 C is like a double-edged razor blade, it takes skill to avoid hurting
 yourself!