It’s about the thinking

At some point in the past, programmers used to recommend drawing flowcharts before you start coding. Then they recommended creating CRC cards, or acting through how the turtle will behave, or writing failing tests, or getting the types to match up, or designing contracts, or writing proofs, but the point is that in each case they’re there for eliciting thought before the code gets laid down.

None of these things is mutually exclusive, none of these things is the one true way, but the fact that they all isolate some part of solving the problem from some part of coding the solution is the telling point. The problem is not having the correct type system or test coverage or diagram format, the problem is trying to work in two (or more) levels of abstraction – the problem domain and the computer – at the same time.

About Graham

I make it faster and easier for you to create high-quality code.
This entry was posted in architecture of sorts and tagged . Bookmark the permalink.

One Response to It’s about the thinking

  1. Phil Nash says:

    Nicely put.
    This is what I’ve been saying, recently, in my TDD-focused talks – that one of the main advantages is that it aids the ability to move between the two thinking domains (and keep your place).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.