sketchbook

Like an artist's sketches, which are ideal for elucidating how something may be drawn, or to allow one to quickly essay different ways to go about something, so the programmer should have a sketchbook of code, where an exploration of algorithms or techniques or languages can go about freely and quickly in order that his technique may improve.

Of course, a sketch isn't a complete piece, and so this is just one aspect of a programmer's practice, but while necessary, it is not sufficient. After all, an isolated implementation of a red-black tree isn't the same as a red-black tree in a real program, where the data structure is surrogate to the considerations of the problem to be solved, and of the domain's nature, and so on.