« [Design nuances] Search results header redux | Main | Search connecting trains at Cleartrip »

Linus Torvalds on simplicity by design

Open source legend and creator of the Linux operating system, Linus Torvalds, shares his perspective on the power of simplicity in Just for Fun: The Story of an Accidental Revolutionary.

An ugly system is one in which there are special interfaces for everything you want to do. Unix is s the opposite. It gives you the building blocks that are sufficient for doing everything. That's what having a clean design is all about.

It's the same thing with languages. The English language has twenty-six letters and you can build up everything from these letters. Or you have the Chinese language, in which you have one letter for every single thing you can think of. In Chinese, you start of with complexity, and you can combine complexity in limited ways. That's more of the VMS approach, to have complex things that have interesting meanings but can't be used in any other way. It's also the Windows approach.

Unix, on the other hand, comes with a small-is-beautiful philosophy. It has a small set of simple basic building blocks that can be combined into something that allows for infinite complexity of expression.

This, by the way, is also how physics works. You try and find the fundamental rules that are supposed to be fairly simple. The complexity comes from the many incredible interactions you get from those simple rules, not from any inherent complexity of the rules themselves.

The simplicity of Unix did not just happen on its own. Unix, with its notion of simple building blocks, was painstakingly designed and written by Dennis Ritchie and Ken Thompson at AT&T's Bell Labs. And you should absolutely not dismiss simplicity for something easy. It takes design and good taste to be simple.

To go back to the example of human languages: Pictorial writing like Chinese characters and hieroglyphics tend to happen first, and be "simpler", whereas the building block approach requires far more abstract thinking. In the same way, you should not confuse the simplicity of Unix with a lack of sophistication - quite the reverse.

The use of language as a metaphor to explain the fundamental concepts of system design and the role of simplicity is fascinating. The best technologists are usually those can translate and communicate their thinking into words that anyone can understand.

Posted on Wednesday, October 15, 2008 at 11:17AM by Registered CommenterHrush | Comments4 Comments

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments (4)

Beautiful. Thanks for posting this.

But there is a great danger in extending this observation to ones about the capabilities of people who talk in languages like Chinese. Rajeev Srinivasan the rediff columnist wrote an article a couple of years back that claimed Chinese/Japanese don't do well in software as well as Indians do, because (he argued) their language allows them to think in patterns. He then goes on with this silly argument to conclude that they are not capable of creativity in software and what not. Mr.Srinivasan, Have you heard of Ruby ? What about their creative cartoons, comics, number of Noble prizes in sciences, and their higher standard of living etc etc.
October 23, 2008 | Unregistered CommenterRams
Rams--Since when do columnists do well to talk about software at the code level?

Some people write code, some people write columns; but very few people do both.
October 24, 2008 | Unregistered CommenterHrush
<i>The best technologists are usually those can translate and communicate their thinking into words that anyone can understand</i>
They are not best technologists. Best technologists are generally busy creating new ones or improving the older ones. These so called "Best technologists" are mostly pretenders.
October 26, 2008 | Unregistered CommenterBG
BG, there is a difference between a good researcher and a good teacher. A society needs both. Similarly, any open source project needs good programmers and good coordinators. It's essential that the latter communicate effectively.
October 27, 2008 | Unregistered CommenterSaurabh Nanda

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Post:
 
All HTML will be escaped. Hyperlinks will be created for URLs automatically.