小説などの文章を書くときには、推敲 (すいこう)と言う作業必要です。
推敲とは、一度作った文章を悪いところがないか読み返して、修正することです。
夏目漱石や芥川龍之介の書いた生原稿を国語の教科書で観た覚えがあります。
原稿には、何回も書き直した後があり、原稿の上に修正文を何重にも貼ってありました。
コンピュータのプログラムを書くときにも、この「推敲」という作業が必要だと思います。
優秀なプログラマーは、一度書いたプログラムを動かし、結果を確認してから、さらに保守性や簡便性、安全性などを考慮して、美しいプログラムを完成させます。
美しいプログラムは、品質も高いです。
昔のことを言うと、年寄りの何とか、といわれますが、(未だ若いつもりだが・・・)
現在のように開発環境が整っていなかった時代、プログラムを紙に書いて、紙カードにパンチし、カードリーダに読ませて、プログラムを汎用コンピュータ読み込ませていました。
紙(コーディングシート)にプログラムを書いていくと、数百行、数千行になると手が痛くなってきます。
ですので、何とか書く量を減らすため、プログラムの共通化や関数化など、ステップ数を減らす努力をします。
また、この頃は「コンパイル 1回幾ら」とお金を払っていましたので、プログラムを1回実行するたびに、何度も何度も机上チェックを行い、無駄なステップを削り、1発で実行までいけるように、シミュレーションを繰り返しました。
この作業は、非常に大変で、効率も悪かったが、プログラミング能力を鍛えるためには、非常に有効だったと思います。
現在では、VBやJavaといった言語でも、開発環境が出来ており、簡単にプログラムを書き、実行できます。
実行中の変数の中身をクリックすれば知ることが出来ます。
エディタを使えば、数千行、数百行でも簡単にコピー&ペーストできます。
便利です。
非常に便利です。
でも、・・・・・
できたプログラムはどうでしょうか?
何とかとハサミは、ではありませんが・・・・・・
考えなくなっているのでは?
と思えるようなプログラムをみることがあります。
動けばよい。
結果が間違っていなければ良いだろう。
との安易な気持ちが感じられます。
また、考えなくても、ツールによって、それなりに出来てしまう、のも事実です。
デバック。 推敲をせずに、安易にプログラムを修正しては実行する、ことの繰り返し。
これでは、美しいプログラムなど期待するほうが難しい、と思います。
・・・・・・。
このような状況を直すには、ソースレビューを実施することが有効だと思います。
自分の書いたプログラムを他人や上司に見せ、説明させることによって、また他者からの指摘を受けることによって、客観的な見方や気付きが生まれると思います。
それから、メールの文章、これにも推敲が必要です!(何度冷や汗をかいたことか!)
そして、このブログも・・・
やってみると、う~~ん。難しい!
皆さん、コメント願います。(読者からの指摘が一番効きます。)