1 The creative road ahead


This chapter covers

  • Definitions and the origin of the term “creativity”
  • Reasons for being creative
  • An overview of the seven Creative Programmer themes
  • The Creative Programming Problem-Solving Test

We humans love to create. Homo faber—creating to control our fate and environment—is a manifestation of man’s innate being in nature, according to philosopher and novelist Umberto Eco.1 By buying this book, you’ve made your first step toward your innate being as a creative programmer. Congrats, and welcome!

Chances are that you’ve decided to read this book to become a better programmer. You’ve come to the right place. Only, don’t expect the unfolding of the latest technical marvels, such as a just-in-time compiler of some virtual machine, or to learn more about programming language x or y. This is far from your average programming book.

Instead, we’ll be working on a different level. You’ll learn how highly creative individuals (and groups) approach problems, what their habits and thought processes are like, and how they arrive at both more productive and more creative solutions. Once you’re a certified Creative ProgrammerTM, you’ll unravel any technical marvel with ease and learn multiple programming languages at once—well, at least according to the theory. Whether you just picked up programming as a new discipline or you’re an experienced developer, my hope is that you will acquire at least a few new creative tricks to have up your sleeve.

1.1 What exactly is creativity?

1.2 Why creativity?

1.3 Different levels of creativity

1.4 A road map to becoming more creative

1.4.1 The seven Creative Programmer themes

1.4.2 The Creative Programming Problem Solving Test

1.5 The structure of the following chapters