[1] Gene M. Amdahl. Validity of the single processor approach to achieving large scale computing capabilities. In Proceedings of the April 18-20, 1967, spring joint computer conference, AFIPS ‘67 (Spring), pages 483–485, New York, NY, USA, 1967. ACM.
[2] Josh Barnes and Piet Hut. A hierarchical O(N log N) force-calculation algorithm. Nature, 324:446–449, December 1986.
[3] Rudolf Bayer and Edward M. McCreight. Organization and maintenance of large ordered indices. Acta Inf., 1:173–189, 1972.
[4] Noam Chomsky. Three models for the description of language. IRE Transactions on Information Theory, 2:113–124, 1956. http://www.chomsky.info/articles/195609--.pdf – last visited 14th January 2009.
[5] Martin Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA, USA, 1999.
[6] Erich Gamma, Richard Helm, Ralph E. Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.
[7] Donald Knuth. Structured Programming with Go To Statements, pages 257–321. Yourdon Press, Upper Saddle River, NJ, USA, 1979.
[8] Michael P. Marder. Research Methods for Science. Cambridge University Press, New York, NY, USA, 1st edition, 2011.
[9] Martin Odersky, Lex Spoon, and Bill Venners. Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition. Artima Incorporation, USA, 2nd edition, 2011.
[10] Robert Sedgewick. Algorithms. Addison-Wesley, Reading, Mass, 1983.
[11] Herb Sutter. The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobbs Journal, 30(3):202–210, 2005.