Issue No.02 - March/April (2010 vol.27)
Diomidis Spinellis , Athens University of Economics and Business
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2010.56
Railroad tracks offer guidance and support. There are various tools that can give our software the same handling. The main tool for guiding the code's direction is the language's type system. For values, the type system can help us by establishing a separate type for each distinct class; for code, interfaces and abstract classes ensure that we won't forget some crucial methods when we add functionality through a new class. With domain-specific languages or even suitably initialized data structures we can efficiently express exactly what the designer intended and nothing more. At a higher level, architectures that enforce a particular open-ended but well-defined interface will also guide a software's progress. Finally, the most flexible track-laying approach is a tool-supported software development process.
type checking, domain-specific languages, architecture, software process, railroad track metaphor
Diomidis Spinellis, "Software Tracks", IEEE Software, vol.27, no. 2, pp. 10-11, March/April 2010, doi:10.1109/MS.2010.56