TEMPLEOS: THE MEANING OF PROGRAMMING

Published: September 23rd, 2023

A cropped edit of the TempleOS logo.

TempleOS. It's an operating system that you either know about, or you don't. To give background, over the period of several years, Terry A. Davis developed an entire computing system on his own. From his own custom-built language and compiler for said language - HolyC, to a file system called RedSea, to a kernel, to a graphics library - both 2D and 3D, and so much more. The operating system itself is Ring-0 only, providing zero protection from anything, and by "anything", I mean anything. Of course, you can make malware for TempleOS and there would be zero stopgaps from it infecting and subsequently destroying a system - although the lack of networking would hinder such a thing, you can accidentally make the system completely crash. The system was described by Davis himself to be a "Souped-Up Commodore 64".

Focusing a bit more on Terry A. Davis, he was nothing short of a genius. With a master's degree in electrical engineering, and work under TicketMaster programming old VAX machines in Assembly - which for the uninitiated, meant that he had to talk in the proverbial language of a computer with near-zero translation to human language, Terry was set up for quite a decent life in the trade of computing. But tragically, this wasn't meant to be; 1996 brought with it a series of manic episodes for Davis. And with it, an eventual schizophrenia diagnosis. This culminated in what he described as a "revelation", wherein he was allegedly contacted by the Christian God and instructed to build the Third Temple in the form... of TempleOS. That's where a lot of the religious theming comes from, this alleged divinely-inspired origin of TempleOS.

The operating system itself is simple in appearance. It only displays a resolution of 640 x 480 pixels, in only 16 colours. Poultry by our standards, yes, but it was all Davis needed to craft an intricate system chock-full of things that are considered niceties by other OS standards. TempleOS, as stated before, comes pre-packaged with its very own language - HolyC. This is the only language that TempleOS uses, and by only, I mean only. Unlike GNU/Linux, where the terminal - or whichever you call it - uses the Shell language, commonly run through BASH, to run programs made in a schmorgousboard of different languages, TempleOS just uses HolyC - akin to Emacs and ELisp.

The TempleOS user menu.

Due to this single language, you use the Ed(); function to edit files, which are in it of themselves programs in their own right. Then you use #include to include these files, and run the functions within them just like programs. This makes the entire system as open as can be, permitting anyone willing to make in TempleOS the right and ease to make.

And this is where the philosophical standpoint comes in: TempleOS displays the true meaning of computing, the pleasure of programming: it puts the "Fun" back into "Function".

Computers are a tool, no different than a lathe. Their purpose is to do math and logical operations, in some way, shape, or form. TempleOS understands this and embraces this wholeheartedly. As long as you are willing to make it, you can make it in TempleOS with minimal overhead of time investment. An example of this is trying to draw a 2D diamond. To do this in C, you first need to choose your library - for example, SDL - to handle windows and drawing. Then you need to actually draw the line, and then handle a whole bunch of other stuff. In TempleOS, you only need to create a function, create a display alias or whichever it's called, and then use presumably GrLine - with repetition and the specific behavior of this function being determined by the user.

A small program I made in TempleOS that draws a diamond.

TempleOS understands this reality of a computer, as in the words of its creator, "Linux is a semi, Windows is a car, TempleOS is a motorcycle." TempleOS seeks to be something that you can just hop and go, no overhead, no safety checks, nothing. This is to the aid of its vision - not to its detriment, as it permits the user to do whatever it sees fit with complete transparency and openness.

What this ends in is the apex of TempleOS' philosophy: the "User Developer". Davis believed that any end user should also be a developer, as every developer will likely be a user. An example of this I can provide is my own experience with TempleOS, wherein I identified a bug within TempleOS' display of time, and then proceeded to implement a solution, which is documented here. That exact type of relationship, where I, an end-user can simply hop into TempleOS and find something that I see as in need of a correction and then proceed to fix it within a few minutes, is the soul of TempleOS and is what truly makes programming fun. That's what makes programming fun, is being able to create and to do as the user sees fit, with no overhead and no stopgaps, just a mind and a body given hands and tools to do work.

TempleOS is not a relic of the past, it is more than that. TempleOS is a hobby, it is an experience, it is a philosophy, one that was lost in the folly of Capital which replaced it with one that surrounds consumption for the sake of consumption, into a new age. TempleOS is there for one to make and enjoy the complexities and opportunities that computers provide us. TempleOS is a true advancement in computing, even if its ideas come from the past. It's a refreshing reminder of the beauty of life, the beauty of change and to affect the world around you, and I fully recommend that you give it a try one of these days.

https://templeos.org