HolyC: An Insane Hobby Project from an Insane Programmer

HolyC: An Insane Hobby Project from an Insane Programmer

·

4 min read

We've seen a lot of hobby programming languages coming out in the recent times. Many programmers decided to use their programming skills to develop their own compilers, languages and even kernels using them.

Most of the programmers that I mentioned only created their language and a compiler for it but there's one such person I know who made an entire operating system on his own using the programming language that he built on his own.

Meet Terry Davis

Terrence Andrew Davis aka Terry Davis, who was a popular programmer known for his hobby Operating System, TempleOS. He created this OS while he was suffering from schizophrenia which made him think like the god told him to make an OS and he was the messenger of god.

I consider him to be a genius and one of the greatest programmers to walk on earth.

He did a lot for his TempleOS project. He built his own kernel from scratch, built his own programming language called HolyC and even a custom graphics library for the OS.

A single man did all of this.

Today, we'll be focusing on the language that he created for TempleOS, HolyC.

What is HolyC?

HolyC is a Just in Time compiled programming language which is like a middle ground between C and C++. It uses the file extension as .HC .

It is a Just In Time compiled language which means that you can just convert your code into byte code and run it on your machine without creating an executable file like you do in C/C++.

It is a simple but a very powerful language that was used to create TempleOS. In fact, almost all of the parts in Temple OS have been written with HolyC except some kernel part which was written in x64 Assembly.

TempleOS was written within 100,000 lines of code, that should give you an idea about the power of HolyC.

Terry came up with a very different approach while creating HolyC and that's what makes it a very unique language in the world.

How To Run HolyC on your machine?

Unlike C or many other popular languages, HolyC started out as a hobby project and it still remains like that to this day.

Documentation of HolyC is almost dead and barely existent on the internet. There was a documentation online but it's not working for me at the moment for some reason. Even Google shows very less about HolyC.

So there's pretty much no official or direct way to run HolyC on your Windows or Mac or GNU/Linux.

But I was scrolling through GitHub looking for any interesting repositories and I found one website which you can use for running HolyC in your browser.

link: https://leozamboni.github.io/HolyC-interpreter/

Hello World in HolyC

It's a tradition for a programmer to print Hello World whenever we're trying out a new programming language so let's do that in HolyC.

Hello World is pretty simple in HolyC.

You just have to type

"Hello World";

and call it a day.

Fibonacci Series in HolyC

The online interpreter for HolyC that I mentioned also has a sample fibonacci series program on their site.

// HolyC Fibonacci
U0
Fibonacci()
{
    U32 a = 0, b = 1, c, i;

    for (i = 0; i < 20; i++)
    {
        c = a + b;
        "%d\n", c;
        a = b;
        b = c;
    }
}

Fibonacci;

Now I don't know exactly how this code works due to the lack of proper user documentation online but this is a sample program in HolyC.

Future of HolyC

HolyC is a hobby language and is never meant to be that mainstream and it's been like that always.

The only major project that was written in HolyC is TempleOS and you don't see any other usage of it.

However, people admire Terry Davis (me too) and his TempleOS and decided to maintain it like a community.

Now we have more TempleOS distros like Zeal etc and more to come out.

However, it is certain that HolyC will never become mainstream.

How I'm going to contribute to HolyC

Due to my mad respect for Terry Davis and the obsession with preservation of human art and knowledge, I've decided to make a user documentation for HolyC and a HolyC IDE called Prometheus IDE in the near future.

I want future programmers to realise the importance and brilliance of Terry Davis's work and get to experience his HolyC language sometime in the future so I want to build a path for them.

Here's my Prometheus IDE repository: https://github.com/SpaciousCoder78/prometheus-ide

Thanks for reading my article and follow my blog for more content like this!