Code Reggae

What for? 

The blog is intended for using rust programming language for liberating code ideas that sometimes disturb my sleep. Rust is an "ML in the C skin" language, it is a system-level language allowing for writing an operating system on bare metal (see Redox), increased reliability (due to ownership model), rich libraries set, great build system and without the garbage collection. The main idea is to rewrite a well-known piece(s) of software on rust and correct the shortcomings by using the rust unique language properties.

Correct what?

The main idea is to use rusts ownership model for detection and correction of shared variable usage. Often such usage is scattered throughout the code tree of old and respected C projects and prevents to switch to modern concurrency model. For example, PostgreSQL starts a process (!) per client instead of utilizing threads or co-routines. Data between those processes is shared using OS-level shared memory. That's ugly and against the will of Jah! If PostgreSQL will be rewritten in idiomatic rust there would not be a problem to switch the concurrency model and thus improve the performance.

How?

Surely enough - one may do it the hard way - manually. But that is not the reggae style. I aim to use the c2rust transpiler and refactoring tools to perform that task.

Enough for the first post - philosophical approach is stated, let's see what I can do (if anything).   

Comments

Popular posts from this blog

Oberon: what is it good for?

Active Oberon is still alive