When I was a developer, in addition to the concepts of version control and frequent archiving, one thing my evil commercially oriented supervisors insisted on were "code reviews". This is the hated point where your manager and/or some other experienced developer goes through your code and critiques it in terms of clarity and quality.I agree with his salient observations regarding the methods and languages used:
As a general rule code reviews teach you a lot. And in places where you have a choice of potential language one of the big questions in a code review is often "why develop this in [this particular computer language or idiom]?"
The first thing I note is that a lot of the stuff is written in Fortran (of different vintages), and much of the rest in IDL. When you look at the code you see that a lot of it is not doing complex calculations but rather is doing text processing. Neither fortran nor IDL are the tools I would use for text processing - perl, awk, sed (all traditional unix tools available on the platforms the code runs on as far as I can tell) are all better at this. Indeed awk is used in a few spots making one wonder why it is not used elsewhere.Even though I have a technical background and love science, I abhor Fortran because it's - well - it's so unstructured and undisciplined. When one looks at Fortran one conjures up images of some coffee-soaked, sleep-deprived scientific wretch, hair disheveled, throwing more and more lines of code into an algorithm to bury previous mistakes and just make the results come out correctly. And, for the record, IDL is:
"..the ideal, timesaving solution for data analysis, data visualization, and software application development. From “quick-look” analysis and display to commercial programming projects, IDL combines the technology and tools you need with a modern, extensible environment."I do NOT know IDL and cannot quibble with this claim. But the site is interesting and promising. It is a fairly good deconstruciton of the code for folks who have some experience with coding and Unix. Again, the usual caveat exists, boys and girls: do not try this at home. The stunts here were done on a closed course by paid professionals..
..or, in the case of the East Anglia CRU programmers, rank amateurs.