日本語プログラミング


UX云々が一段落して、
なぜコンピュータ業界は、カタカナ単語が乱発するのか、
その理由を考えていました。

コリンヌ・メイエ氏が著書の中で、
”SEの用いる単語は、よくわからん” 的な発言をしています。
この問題は、日本だけではないようです。

理由の一つに、
"コードを1バイト文字で書くから"
と言うことが思い浮かびました。

つまり、プログラミングをする以上、
アルファベットは避けて通れない。
すると必然的に、英語が用いられやすくなる。

キーボードも、ノイマン型コンピュータも、
アメリカで作られたものですから、
どうしても、英語前提の扱いになる。

ではどうするか。

日本語を用いたプログラミングはどうだろうか、と思いました。
以前、”オブジェクトの命名のみを日本語にした”開発をしたことがあります。
保守性という面では、とても優れていたと思います。

日本語を用いるプログラミングについては、
賛否両論あるようです。
試しに幾つかの言語のサンプルコードを眺めて見ました。

結論は”見づらい”です。

要因の一つに、慣れの問題もあると思います。
しかしながら、筆者は次のように考えました。

日本語を噛み砕いて、理解しようとする時は、
一旦、自分の中に取り込んで、消化して、
その上で文が理解できるようになると思うのです。

文の意味を考えてしまう、といった感じです。

対して、ソースコードを読むことは、文の意味を考えると言うよりも、
処理の流れや変数の変化を追い求めていく、
ように思います。

そう言った場合、
一旦噛み砕いて、消化する、という作業は、(大事ですけれども)
時間がかかる、というネガティブな要素が目立ってきてしまいます。

木を見て森を見ず、の
木を見てしまう、ということです。

もう一点。
日本語プログラミングにおいては、
どうしても”文字変換”が必要になります。(文字の種類が膨大になるため)

文字の変換作業が、SEがコーディングをする際に、
フロー状態になる(集中力を高める)ことを
妨げてしまう、
ことにつながると思いました。

所詮オブジェクトは入れ子であって、
厳密な意味や解釈などは存在しないからです。
なぜならCPUがそれを必要としないからです。

したがって、現状では、
英語を用いてコーディングをすることは、
ベターである、と思いました。
海外のSEとも連携が取れますしね。

では、今、ゼロからコーディングを勉強する人が、
日本語プログラミングをしたらどうか?

慣れがないという点で、
とても良いことだと思います。
しかし、そのニーズは、少ないでしょう。

まー、
デザインパターンは保守性に優れるから使うべきだ、
とか主張される方は、
変数の命名を日本語にされてもよいと思いますよ。

そこまで保守性に重みを置くならね!

オブジェクト指向の原点は、
古典哲学のイデア論にさかのぼります。

我々日本人は、そこまでイデア論に親しんでいるわけではありません。

どうにか、東洋思想に準じたプログラミング構造ができないかと考えていますが、
なかなかいいアイデアが思い浮かびませんね。

以上、つれづれ日記でした