ソフトウェア開発は、言葉との結び付きが強い
どんな製品を「つくる」にしても、最初期の段階では何らかの形で文章にした企画書を書かなければならない。当然のことながら文章力が要求される。ソフトウェアはその最たるものである。ましてや、その後の要求仕様、詳細設計、コーディング、使用説明書、いずれにおいても文章力、というより、言葉力が必要とされる。
工業的生産物ではないが、法律は人間社会の仕組みを制御するための、一種のソフトウェアである、とわたしは考えている。法律を「書く」のに言葉力が関係しないと思う人はめったにいまい。
日本の学校教育における国語の授業では、情報を正確に伝えるという言葉の重要な側面が少なからず捨象されている。
あなたは、たった1つの短い文を正しく書けるか?
小さなプログラムを正しい作法で書けるかどうかと、たった1つの短い文を正しく書けるかどうかとは同根の問題と思われる。それどころか、ファイル名、モジュール名、手続き名、変数名の良い付け方にすら言葉力が大きくかかわる。
例として、
「今年10月からの新入社員の中間研修会参加は任意とします。」と
「新入社員の今年10月からの中間研修会参加は任意とします。」では、
新入社員が4月に入るという常識を前提にすれば上でもよいが、10月にも新入社員が入る可能性があるのであれば下の表現(語順)でなければならないとする。
ループの中で不変な値を、繰り返しごとに毎回計算し直すようなプログラムを書くと、プログラムを読むための解釈エネルギーのみならず、「計算エネルギー」も多く消費してしまう。文章でもプログラムでも無駄を排除することが必要である。
そして、
日本語は“抜け”が多い言語
とし、
日本語では気にならない記述の省略が、英語にすると情報の欠如になることがある。つまり、異なる意味や構造を持つ2つの言語で同じことを書くと相補的に文章の正確さを高めることができるということだ。ソフトウェア開発の各段階で、コーディング言語以外にいろいろな言語を使うことの意義はそこにある。
最後に、
良いプログラムを書く力と、良い文章を書く力の共通の根源には言葉力があり、この両者には強い相関関係がある、とわたしは考えている。これまでたくさんの研究者や学生と付き合ってきた経験に基づくと、あえて1.0とはいわないが低くない相関係数がはじき出されるだろう。良い文章を書く練習をすれば(その前に他人の文章を構造批判的に読む)、きっと良いプログラムを書く練習にもなっている(その前に他人のプログラムを構造批判的に読む)というのがわたしが強く信じている仮説である。
と結んでいる。
東京大学情報理工学系研究科創造情報学専攻教授の竹内郁雄氏の文章です。
情報の肝かなと思います。
「コンピュータを正しく使う」とは人間の頭の中にある論理構造やデータ構造を正しくコンピュータにトレースすることができることに外ならないと思うからです。
引用ばかりで自分の文章が少ないダメな記事ですね(笑)。