Programming as common knowledge

I develop a programmable operating system with beginner-friendly building blocks. I develop a game to teach programming of the operating system and to get acquainted with programming in general.

Software is the bottleneck

It does not matter, what you plan to do for a living, you will encounter the computer.

Computers are inevitable, but they are not as useful as they could be. The usability of computers is limited by the hardware and by the software running on the hardware.

There are less and less hardware limitations. The most notable hardware improvements recently were the addition of wireless network interfaces, better screen resolution and more colors, touchscreen, camera, more computing power and memory, faster storage, shrinking size and less power consumption.

The real limitation is the software which is running on the hardware.

Shortcomings of current software

Current software has notable shortcomings:

The benefit of programming literacy

Profit-oriented companies are counter-interested in making transparent software for users. They are interested in user lock-in and monetizing user data. But users can lift software limitations themselves if they have programming literacy.

Restructuring computation

Current software systems are so complex that it’s hard to change them even for professional programmers. How users could lift software limitations themselves?

I believe that software complexity can be greatly reduced by using the right structures. For example, multiplication is much easier with decimal numbers instead of Roman numerals.

This animated gif is just an illustration of a 5 orders of magnitudes difference (x 100000) between the size of an algorithm and its extension. The size of the gif file is 1595925 byte but it was produced by a 16 byte long dos program.

Asking the right questions helps to find the right structures for programming.
I believe the right questions are the following:

I take the challenge to find practical answers to these questions such that everyone could be a programmer.

I am a mathematician and a computer scientist who taught programming for lots of students and who also has programming experience in large-scale industrial projects (look at my CV).

Besides finding the right structures I take attention on the following aspects which are equally important for programming literacy:

Non-goals

Blog posts / results

If you are interested about the project history, read the monthly summary.