Wednesday, March 08, 2006

What makes a good software system?

Today I read a very good article partly about good programming practices. The article's content is broader than that, but what I got out of it was the latter.

In my opinion, what makes a good system is the coherence of small components that only know how to perform their own task without knowing not much, preferably nothing, about the big system. Similar to the infamous saying attributed to Einstein 'everything should be made as simple as possible, but not one bit simpler', maybe we can postulate 'components should be programmed to be as dumb as possible, but not one bit dumber'.

Another great concept to read about is John Conway's Game of Life. How amazing it is to see complex behaviour arising from a few simple rules.

Along the same lines, you may have also heard of Steven Wolfram's book A New Kind of Science.

No comments:

Post a Comment