Abstract
The software domain is an environment that has produced a wide variety of exaptation-based innovations through the repurposing of data, algorithms, and visualizations to problems other than the ones they were originally developed to solve. Unfortunately these innovations have largely been the result of serendipity. Because modern software development is fundamentally aligned to the same principles of evolution that lead to biological innovation—modularity, fluidity, community, diversity, translatability, and combinatorial flexibility—it is an ideal environment in which to leverage our understanding of exaptation to actively facilitate innovations instead of leaving them to chance. Achieving this, however, requires a departure from traditional programming paradigms and the implementation of development systems specifically oriented toward innovation. Preliminary experiments show that when explicit innovation-oriented programming systems and practices are leveraged, innovations occur, suggesting opportunities to leverage the advantages of the virtual domain for the production of both repeatable and scaleable radical innovation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The natural domain is simply an analogical domain to the cognitive domain, so our ability to exert control in this domain does not help us facilitate mental exaptation unless the organisms we are exerting control over are somehow analogous to the problem space we are trying to innovate in. Interestingly, if we did encode our problem organically, this would be a form of biological computing and it could be argued that it was, therefore, equivalent to software development using chemistry instead of code. As for the cognitive domain, there are some ways to exert control, through methods like priming and through processes like brainstorming, but since cognition remains a mostly black-box process it is difficult to assess the effects of these interventions or tailor them to the thought process of the individual. The physical domain offers many opportunities to exert control, but these are frequently expensive from a financial, time, and/or process overhead perspective.
- 2.
Programs can be written to be self-modifying or use non-deterministic algorithms that may return different results based on the conditions in which they are run. For example, the object code of a program might generate random numbers based on the time on the clock of the computer it is running on. In these cases, the reproduction of exactly the same object code could exhibit high variation when run. However, I will argue that these variations can be thought of as analogous to source code modifications performed at run-time by the computer instead of at design-time by the programmer. For the purposes of this chapter, I will choose to consider just the simpler case of human-programmed source code.
- 3.
There is much interesting research about the neurology of insight, in which researchers use brain imaging techniques including EEG and fMRI to understand what roles different parts of the brain play during problem-solving, and how brain activity differs when solving “insight” problems versus brute-force problem solving (Kounios and Beeman 2014; Bowden et al. 2005; Kounios et al. 2008; Luo et al. 2004).
- 4.
While Wattenburg recognized, and even demonstrated, the possibility of applying the arc diagram technique to gene sequences, he didn’t view biology as the best use-case. He wrote in the summary of his paper explaining the arc diagram, “We have shown examples of their potential use in domains ranging from text to DNA, although analysis of musical form is perhaps the most promising application.” (Wattenberg 2002).
References
Anderson PW (1972) More is different. Science 177(4047):393–396
Bays C (2010) Introduction to cellular automata and Conway’s Game of Life Bloom N, Jones C, Reenen JV, Webb M (2017) Are ideas getting harder to find?
Borkin M (2011) Astronomical Medicine TEDx Boston. https://www.youtube.com/watch?v=kU7veyGGps4
Borkin M, Ridge N, Goodman A, Halle M (2005) Demonstration of the applicability of 3D slicer to astronomical data using 13CO and C18O observations of IC 348 Junior Thesis. Harvard University, Cambridge
Borkin M, Goodman A, Halle M, Alan D (2007) Application of medical imaging software to 3D visualization of astronomical data. ASP Conference Series 376
Bowden EM, Jung-Beeman M, Fleck J, Kounios J (2005) New approaches to demystifying insight. Trends Cogn Sci 9(7):322–328
Clark A (2011) Supersizing the mind: embodiment, action, and cognitive extension. OUP USA
Clark A, Chalmers D (1998) The extended mind. Analysis 58(1):7–19. Feynman R, Weiner C (1973) Oral history interview with Richard Phillips
Feynman, Session V. https://www.aip.org/history-programs/nielsbohr-library/oral-histories/5020-5
FLOPS (2020) Cost of computing. https://en.wikipedia.org/wiki/FLOPS
Gering DT, Nabavi A, Kikinis R, Grimson WEL, Hata N, Everett P, Jolesz F, Wells WM (1999) An integrated visualization system for surgical planning and guidance using image fusion and interventional imaging. Medical image computing and computer-assisted intervention—MICCAI’99 pp 809–819
Gildenhuys P (2019) Natural selection
Goodman A (2004) Visualization challenges in astrophysics, Powerpoint presentation
Gowlett JAJ (2016) The discovery of fire by humans: a long and convoluted process. Philos Trans R Soc Lond B Biol Sci 371(1696)
Harper R (2017) What, if anything, is a programming paradigm?
James SR, Dennell RW, Gilbert AS, Lewis HT, Gowlett JAJ, Lynch TF, McGrew WC, Peters CR, Pope GG, Stahl AB, James SR (1989) Hominid use of fire in the lower and middle pleistocene: a review of the evidence [and Comments and Replies]. Curr Anthropol 30(1):1–26
Johnson C, Moorhead R, Munzner T, Pfister H, Rheingans P, Yoo TS (2006) NIH-NSF visualization research challenges final report. In NIH-NSF visualization research challenges, IEEE Computer Society
Johnston WM, Hanna JRP, Millar RJ (2004) Advances in dataflow programming languages. No 1:1–34
Johnston J (2015) Personal conversation. Why the shape of the sticker on the air conditioner he was moving would not “make an awesome Tetris piece”: modular isn’t the same as combinatorial.
Kay A (2003) Meaning of “Object-Oriented Programming” according to Dr. Alan Kay. http://www.purl.org/stefan_ram/pub/doc_kay_oop_en
Kay A, Ingalls D, Ohshima Y, Piumarta I, Raab A (2006) Steps toward the reinvention of programming—NSF proposal
King D (2020) Combinatorial application framework for interoperability and repurposing of code components
Klein T (2020) Puzzle montage art. https://puzzlemontage.crevado.com/puzzle-montage-art-by-tim-klein
Kounios J, Beeman M (2014) The cognitive neuroscience of insight. Annu Rev Psychol 65:71–93
Kounios J, Fleck JI, Green DL, Payne L, Stevenson JL, Bowden EM, Jung- Beeman M (2008) The origins of insight in resting-state brain activity. Neuropsychologia 46(1):281–291
Lakoff G, Johnson M (2003) Metaphors we live by. University of Chicago Press
Éric Lévénez (2019) Computer languages timeline. https://www.levenez.com/lang/
Luo J, Niki K, Phillips S (2004) The function of the anterior cingulate cortex (ACC) in the insightful solving of puzzles: the ACC Is activated less when the structure of the puzzle is known. J Psychol Chinese Societies 5
Melo D, Porto A, Cheverud JM, Marroig G (2016) Modularity: genes, development and evolution. Annu Rev Ecol Evol Syst 47:463–486
Museum CH (2020) Timeline of computer history. https://www.computerhistory.org/timeline/1946/
Naur P, Randell B (1969) Software engineering: report on a conference sponsored by the NATO science committee
Olson-Manning CF, Wagner MR, Mitchell-Olds T (2012) Adaptive evolution: evaluating empirical support for theoretical predictions. Nat Rev Genet 13(12):867–877
Pigott D (2015) Historical encyclopaedia of programming languages. http://hopl.info/
Popova M (2020) How Einstein Thought: Why “Combinatory Play” Is the Secret of Genius. https://www.brainpickings.org/2013/08/14/how-einstein-thought-combinatorial-creativity/
Raff RA (1996) The shape of life: genes, development, and the evolution of animal form. University of Chicago Press
Rigaux P (2020) Diagram and history of programming languages. http://rigaux.org/language-study/diagram.html
Rogers K (2019) Horizontal gene transfer. https://www.britannica.com/science/horizontal-gene-transfer
Roser M (2020) Global economic inequality. Our World in Data
Satell G (2016) It’s time to bury the idea of the lone genius innovator. Harv Bus Rev
Seo HK (2008) Brains shed light on the stars. Harvard crimson Shenk JW (2014) The End of ’Genius’. The New York Times
Spell R, Brady R, Dierich F (2003) BARD: a visualization tool for biological sequence analysis
Steinberg J (2013) Hello, World!: the history of programming. CreateSpace Independent Publishing Platform
Viégas F, Wattenberg M (2011) Fernanda Viégas & Martin Wattenberg: Keynote on Design. https://vimeo.com/26208254
VIZBI (2011) VIZBI 2011 conference program. https://vizbi.org/2011/Program/
Vullum E (2020) Programming languages timeline. http://www.vullum.io/timeline/programming-languages/
Waller I (1965) Physics nobel prize presentation speech
Wattenberg M (2002) Arc diagrams: visualizing structure in strings. In {IEEE} Symposium on information visualization, INFOVIS 2002, pp 110–116
Weisberger M (2016) The Bizarre History of ’Tetris’. https://www.livescience.com/56481-strange-history-of-tetris.html
Whitley D (1993) A genetic algorithm tutorial
Woese C (1998) The universal ancestor. Proc Natl Acad Sci U S A 95(12):6854–6859
Woese CR (2002) On the Evolution of Cells. Proc Natl Acad Sci U S A 99(13):8742–8747
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
King, D. (2020). Innovation-Oriented Programming: Software Development as a Medium for Exaptation and Implications for the Active Facilitation of Innovation Within Virtual Environments. In: La Porta, C., Zapperi, S., Pilotti, L. (eds) Understanding Innovation Through Exaptation. The Frontiers Collection. Springer, Cham. https://doi.org/10.1007/978-3-030-45784-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-030-45784-6_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-45783-9
Online ISBN: 978-3-030-45784-6
eBook Packages: Physics and AstronomyPhysics and Astronomy (R0)