「Hackers and Painters」読んだ記念

Hackers and Painters やっと読み終わった。集中して一気に読めなかった。反省。



The Eiffel Tower is a recursive solution, a tower on a tower.



本のタイトルはHACKERS & PAINTERS。最後まで読んでやっと分かったのだが、ハッカー(プログラマー)と画家は作品を作る上で似ていると。殆どの画家は部分部分を書いていく事によって全体を書くような事はしない。たとえば、レンガの建物を描く際に、レンガ一つ一つを描いていって全体を構成するような事はしない。レンガ一つ一つを描く作業はつまらないし、半分も書かない内にその絵を描くのに飽きてしまうからだ。 そんな絵はつまらない絵になってしまう。殆どの画家は全体のスケッチを描いて、全体の構成を描いてから部分部分を描いていく。ハッカーも同じで、部品から作り始めると、中々全体を通して動く物を作る事が出来ないし、興味もだんだんうすれ、途中で挫折してしまう。ハッカーもすぐ動く物を作って、少しずつ改善していくアプローチの方が成功するものづくりが出来ると。上手に日本語化できなかったので、原文の一部を下記に載せときます。

Morale is key in design. I’m surprised people don’t talk more about it. One of my first drawing teachers told me: if you’re bored when you’re drawing something, the drawing will look boring. For example, suppose you have to draw a building, and you decide to draw each brick individually. You can do this if you want, but if you get bored halfway through and start making the bricks mechanically instead of observing each one, the drawing will look worse than if you had merely suggested the bricks.

Building something by gradually refining a prototype is good for morale because it keeps you engaged. In software, my rule is: always have working code. If you’re writing something you’ll be able to test in an hour, you have the prospect of an immediate reward to motivate you. The same is true in the arts, and particularly in oil painting. Most painters start with a blurry sketch and gradually refine it. If you work this way, then in principle you never have to end the day with something that look unfinished. Indeed, there is even a saying among painters: “A painting is never finished. You just stop working on it.” This idea will be familiar to anyone who has worked for software.

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 )

Connecting to %s