Toward a more powerful use of the Computer--scripting languages
(C) Fernando Caracena 7 May 2012
I liked the idea of programming through a command line interface, which some interpreted languages like basic and forth were good at. In the early days of personal computing, interpreted languages were too slow for most people in doing such operations as animation; so some compiled code was needed. So programmers did a mixed mode operation: run the main interactive part of the code, where speed did not matter, in the interpreted language, and the repetitive, number-crunching parts in machine code that was compiled or assembled.
A better approach to the writing research-oriented code by scientists is through a scripting language, which operates a run-time environment that allows one to enter a line, or several lines, of instruction into the command line and get an instant result, update of computational state, or an error message. Our laboratory in Boulder had a site-license for just such a scripting language, IDL (Interactive Data Language), which was developed in Boulder by a local entrepreneur. Using IDL, I found that I could hack a solution to a numerical problem at a natural walking pace, but faster than I could develop at a more frantic pace by using the normal development cycle of: writing source code, compiling, and debugging and running. What made the language ideal for my purposes it that it had straight-forward graphics commands for visualization of results, and a global data base for drawing background maps on various projections. Other scripting languages, such as Java, Perl and Ruby, were developed for other areas. They were powerful and elegant, but I did not find them as useful for scientific work as IDL.The disadvantage of IDL is that it has become very expensive.
More recently, some competitive, scientific languages have been developed, such as, Python and GDL (Gnu Data Language), which are open source and free. However, for scientists working on earth applications these newer languages need to be connected with geographical databases to compete with IDL.