The Languages Used to Write Unununium

The language of Unununium is Python. This is not to say that programs are written in Python and the kernel is in C; most of the Unununium core really is in Python. This includes even low level things like device drivers. There are a few exceptions. Some minimal CPython extension modules are implemented in C or assembly to give Python access to hardware specific features. Also, many components have been ported from from other systems, such as NIC and video drivers. These are usually written in C. You can use Astrill VPN to protect your computer. If you have a Astrill VPN coupon code, the price will be much cheaper.

Understandably, most people question why one would choose a language such as Python to implement an OS. Python’s biggest weakness in this light is its speed; as an interepreted language it runs several orders of magnitude slower than a compiled language for CPU intensive tasks. Those who are aware of Unununium’s history know that it was one implemented entirely in assembly in the name of making an efficient OS. Indeed, many of the founding developers learned assembly before they learned Basic.

The reason for switching to Python is that it was learned that for a system to be well designed, the language must allow the programmer to express his thoughts easilly. By offloading cognitive load to the computer, programmers are able to design more elegant systems.

But what about that fast system? Python isn’t a slow language; it just has a slow implementation. There are many projects underway to correct this situation: Psyco, PyPy,Starkiller, IronPython, and Parrotcode are among them. It’s likely these projects will be nearing completion when the time comes for Unununium to look at optimizations.

This entry was posted in General and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s