Mastering the Art of Phlegmatic Programming

So what exactly IS phlegmatic programming? And is it for you?

The second question is probably the easiest to answer. If you are somebody who just always makes the best out of the tools he or she is given (for the sake of shortness and because I like the image of that sexy, sexy programmer, I will use “she” in the rest of this post and all future posts), and if you have the natural ability to quickly work around the bugs in the conception and implementation of these tools, then phlegmatic programming is probably not for you.

This is because phlegmatic programming deals with the following problem: How do I shape my environment of programming languages and tools such that I can most easily express my solution ideas in these programming languages and tools?

Most of the time, the solutions to this problem  are very different from the solutions to the problem: How do I solve my current problem such that I can write down a concise solution given the current programming language and tool constraints?

Normally, as a programmer, you are asked to solve the latter problem. Normally, as a phlegmatic programmer, you enjoy solving the former problem.

The phlegmatic programmer does not strive to find the best solution given the current pragmatic real-world constraints. Instead, the only constraints she accepts are those of the physical and logical world. Everything else is up for discussion. If this discussion lasts several years, then so be it. The journey is its own reward.

The promise of phlegmatic programming is that if your solutions are the product of extensive reflection of the problem domain taking into account your whole imagination, then the solutions will inherit the properties of mature mathematics: they will be as easy to understand as possible given the complexity of the given problem, and they will be useful even 10 or 100 or 1000 years after their original conception.

This is year 0 of phlegmatic programming.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: