In his soft-spoken way, Dierk reminded us once again of an ancient art that is always on the brink of extinction: Simplicity.
Do you remember the Peter Principle? Here is the software developer version:
Given a new technology, a software developer will quickly drive it up just above that level of complexity that he is barely unable to handle – Dierk König
That together with Brian Kernighan‘s
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
should give you pause when your ego demands the more “clever” solution next time. Alas, we don’t always have time to find the more simple solution. On top of that
Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it.
And to make matters worse, complexity sells better.
Notes from the talk:
Simple != easy.
If it needs an explanation, it’s probably not simple.
Just because you understand it doesn’t make it simple. Convention is only simple if everyone knows it.
Example for simple code: https://github.com/Dierk/MittieWiki It’s a simple wiki software. If you feel MediaWiki isn’t powerful enough for you, look elsewhere. If you think MediaWiki overwhelms you, have a look. The code has a complexity of 0. Test coverage is 100% for both lines and branch coverage.