Two Different Outlooks of Computers

For a long time by now, I had a conflicting view of my ideal computer system. On the one hand, I strive for minimal, clean abstractions, without the legacy code plaguing most modern software. On the other hand, modern software gives me a huge boost in creativity and makes software more approachable than ever. This contrast between modern software that is focused on productivity and conservative software that is focused on beauty sadly prevents me from enjoying computers.

Minimalism

First, let’s have a look at the brutalist, minimalist side of the spectrum. The main camp here is the UNIX greybeards which see Linux as a blasphemy towards UNIX. Unlike modernist programmers who had settled down on Linux, here we have several operating systems with different levels of use. I believe the reason for the abundance of operating systems here, is that without a proper beautiful operating system, how can you create a beautiful system on top? Bryan Cantrill had a great talk about his startup’s ongoing journey of creating a holistic system.

The problem with this approach is that we are mainly stuck in the past. Sure, there is some progress but by and large, people here resist change. Rust might be bloated and not the solution, but we do need a safer system programming language. UNIX was minimal in the 70s but we have a lot of outdated decisions in operating systems like Solaris, OpenBSD and even Plan 91! Some decisions are outright hostile towards less technical people, like configuring programs with a C header file.

Futurism

What I call futurism is actually what most of us use, but the people on this side of the spectrum are always looking forward. Because of this approach, we have a lot of productive, easy-to-use software in here. Programs like Fish and fzf are ridiculous in how much they boost my productivity. The cloud also, let me abstract away the machine and focus on what I care about.

But just like with the minimalistic side, not everything is perfect here. I think the main problem here is that we are progressing linearly and never stop to think of the system as a whole. There are a few examples that really pain me because they are really close to the sweet spot:

Somewhere in between

There is no correct solution for this, I mostly wanted to lay out my inner constant conflict. I think there is a place for something in between, a holistic system that is not stuck in the 80s. Sadly, the tech sector is looking vastly different and it’s hard to see how an organization with the same goals would form.


  1. the radical approach to UI was not as successful and it’s very hard to find a proper mouse for it. ↩︎