たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

楽なプログラミングに求められるもの -見通しの良さ、コード量、etc-

怠惰たれ。
怠惰たるために、楽にプログラムを書きたい。
そのために何が必要か。

背景 -書き方の工夫はできることを増やしはしない-

ある言語を使う限り、べたべたの命令型パラダイムで書いたコードとOOPやFPで書いたコードで、実行可能な内容は等しい。
あくまで、楽にコードを書けるかという違いしかない。
じゃあどういう「楽じゃなさ」を各技法がもたらしてくれるのかというのが本質

見通しの良さ

我々はコードを見た時、コードの計算結果を予測しながら読んでいる。
予測ができない場合に「これが何のコードか」を知るには、適当な入力を入れて出力の特性から振る舞いを予測するしかないが、普通はそんなことしない。明らかに我々はコーディング時に計算結果の予測をおこなっている。
この予測が難しいとき、プログラミングは格段に難しくなる。
予測に時間がかかればコードを読み書きする時間が増え、大変になる。
予測に頭を使うほどコーディング時の消耗は大きくなる。
プログラミングにおける「楽じゃなさ」の1つは「計算の予測=見通しの良し悪し」である。

“可読性”と同じ意図だが、”可読性”はあいまい

コード量

1行1行が極めて明快に書かれ、意図が明瞭で計算の予測が容易だとする。
そんな優れた1行が100,000行あった場合、それを1人でプログラムするのは非常に困難になる。
コード量はそれだけで「楽じゃなさ」になる。
(高水準言語のいいところの1つ)