Elegance in Software

  • Robin K. HillEmail author
Part of the Philosophical Studies Series book series (PSSP, volume 133)


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.


Elegant software Aesthetics of programs Structural elegance 


  1. Beardsley, M.C. 1958. Aesthetics: Problems in the philosophy of criticism. New York: Harcourt, Brace, and Company.Google Scholar
  2. Bentley, J. 1983. Programming pearls: Cracking the oyster. Communications of the ACM 26(8): 549–552. CrossRefGoogle Scholar
  3. Bentley, J., and D. Knuth. 1986. Programming pearls: Literate programming. Communications of the ACM 29(5): 384–369. CrossRefGoogle Scholar
  4. Berry, D.M. 2011. The philosophy of software: Code and mediation in the digital age. Basingstoke: Palgrave Macmillan.CrossRefGoogle Scholar
  5. Breitenbach, A. 2015. Beauty in proofs: Kant on aesthetics in mathematics. European Journal of Philosophy 23(4): 955–977.CrossRefGoogle Scholar
  6. 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:
  7. De Botton, A. 2006. The architecture of happiness. New York: Pantheon Books.Google Scholar
  8. Eiffel, G. 1887. Interview in Le Temps of 14 February 1887. Accessed 17 Dec 2016.Google Scholar
  9. Eliot, G. 1859. Adam bede. London/Philadelphia: Lippincott.CrossRefGoogle Scholar
  10. Gelernter, D. 1998. Machine beauty: Elegance and the heart of technology. Cambridge, Massachusetts: Perseus Books.Google Scholar
  11. Hill, R.K. 2016a. What an algorithm is. Philosophy & Technology 29(1): 35–59.CrossRefGoogle Scholar
  12. Kernighan, B., and P.J. Plauger. 1978. The elements of programming style. New York: McGraw-Hill-Book Company.Google Scholar
  13. Knuth, D.E. 1992. Literate programming. Stanford: Stanford University Center for the Study of Language and Information.Google Scholar
  14. Langer, S.K. 1957. Problems of art. New York: Charles Scribner’s Sons.Google Scholar
  15. Mitchell, W.J. 2009. Building beautifully. In Beautiful architecture. Sebastopol: O’Reilly Media, Inc. p Appendix A, afterword in Spinellis and Gousios.Google Scholar
  16. Montano, U. 2014. Explaining beauty in mathematics: An aesthetic theory of mathematics. Cham: Springer International Publishing.CrossRefGoogle Scholar
  17. Oxford Dictionaries. 2017. Oxford living dictionary. Google Scholar
  18. Perrin, C. 2006. Itlog import: Elegance. Google Scholar
  19. 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
  20. Spinellis, D., and G. Gousios, eds. 2009. Beautiful architecture. Sebastopol: O’Reilly Media, Inc.Google Scholar
  21. Various. 2016. Computer science: Why is recursion more elegant than iteration? Accessed 15 Dec 2016.
  22. Walton, K.L. 1970. Categories of art. The Philosophical Review 79(3): 334–367.CrossRefGoogle Scholar
  23. Watson-Smyth, K. 2010. The secret history of: Philippe Starck’s lemon squeezer. London: The Independent. 13 May 2010.Google Scholar
  24. Wikipedia. 2017. Mathematical beauty. Accessed 26 Apr 2017.

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Department of PhilosophyUniversity of WyomingLaramieUSA

Personalised recommendations