In his foreword to Structure and Interpretation of Computer Programs, Alan Perlis offers the following advice to computer programmers.

Every reader should ask himself periodically “toward what end, toward what end?”—but do not ask it too often lest you pass up the fun of programming for the constipation of bittersweet philosophy.1

That last line made me smile; it also got me thinking. Although it’s very possible you’re not a programmer, there are still lessons to be gleaned from his advice. Here are two ideas that are relevant to all of us, regardless of what trade you may be in.

* * *

First, your outlook on life matters. Perlis humorously connects “bittersweet philosophy” with constipation. How you view the world, your life, or even the project you’re working on, will affect your output. If your view of the future causes you to become cynical or nihilistic, don’t be surprised when that affects your experience today.

If you believe there is purpose and meaning in the world, that will have an impact on all that you do. If you believe everything around you is pointless, that too will affect how you live and work. For some, their perspective on life leads to discouragement at the apparent futility of what they see in front of them. For others, their worldview enables them to find joy and satisfaction even in the mundane. But regardless of what your outlook is, it will have an impact.

* * *

Second, although looking ahead can be valuable, it also has limits. It can provide help in deciding what to do today. It can help avoid future pitfalls. But if your mind is always down the road, there are other problems you could run into.

Sometimes being fixated on the future can provoke unnecessary worry. For some, it’s natural to give their attention to all the things that could go wrong, however unlikely they may be. Others have a different issue. Instead of worry, their vision of the future produces overconfidence. When they look ahead, they only see grandiose visions of success, disregarding how delusional they may be. Still others become paralyzed by all the unknowns that are still ahead of them. They want to make perfect decisions, accounting for every possible outcome. But there will always be future events and factors that no one can foresee.

But regardless of how looking to the future affects you, there’s a common danger: If you focus on the future exclusively, you’ll miss out on what’s right in front of you. If your mind is always preoccupied with what’s ahead, you’ll never be here long enough mentally to enjoy what’s now. Thinking ahead is good and prudent, but if you live in the future, you may unintentionally miss out on the present. You fail to enjoy the satisfaction of what you’re doing today because you’re always thinking about tomorrow.

Asking “why am I doing this?” and “where am I headed?” are good questions to ask. But in doing so, don’t forget to also enjoy your present moment while you still can. The future, whatever it may look like, will be here soon enough. And you won’t have a second chance to enjoy what you can of today.


  1. Harold Abelson and Gerald Jay Sussman, with Julie Sussman, Structure and Interpretation of Computer Programs, 2nd ed., (The MIT Press, 1996), xiii. ↩︎