int main(int argc, char *argv[])
Why are we setting out for a theology of computing, and how will we know if we're on the right track?
Computing has become an indispensable part of the habits, lives, and societies we are building and maintaining today. But are we working in the City of God, or the City of Man? How does computing fit into Christ’s call for us, and how should we reshape computing in response? We started this project, Full Stack Theology, to bring together the Church, as students of computer science and disciples of Christ, to work out a compelling theology of computing.
Naturally, the first question that needs to be answered is why we would be seeking to construct a theology of computing. On the face of it, it is strange that the study of phones, laptops, and supercomputers has anything to do with the study of the eternal, immaterial God. To such a question we reply with the Scholastics: theology is the queen of the sciences.1 This stems from the fact that everything which is not God finds its uttermost source in Him and is returning to Him, for in Him we live and move and have our being.2 And thus to describe anything without reference to God is, in the end, to tell only a fragment of the story – and not a particularly interesting one.
In the last several decades the science called computing has become central to human society. That science includes the study of how we can make minerals to participate in human logic3, the very structure of that logic, and the implications of that technology on our culture, economies, governments, and our self understanding. Like all domains of study, they will–if not prevented–point the student back and back until he finds himself contemplating things of eternal importance.
We as programmers have experienced this. As we were learning, we found great wonder in how electrical switches, operated without motion, can be assembled so as to simulate the structure of human logic: true, false, and, or, not. “A miracle!” we could nearly exclaim. We studied the mathematics of computer science and were tempted to wonder how a proof could come to be something beautiful. We each learned with wonder and awe how essential this technology is and could be. How the organization of information, navigation, friendships, commerce,music, and art would soon fundamentally depend on our creation. Yet the great heights of power came with a dizzying vertigo: what was it all for? When this science and all the questions she raises are disconnected from their queen, they lack any sense of ultimate meaning. We want to exult in the miracle that minerals are so wonderfully made. We want to delight in the beauty of mathematics. We want to understand and reorder our machines to the glory of our Creator in whose image we are made.
Such is a theology of computing: to borrow a technical term, it is full-stack. It is illustrated in the mundane aspects of computing - its materials, its turns of phrase, its associated minor habits - and it is still able to relate upwards upwards towards our calling. This unity is a sign of the One who is the Way, the Truth, and the Life. A good theology of computing does not consist of arcane, surface-level similarities between what is obviously disparate, like the (admittedly rather amusing) JavaScript Trinity.4 At the risk of explaining the joke, comparing the Trinity to the JavaScript type system provides no insight into the gravitas of the Trinity as God revealing himself to be Love.5 A good theology leads one to almost trip over the mysteries of faith like creation, the Incarnation, and salvation: consider that the way we elevate the material world into our own rationality by making computing devices that help us reason is analogous to the way Christ has lifted our nature into a fuller, deeper relationship with God. A good theology also leads us into communion with God and neighbor: an understanding of code as a kind of lawgiving encourages us to study the virtues relevant to lawgiving, like prudence, to better serve those within our care.
We believe the study of computing and its related virtues and vices will teach us to know, love, and serve God and neighbor in this life and be with Him (and them!) in the next. Join us over email by subscribing, join the discussion on our Discord server with this link, or connect friends, family, and co-workers by sharing this piece digitally or by word of mouth.
Blessed Carlo Acutis, pray for us!
Aquinas, Summa Theologiae, I.Q1.A5. https://aquinas.cc/la/en/~ST.I.Q1.A5
Acts 17:28
Tweet by @daisyowl. 7:03 PM · Mar 14, 2017. https://twitter.com/daisyowl/status/841802094361235456?lang=en
Full text: if you ever code something that "feels like a hack but it works," just remember that a CPU is literally a rock that we tricked into thinking
JavascriptWTF (https://javascriptwtf.com/wtf/javascript-holy-trinity). The “JavaScript Trinity” is an image with the Scutum Fidei on the left (Father is God, Son is God, Holy Spirit is God; Father is not Son, Son is not Holy Spirit, Holy Spirit is not Father). On the right side, the same form is reproduced, except there is the equality function (==) for “is”, and four falsy values.
Refer to the Catechism of the Catholic Church paragraph 257. Or the entirety of Deus Caritas Est by Benedict XVI. Or, like, the Bible. Or walk into a church and look for this Dude on a big wooden thing up front.