ぜん3406文字もじ

 プログラミング分野ぶんやでよく話題わだいになるのが「どのプログラミング言語げんごすぐれているか」というテーマだ。個人こじんてきには「どんな言語げんご使つかっていようとプログラミングの本質ほんしつわらないので、不毛ふもう議論ぎろんではないか」とかんじることがおおい。それぞれの案件あんけんてきした言語げんご使つかえばいいだけではないかとおもってしまう。

 もっとも、これは日常にちじょうてきにプログラミングをしていない部外ぶがいしゃ意見いけんかもしれない。日々ひびのソフトウエア開発かいはつ業務ぎょうむでは、プログラミング言語げんごもっと重要じゅうようなツールの1つだ。どんなツールを使つかうかが開発かいはつ効率こうりつ直結ちょっけつすることはおおいにありる。

 たとえていえば、コード入力にゅうりょく使つかうキーボードのようなものだろうか。どんなキーボードでもにしないエンジニアがいる一方いっぽうで、キーボードのタッチに異様いようにこだわるエンジニアもいる。後者こうしゃにとって、特定とくていのキーボードを利用りようできるかどうかは開発かいはつ効率こうりつ左右さゆうする死活しかつ問題もんだいだ。プログラミング言語げんごにも、それにめんがあるのかもしれない。

 どの言語げんごえらぶかという議論ぎろん最近さいきん旗色はたいろわる言語げんごがある。「Java」だ。編集へんしゅう若手わかて記者きしゃによると、とくわかいエンジニアのあいだでJavaは「かっこわるい」とおもわれているのだという。

 これは自分じぶんにはすこ意外いがいだった。個人こじんてきにJavaをかっこわるいとおもったことはないからだ。

 Javaにわるいイメージをっていないのは、1990年代ねんだい鮮烈せんれつなデビュー当時とうじをリアルタイムでっている世代せだいだからかもしれない。Java仮想かそうマシン(JVM)が提供ていきょうされている環境かんきょうでありさえすれば、コンパイルみのおなじコードがどんな環境かんきょうでも動作どうさする。C言語げんごおおきな問題もんだいとなっていたメモリー関連かんれん深刻しんこく脆弱ぜいじゃくせいも、Javaではにする必要ひつようがない。まさに画期的かっきてきだった。

 個人こじんてきには、C++でいったん挫折ざせつしたオブジェクト指向しこうプログラミング(OOP)をおしえてくれた言語げんごでもある。Javaのインターフェースという機能きのう使つかってオブジェクトをえるコードをいてみることで、OOPの特徴とくちょうの1つである「ポリモーフィズム」のいを実感じっかんできた。ソフトウエア開発かいはつ実務じつむじょうはOOPの重要じゅうようがってきているが、理解りかいしておかなければならない基本きほんてき概念がいねんであることにわりはない。

たんなるイメージの問題もんだいでしかない

 なぜJavaはエンジニアにかっこわるいとおもわれているのか。それをさぐるために、Javaについてくわしそうな「い」と議論ぎろんしてみることにした。対話たいわがたAI(人工じんこう知能ちのう)サービスの「ChatGPT」である。最新さいしんのソフトウエア工学こうがくした存在そんざいだけあって、ChatGPTはとくにプログラミング関連かんれん話題わだいつよ印象いんしょうがある。