Everything should be made as simple as possible, but not simpler.
For us, programmers, I think it's the first part of this sentence, which is the most challenging. We all know very well how easy it is to create a complex/long/unstructured solution, and on the other hand, how difficult (and time-consuming) it is to create a simple/elegant solution to a given need ;-)
I am currently working on my EDIFACT parser and serializer - sorry for the delay on my Babelabout demonstration (see my previous post) - challenged by Mathias, and I am again realizing how a few extra thinking can save you hundred thousands of lines of code!
I am currently testing this re-design of my EDIFACT parser and serializer. I will hopefully then take some time writing a post explaining the "architecture shift" and how it saves hundred thousands of lines of code. Then, I will probably finally share the code as open-source ;-)