ソフトウェア開発の面白いところは、頭で考えたことをそのまま動かせることにあります。 演算や論理的な判断による処理の分岐、繰り返し、すでにあるライブラリの呼び出し、そういった小さなものを一つ一つ積み重ねた結果として開発者が意図した計画の下で何かを動かすというのは、対象としている処理が小さいうちはそんなに困ることはありません。しかし、規模が大きくなったり、いろんなものを統合していく状況下で、意図しないいくつもの新しい問題を抱えるようになってくると、解法はひとつではないので、単純な作業で終わるものではありません。