Skip to main content

Choice of Languages

  • Chapter
  • First Online:
Software Systems for Astronomy

Part of the book series: SpringerBriefs in Astronomy ((BRIEFSASTRON))

  • 1146 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Extensible, scalable, maintainable, understandable, reusable, etc.

  2. 2.

    The debate between IDL and Python is, in some ways, a microcosm of the larger debate between OpenSource and proprietary software.

  3. 3.

    Slower run-time execution speed and slower development time.

  4. 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. 5.

    No, not the “computer graphics imaging” CGI that dominates Hollywood blockbusters; this is the “Common Gateway Interface” CGI.

  6. 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. 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

Authors

Corresponding author

Correspondence to Albert R. Conrad .

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics