Simplicity, Entia non sunt multiplicanda praeter necessitatem

I try to live by the rule that things must be simple. Complicated things are obvious in need of more thought.

Entia non sunt multiplicanda praeter necessitatem

It all started with William of Occam (aka Ockham), the 14th?century English philosopher who wrote this in latin, which literally means , ‘entities are not to be multiplied more than necessary’. This principle, known as Occam’s razor, implies that all other things being equal, the explanation that involves inventing the fewest new concepts is always to be preferred.

Simplicity is not about deficiency, It takes a lot of effort to produce elegant and simple solutions for complicated problems. There’s Albert Einstein’s dictum: ‘Make it as simple as possible, but not simpler’, a health warning against cutting your own throat with Occam’s razor ?simplification isn’t the same as skimping.

Tony (C.A.R.) Hoare, whom I met in 1980 during a lecture he gave in Utrecht, together with Niklaus Wirth and Edsgar Dijkstra, heroes of structured programming, once made this mordant comment on the state of the programming art: ‘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 is to make it so complicated that there are no obvious deficiencies.’

A lesson about cutting away instead of adding is given by Antoine de Saint-ExupĂ©ry, best known for writing The Little Prince, but he was also a pioneering aviator and aircraft designer. He said: ‘A designer knows that he has arrived at perfection not when there is no longer anything to add, but when there is no longer anything to take away.’

Niklasu WirthA book that opened my eyes and made me a fan of Niklaus Wirth and his programming languages, because it described in such clear and simple way the art of programming is ‘Algorythms + Data = Programs”. The title alone is such a simple message! Elegance, structure, step by step decomposing a problem until the final simple solution is found, those weapons are given to us by Wirth. His programming languages and operating systems went from clean Pascal to practical Modula to the minimal but so powerfull Oberon system. Pity the programming world went to simplicity disasters like C and C++.

Blaise Pascal (or Goethe according to other sources) is known for: ‘I have made this letter longer than usual, because I lack the time to make it short.’ writing short pieces, to bring a clear message across, is far more demanding than writing long ones.

The management summary of a report is the hardest part to write, may take more time than the appendices, and, with the current attention span of management of one page, often all that is read. One of my colleagues produces reports and emails that nobody can nor wants to understand. And because management prefers stupidity and complexity above simplicity he gets away with it!

The simple things in life are worth the most!

One thought on “Simplicity, Entia non sunt multiplicanda praeter necessitatem

  1. Main()

    long disaster = 0 ;

    While ( one_of_my_collegues ){

    Create_rubbish ( )
    printf(“Here we go again %ld\n”, ++(long)disaster ;

    if Eliminate ( &one_of_my_collegues ) == OK

    } ;

    printf(“Mission accomplished\n”);

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.