Another example of how we can learn from paintings is the “creating in incremental detail” method. A painting usually begins as a sketch. Then the details are gradually filled in. But it is not just a process of filling in the gaps. Sometimes it turns out that the original plan was a mistake. There are countless paintings that, when X-rayed, show that hands and feet have been moved and facial expressions have been altered. We can learn from paintings in this regard. I think hacking should be the same way. It is unrealistic to expect the specifications of a program to be perfect. You have to acknowledge that first, and write in such a way that you can accept that the specifications may change while you are writing the program… Nowadays, everyone is aware of the dangers of premature optimization. I think we should be careful about premature design as well, i.e., deciding too early what the program should do. - stepwise refinement

A picture that cannot be painted in its entirety while trying to paint it properly.


This page is auto-translated from /nishio/デッサンとペン入れ using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I’m very happy to spread my thought to non-Japanese readers.