Roman's Website

About

About

My name is Roman Zhikharevich. I enjoy programming, mathematics, good books, films and music. I hope to populate this website with something interesting in the future.

Links and Contacts

Workflow

Projects

My main interests in programming are operating systems and programming languages (both design and implementation). My favourite languages are Rust, Swift, Go and C.

Currently I'm writing a text editor.

Views on Software Design

There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.

C.A.R. Hoare, The 1980 ACM Turing Award Lecture

Simplicity is prerequisite for reliability.

Edsger W. Dijkstra

One of my most productive days was throwing away 1000 lines of code.

Ken Thompson

I think that the main characteristics of software are reliability and flexibility. Therefore software should be simple, overengineering brings only sorrow. That's why I like the UNIX philosophy, especially the "do one thing and do it right" part.

I also believe that software should be free (free as in freedom, not free beer). However, I tolerate proprietary software if it's good.