|Professor Niklaus Wirth was one of the pioneers of computing as we know it. He was responsible for the Pascal language, a project he completed in 1970. Wirth became professor of computing studies at ETH-Zrich, and retired in 1999, although he remains active to this day. |
He grew ever-more despairing of the complexities of computing systems, which led him to his life's key work, Project Oberon. Oberon was all about a close link between the programming language, the compiler and the computer. Wirth wanted it to be simple, to be readily understood by those involved with it.
In 1995 he published a statement which has come to be known as Wirth's Law, an important corollary to Moore's Law, the one about computing power doubling every 18 months.
Wirth's Law states that software is getting slower more rapidly than hardware is becoming faster.
We are all aware of what is commonly known as "bloatware": software getting more complex for probably no better reason than we expect a new version every year. I am writing this in Microsoft Word, as you would expect. At the top of the screen there are nine top level menu items, containing a total of 128 choices, about half of which have sub-menus or dialogue boxes. Add to that the ranks of buttons at the top of the window.
To complete this piece I will use barely a handful: new document; select a style for the heading (which automatically selects normal for the rest of the piece); copy (from other references) and paste; delete; save. All the other stuff is just sitting there taking up processor cycles, waiting for a more adventurous user.
Wirth argued that "people are increasingly misinterpreting complexity as sophistication¦ these details are cute but not essential, and they have a hidden cost". He talked of "customers' ignorance of features that are essential versus nice to have".
This is the first piece I have written since returning from this year's NAB. This year's excursion to the desert seems a particularly apt time to recall Wirth and his desire for simplicity, because we are currently running dangerously close to misinterpreting complexity for sophistication.
Let me emphasise that there was a huge amount of good news. SMPTE has achieved FCD status for a really important group of standards: ST2110, on connectivity over IP for audio, video and control. FCD is final committee draft, which means that the technology is done and the only changes are likely to be the odd moved comma.
Following on from the remarkable presentation at IBC, there was another interoperability zone at NAB, with monitors showing content passing seamlessly between applications from different vendors. Because of the speedy work on the standard, many vendors have promised ST2110 products before the end of the year.
But the feeling I came away with was that the hard work is just beginning. We can move realtime signals around a best-of-breed software-defined architecture, and that is terrific. To get from this science project to a real-world system is going to take more big steps, though.