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

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

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

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

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

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

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

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

3y

Please read and agree to the Terms of Service and Privacy Policy before using.

Past comments by 結城浩
    Loading...