From chemistry-request |-at-| ccl.net Thu Dec 12 21:32:20 1991 Date: Thu, 12 Dec 1991 18:17:56 PST From: "W. Todd Wipke" To: chemistry: at :ccl.net Subject: Large (100,000 lines of code) programs Status: R 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!