Elegance in Software
Elegance in software is widely recognized by professionals, but not well articulated. Program elegance rests on not only efficiency, as widely acknowledged, but other features that reflect the notion in other creative endeavors where artifacts are built under constraints, such as architecture. We suggest a compendium of minimality, accomplishment, modesty, and revelation, discussion of which reveals some subtleties. Programming experience enhances appreciation of these features, especially the last. Together, they can viewed as a program’s degree of “fit” to the task, raising other questions in common with any problem of the philosophy of aesthetics.
KeywordsElegant software Aesthetics of programs Structural elegance
- Beardsley, M.C. 1958. Aesthetics: Problems in the philosophy of criticism. New York: Harcourt, Brace, and Company.Google Scholar
- Chaitin, G. 2005. Epistemology as information theory: From Leibniz to ω. Collapse 1: 27–51. Alan Turing Lecture on Computing and Philosophy, E-CAP’05. Also available at: https://www.cs.auckland.ac.nz/~chaitin/ecap.html
- De Botton, A. 2006. The architecture of happiness. New York: Pantheon Books.Google Scholar
- Eiffel, G. 1887. Interview in Le Temps of 14 February 1887. http://www.toureiffel.paris/en/everything-about-the-tower/themed-files/71.html. Accessed 17 Dec 2016.Google Scholar
- Gelernter, D. 1998. Machine beauty: Elegance and the heart of technology. Cambridge, Massachusetts: Perseus Books.Google Scholar
- Henderson, K. 2013. The 50 most iconic designs of everyday objects. http://www.complex.com/style/2013/02/the-50-most-iconic-designs-of-everyday-objects/model-302-telephone Google Scholar
- Hill, R.K. 2016b. What makes a program elegant? http://cacm.acm.org/blogs/blog-cacm/208547-what-makes-a-program-elegant/fulltext Google Scholar
- Kernighan, B., and P.J. Plauger. 1978. The elements of programming style. New York: McGraw-Hill-Book Company.Google Scholar
- Knuth, D.E. 1992. Literate programming. Stanford: Stanford University Center for the Study of Language and Information.Google Scholar
- Langer, S.K. 1957. Problems of art. New York: Charles Scribner’s Sons.Google Scholar
- Mitchell, W.J. 2009. Building beautifully. In Beautiful architecture. Sebastopol: O’Reilly Media, Inc. p Appendix A, afterword in Spinellis and Gousios.Google Scholar
- Schummer, J., B. MacLennan, and N. Taylor. 2009. Aesthetic values in technology and engineering design. In Philosophy of technology and engineering sciences, ed. A. Meijers. Amsterdam: North Holland.Google Scholar
- Spinellis, D., and G. Gousios, eds. 2009. Beautiful architecture. Sebastopol: O’Reilly Media, Inc.Google Scholar
- Various. 2016. Computer science: Why is recursion more elegant than iteration? https://www.quora.com/Computer-Science-Why-is-recursion-more-elegant-than-iteration. Accessed 15 Dec 2016.
- Watson-Smyth, K. 2010. The secret history of: Philippe Starck’s lemon squeezer. London: The Independent. 13 May 2010.Google Scholar
- Wikipedia. 2017. Mathematical beauty. https://en.wikipedia.org/wiki/Mathematical_beauty. Accessed 26 Apr 2017.