Monday, September 30, 2013

Do you think less is more, or less is less?

One of the things I do to maintain some semblance of familiarity with modern technology is to read articles on Hacker News.  This recent piece about the programming language Go is a good example:
http://bit.ly/GzvGai

I will almost certainly never find myself programming in Go.  Heck, the last time I took a CS class, I was learning Pascal, so that gives you some sense of how far I sit from actually coding.  But the principles behind Go do have something to teach me.  Here's what Go's creator has to say about his language:

"What you're given is a set of powerful but easy to understand, easy to use building blocks from which you can assemble—compose—a solution to your problem. It might not end up quite as fast or as sophisticated or as ideologically motivated as the solution you'd write in some of those other languages, but it'll almost certainly be easier to write, easier to read, easier to understand, easier to maintain, and maybe safer."
This is wisdom that applies far beyond programming.  In a world in which change is constant, the ability to do things quickly, explain them to others, and keep them updated as circumstances change is far more "powerful" than having a lot of specific functions that require an expert to apply them and keep them up to date.

Less is more because less improves adaptability.  More is more in stable environments where fine-tuning performance is critical--think of the mainframes that still power the financial services industry.  But in the startup world, less is almost always more.

No comments: