Within the field of software development, we are prone to gazing upon the future – new libraries, new tools. But from where did we come? The philosophical foundation of the field is largely absent from the contemporary zeitgeist, but our work is deeply rooted in the philosophical traditions of not only Logic, but Ontology, Identity, Ethics and so on.
Daily, the programmer struggles with not only their implementation of logic but the ontological and identity questions of classifying and organizing their reality into a logical program. What is a User? What are its properties? What actions can be taken on it? “Oh the mundanity!” – cries the programmer. But in-deed, as we will explore here – you are doing God’s work!
Because the work of programmers is not too dissimilar from that of philosophers throughout history, we can look to them for guidance on the larger questions of our own tradition. In this piece, we will focus mainly on the ancient Greeks and their metaphysical works. Guided by their knowledge, we can better incorporate Reason and Logic into our programs and strive to escape Plato’s Cave (https://en.wikipedia.org/wiki/Allegory_of_the_cave). Furthermore, because the results of our work is our reason manifested into reality, we must suffer under the greater burden of responsibility to aim towards the divine Reason.
[T]he spermatikos logos in each man provides a common, non-confessional basis in each man, whether as a natural or supernatural gift from God (or both), by which he is called to participate in God’s Reason or [λόγος], from which he obtains a dignity over the brute creation, and out of which he discovers and obtains normative judgments of right and wrong
The English word logic is rooted in the Ancient Greek λόγος (Logos) – meaning “word, discourse or reason”. λόγος is related to the Ancient Greek λέγω (légō) – meaning “I say”, a cognate with the Latin legus or “law”. Going even further back, λόγος derives from the PIE root *leǵ- which can have the meanings “I put in order, arrange, gather, I choose, count, reckon, I say, speak”. (https://en.wikipedia.org/wiki/Logos)
The concept of the λόγος has been studied and applied philosophically throughout history – going back to Heraclitus around 500 BC. Heraclitus described the λόγος as the common Reason of the world and urged people to strive to know and follow it. “For this reason it is necessary to follow what is common. But although the λόγος is common, most people live as if they had their own private understanding.” (Diels–Kranz, 22B2)
With Aristotelian, Platonic and early Stoic thought, the λόγος as universal and objective Reason and Logic was further considered and defined. λόγος was seen by the Stoics as an active, material phenomenon driving nature and animating the universe. The λόγος σπερματικός (“logos spermatikos”) was, according to the Stoics, the principle, generative Reason acting in inanimate matter in the universe.
Plutarch, a Platonist, wrote that the λόγος was the “go-between” between God and humanity. The Stoics believed that humans each possess a part of the divine λόγος. The λόγος was also a fundamental philosophical foundation for early Christian thought (see John 1:1-3).
The λόγος is impossible to concisely summarize. But for the purpose of this piece, we can consider it the metaphysical (real but immaterial) universal Reason; an infinite source of Logic and Truth into which humans tap when they reason about the world.
Imitation of the Divine
In so far as the spirit is also a kind of ‘window on eternity’… it conveys to the soul a certain influx divinus… and the knowledge of a higher system of the world
(Jung, Carl. Mysterium Coniunctionis)
What is “imitation of the divine”? One could certainly begin by considering what the alternative would be.
A historical current has existed in the philosophical tradition of humanity’s opportunity and responsibility to turn to and harness the divine λόγος in their daily waking life. With language and thought we reason about the material and immaterial. As Rayside and Campbell declared in their defense of traditional logic in the field of Computer Science – “But if what is real and unchanging (the intelligible structure in things) is the measure of what we think about it (concept) and speak (word) about it, then it too is a work of reason: not our reason, for our reason is the measured, but of Reason.” (Rayside, D, and G Campbell. Aristotle and Object-Oriented Programming: Why Modern Students Need Traditional Logic. https://dl.acm.org/doi/pdf/10.1145/331795.331862.)
Plato, in his theory of the tripartite soul, understood that the ideal human would not suffer passions (θυμοειδές, literally “anger-kind”) or desires (ἐπιθυμητικόν) but be led by the λόγος innate in the soul (λογιστικόν). When human reasoning is concordant with Reason, for a moment, Man transcends material reality and is assimilated with the divine (the λόγος).
“Hence, so many of the great thinkers who have gone before us posited that the natural way in which the human mind gets to God is in a mediated way — via things themselves, which express God to the extent that they can.” (Rayside, Campbell) God here is the representative of the λόγος – humanity can achieve transcendental knowledge by consideration (in the deepest sense of the word) of the things around them.
The Programmer Assimilated
It is simply foolish to pretend that human reason is not concerned with meaning, or that programming is not an application of human reason
The programmer must begin by defining things – material or conceptual. “We are unable to reason or communicate effectively if we do not first make the effort to know what each thing is.” (Rayside, Campbell) By considering the ontological questions of the things in our world, in order to represent them accurately (and therefore ethically) in our programs, the programmer enters into the philosophical praxis. Next, the programmer adds layers of identity and logic on top of their ontological discovery, continuing in the praxis.
But the programmer takes it a step further – the outcome of their investigation is not only their immaterial thought but, in executing the program, the manifestation of their philosophical endeavor into material reality. The program choreographs trillions of elementary charges through a crystalline maze, harnessing the virtually infinite charge of the Earth, incinerating the remains of starlight-fueled ancient beings in order to realize the reasoning of its programmer. Here the affair enters into the realm of Ethics.
“The programmer is attempting to solve a practical problem by instructing a computer to act in a particular fashion. This requires moving from the indicative to the imperative: from can or may to should. For a philosopher in the tradition, this move from the indicative to the imperative is the domain of moral science.” (Rayside, Campbell) Any actions taken by the program are the direct ethical responsibility of the programmer.
Furthermore, the programmer, as the source of reason and will driving a program, manifesting it into existence, becomes in that instant the λόγος σπερματικός (“logos spermatikos”) incarnate. The programmer’s reason, tapped into the divine Reason (λόγος), is generated into existence in the Universe and commands reasonable actions of inanimate matter.
What sort of freak then is man? How novel, how monstrous, how chaotic, how paradoxical, how prodigious! Judge of all things, feeble earthworm, repository of truth, sink of doubt and error, glory and refuse of the universe!
(Pascal, B. (1670). Pensées.)
Pascal would be even more perplexed by the paradox of the programmer – in search of Logic and simultaneously materializing their logic; their “repository of truth” a hand emerging from the dirt reaching towards the λόγος.
Programmers are equals among the feeble earthworms crawling out of Plato’s cave. We enjoy no extraordinary access to Reason and yet bear a greater responsibility as commanders of this technical revolution in which we find ourselves. While the Greeks had an understanding of the weight of their work, their impact was restricted to words. The programmer’s work is a true hypostatization or materialization of the programmer’s reason. As programmers – as beings of Reason at the terminal of this grand system – we should most assuredly concern ourselves with embracing and modeling ourselves and our work after the divine and eternal λόγος.
Loved the article? Hated it? Didn’t even read it?
We’d love to hear from you.