Listen to this story
In the high-stakes world of code deployment, Karthik Devaraj, a full-stack developer at MachineHack, spends countless hours and days crafting the perfect program. But when the moment of truth arrives, he shuts his eyes and crosses his fingers as he sends his creation into the digital abyss.
Will the code compile flawlessly, or will it crumble under the weight of a single error? This iconic moment challenges the idea that programming is solely a game of reason and logic.
Meanwhile, his colleague Swathi S, a senior front-end developer at MachineHack, who trusts in the cold, calculated logic of the compiler, simply hits the “deploy” button. But even the most skilled coders are sometimes powerless against the mysteries of technology. One common phenomenon is the infamous ‘computer restart magic’, where a simple reboot fixes problems that eluded the most brilliant minds in the room. Some call it luck, others call it fate, but Swathi simply refers to it as magic.
Subscribe to our Newsletter
Join our editors every weekday evening as they steer you through the most significant news of the day, introduce you to fresh perspectives, and provide unexpected moments of joy
For several developers – like Swathi and Karthik – the choice of programming languages also becomes an issue of faith and experience, more than just technical capability. Though most of them select programming languages based on the use cases, a lot of times developers just put their trust in the language they are used to.
If we go back to the roots of programming and computers, we would be surprised how much of it is built on faith and belief, or even religion.
From ‘How does this work?’ to ‘I don’t care‘
The first thing that comes to mind is the obvious war between the different programming languages. Quite like the religious wars — with everyone claiming that their way is the right way — programmers are also divided over the usage of softwares, hardwares, and everything in between.
Many developers call themselves ‘Zen Buddhists’, following the Ten Rules of Zen Programmer. This probably stems from the experience or insanity of interacting with a machine, which can also be described as unforgiving and unfeeling. The code has to be right, and if it is not, you have to write it again.
Bringing the faith aspect in the loop, writing code, building models, and deploying them, requires developers to trust a lot of mechanisms that are already in place. The evolution of computers over the years can somehow be related to the evolution of religious doctrines that we have just begun to believe in. Millions of lines of code had to be written so that when the developers press a key now, the corresponding character can appear on the screen.
Citing the contribution of open-source communities, Ashly Justin, a backend developer, said that, “We still have to trust the process because thousands of incredibly smart developers, testers and other people from across the globe are pouring in their hard work, developing feature after feature, solving bugs one after another, ultimately giving shape to a stable end product. This wouldn’t be possible if everyone always started creating from scratch.”
The Code of God
A language which has gained mystical qualities is Lisp. Some developers call it ‘God’s Own Programming Language’. The war between developers for their favorite programming language stops as soon as the discussion about Lisp starts, as they all agree that it is on another level. This is often because programming in Lisp is an alien feeling unlike any other programming language, as described by developers.
Another interesting story dates back to 2005, with the J Operating system, which was renamed TempleOS in 2013. It is a biblical-themed OS that was designed to be touted as the Third Temple prophesied in the Bible. The developer, Terry Davis, built the OS using his self-designed programming language, HolyC, which was a middle ground between C and C++. Davis claimed that the language was a ‘revelation of God’ when he was going through his manic episodes.
Moving onto another Eastern philosophical understanding of programming – the book, The Tao Of Programming by Geoffrey James – gives snippets about the act of programming and how Tao gave birth to machine language. Here is a fascinating quote from the book:
“The Tao gave birth to machine language. Machine language gave birth to the assembler.
The assembler gave birth to the compiler. Now there are ten thousand languages.
Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.”
Now only God knows the code
There has always been some faith and humanity left in programming, as many may not like to believe. With the advent of AI tools like ChatGPT that can generate codes for you, trusting the code is becoming harder for developers. As more and more codes are going to be generated by AI, these may end up becoming incomprehensible for developers. Then the intention of developing tools to make it easier for programmers would turn on its head, making them spend more time debugging it.
Though the code generated by AI is also some derivative of the code written by humans, the mystery behind it brings up the question of faith again in developers. Even then, developers are finding it hard to imagine going back to “manual coding” again. Andrej Karpathy said in a tweet that though he is still learning to use tools like GitHub Copilot, he is already writing around 80% of his code with 80% accuracy. This is also letting developers without the knowledge of coding to just prompt and edit the code.