Saturday, June 14, 2003

Lots of engineers are complexity junkies. Complexity is in many ways just evil. Complexity makes things harder to understand, harder to build, harder to debug, harder to evolve, harder to just about everything. And yet complexity is often much easier than simplicity. There's that really famous Blaise Pascal letter, where he starts, "I apologize for this long letter. I didn't have the time to make it any shorter." And that's really true.

I realy see this in learning C#, Microsoft's answer to Java. C# has undone some of the things Java did to remove complexity from C++. I think this was done to keep the 'complexity junkies' happy. While it can make code easier to write in C# in some cases, it makes C# code much harder to read. Thing is writing code is easier than reading it, so I'm not a fan of making it easier to write at the cost of making it easier to read.