Loading...

プログラマにとって言語化する能力はとても大事です。

ここでいう「言語」には大きく二つの意味があります。一つは普段使っている英語や日本語のような「自然言語」で、もう一つはJavaScriptやPythonのような「プログラミング言語」です。

自然言語に関する能力は、プログラマに限らずどんな職業でも大事になります。それは仕事の多くが他の人とのコミュニケーションに関わるからです。

でも、プログラマならではという自然言語能力もあります。それはプログラマが扱う概念の抽象度が大変高いことに依存します。プログラムの設計時にはたくさんの概念を操作する必要がありますが、その概念はしばしば日常生活には存在しなかったりします。「このウインドウにやってきたイベントのアトリビュートがこうなっていて、アプリケーションが待ち状態になっていたら、これこれの処理をする」のような表現は、プログラマ同士の会話でもふつうに行われます。

一つ一つの用語が何を意味しているのかを正確に把握し、それらを組み合わせて文章を組み立て、プログラムの動作を表現したり、自分の意図を他者に伝えたりする。これはまさに言語化の能力といえるでしょう。

プログラミング言語に関する能力は、いま書いた「抽象度の高い概念の扱い」を人間相手ではなく、コンピュータ相手に駆使する能力といえます。自分が考えたことや、設計の意図や、抽象的で複雑な操作内容をプログラミング言語という「言葉」に落とし込む。それはプログラミングの大事な一面です。

自然言語であれ、プログラミング言語であれ、言語化能力が低いといろんなところがあいまいになります。感覚的にふわっとした表現しかできないと、プログラムは正確に動けません。また似て非なる処理が混乱してバグを生む可能性も高くなるでしょう。

以上、ざっくりとしたお話ですが、プログラマと言語化能力について書きました。

Profile Photo

結城浩

EngineerWriter

本を書いて生活しています。著書は『数学ガール』『プログラマの数学』『数学文章作法』『暗号技術入門』など多数。文章を書くこと、学んだり教えたりすること、プログラミング、数学、人と人とのコミュニケーションなどに関心があります。詳しい活動内容は https://mm.hyuki.net/n/n5f00c9cd281c をご覧ください。アマゾンの著者ページは https://link.hyuki.net/amayuki にあります。なお、私は数学読み物を書いていますが、数学科出身でもありませんし、数学の研究者でもありません。2014年度の日本数学会出版賞を受賞しました。〔ゆうき・ひろし〕