Abstract
Having in the previous chapter provided a taste of software applications required by astronomers (and, that as a software professional working in the field of astronomy, you will be called on to write), we now shift gears. Thus far most of our implementation examples have been given using pseudo-code. In the following chapters most of the code samples provided (or requested in the exercises) will be written in one of the languages currently in popular use at professional observatories. So we take this opportunity to review the menu of languages you have to chose from, i.e., those languages that are today commonly used in astronomy.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Extensible, scalable, maintainable, understandable, reusable, etc.
- 2.
The debate between IDL and Python is, in some ways, a microcosm of the larger debate between OpenSource and proprietary software.
- 3.
Slower run-time execution speed and slower development time.
- 4.
PHP+msql, combined with the popular OpenSource/freeware solutions for operating system and web servers, Linux and Apache, is so popular it has its own actonmym: “LAMP” = Linux + Apache + msql + PHP.
- 5.
No, not the “computer graphics imaging” CGI that dominates Hollywood blockbusters; this is the “Common Gateway Interface” CGI.
- 6.
Regarding CLI implementation, we take this opportunity to state the obvious: The top-level constructs of a scripting language (conditionals, loops, procedure calls, etc) should never be re-implemented from first principles (e.g., in a command interpreter written in C or C++). These mechanisms are well-debugged and understood in csh, bash, and sh, and should be re-used. Moreover the power of standardized I/O (e.g., unix pipes), which allow elements of a CLI to be combined with one another and useful unix tools like grep and sed, can only be utilized if the CLI for a software system for astronomy is implemented honoring these same conventions. Similarly, a closed command interpreter with no, or only an awkward, method for accessing unix tools, like IRAF or IDL, is also discouraged for use as the top level command line interface.
- 7.
Or, better, issues an alarm that will log, post an alert on the console, and/or send email via logger. Still better: Use an open-source monitoring tool like Zabbix.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2014 Albert R. Conrad
About this chapter
Cite this chapter
Conrad, A.R. (2014). Choice of Languages. In: Software Systems for Astronomy. SpringerBriefs in Astronomy. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-7058-8_3
Download citation
DOI: https://doi.org/10.1007/978-1-4614-7058-8_3
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-7057-1
Online ISBN: 978-1-4614-7058-8
eBook Packages: Physics and AstronomyPhysics and Astronomy (R0)