第92話 プログラミング言語論争

「さて、今日は皆の好きなプログラミング言語について語ってもらおう」


 編集部の部室で、いつものようにしゅんさんが言う。今回はさすがに思いつきではなくて、「プログラミング言語を紹介する」という企画のために、部員にアンケートを取るという意味がある。


「じゃ、まず俺だが、C++だな」

「よく使ってますよね。なんでです?」


 俊さんはC++を好んで使うけど、理由をちゃんと聞いたことはなかった。


「一に速度。二にハードウェアへのアクセスのしやすさ。あと、安定した性能だな」


 なるほど。しかし、安定した性能か。


「安定した性能というのは?」

「最近の言語だと、だいたいGCガベージコレクションがあるだろ」

「そうですね。無い方が少ないくらいです」

「GCは悪くないんだが、GCのStop The World(STW)が起こるのがちょっとな」


 GCが走る時は、プログラムが一時停止することが多い。その時に性能が落ち込むのを嫌ったようだ。


「俺はPythonですね。記事が多いですし、ライブラリが充実してますから」


 最近のAIブームでPythonの人気が出ているのとは別に、使いやすい。


「でも、Pythonのインデント文法ってめんどくさくない?」

「それに、Python 2とPython 3で互換性なくなってるし」


 他の部員が異論を出す。


「最近は、Python 3にほとんど移行できてますよ」


 Pythonは長らく、バージョン2系とバージョン3系が共存していた。

 それが混乱の元だったが、最近ようやくほぼ統一された。


「私はRustかな」


 ミユの発言。


「最近、Rustよく使ってるよな」

「うん。俊先輩に近い理由だけど、Rustは早いし、GCがないし、安全だし」

「でも、Rustは学習コストが高いって聞くけど」

「否定しないけど、一度わかってしまえば楽だよ」


 なるほどなあ。俺もちょっと手を出してみるか。


「私はJavaScriptかな」


 女性部員さんが言う。


「ほとんどのところで動きますもんね」


 JavaScriptのいいところは、とにかくほとんどの環境で動くというところだ。専用のアプリがなくても、ブラウザがあればJavaScriptのプログラムを動かせる。


「それと、小物の便利ツールが揃ってるのもいいよ」

「ああ、確かに。npmで色々入れられるのはいいですよね」


 JavaScriptは元々、ブラウザで動く言語だったが、最近はNode.jsという形で、ブラウザに依存しない形で動かすこともできる。


「さすがにJavaScriptはねえだろ。言語仕様がひどすぎる」


 カズさんが割り込んでくる。


「カズさんの言うこともわかりますけどね。長い物にはまかれろって言いますよね」


 女性部員さんが言い返す。


「それはわかるんだが、どうにもなあ……」


 微妙な物言いだ。JavaScriptはシェアは凄いものの、嫌いな人も多い。


「僕はJavaかな」


 別の男性部員さんが言う。


「やっぱり、長年の歴史があるし、早いし、移植性が高いし」


 移植性というのは、Javaプログラムを変換したものは、どのマシンでもOSでも同じように動くことを指す。


「俺はGoだな」


 また別の男性部員さんが発言する。


「Goですか?記述が冗長じゃないですか?」


 前に触ったことがあるが、とにかく無駄な記述を強いられるという印象だ。


「それは認めるけど、とにかく速いからね」

「でも、C++程じゃないですよね」

「そこまで必要じゃないけど、高速なプログラム書きたい時に重宝するよ」

「なるほど。わかりますけど……」


 しかし、それなら、Javaの方がいい気がするんだよな。


「俺はScalaだな」

「JVM言語ですね。あれっていいんですか?」


 最近名前を聞くが、あんまり調べていない。


「Javaに比べて半分以下のコード量で済むからな。もうJavaには戻れないわ」


 そんな事を言ったことに、


「Scalaって互換性低いだろ。Javaはそんなことないよ?」

「Scalaだって最近は改善されてきてる」

「それでも、まだまででしょ」


 なんて、議論がだんだんヒートアップしてる。


「Javaなんかゴミだろ」


 そこに火をつけるカズさんの発言。


「ゴミってなんですか、カズさん」

「事実だろ。あんなにくっそ冗長な記述なんてやってられるかよ」

「じゃあ、カズさんは何がいいんですか?」

「俺はHaskellだな」

「そんなマイナー言語、皆使ってないじゃないですか」

「は?Haskellは金融システムで使われてるぞ」

「それ言ったら、Javaはもっと使われてますよ」


 どんどんヒートアップしていく議論。


「とりあえず、カズも皆も落ち着け」


 ヒートアップしているのを宥める俊さん。


「優劣論争しても不毛だから、とりあえず好きな言語の記事を書こう」


 確かに、記事を書くのが目的なことを忘れていた。


「というわけで、好きな言語の記事を書くように」

「好きな言語がかぶったときは?」


 結構ありそうなことだが。


「その時は別々に書けばいい」

「なるほど」

 

 まあ、それが妥当か。しかし、結構骨が折れそうな作業だ。


「ミユはRustか。結構大変そうだよな」

「そうでもないよ?最近は本も出てるし」

「そうなのか」

「まだ2冊くらいだけどね」

「やっぱ、まだそれくらいか」

「まだまだこれからの言語だから。でも、最近は人気出てきてるし」


 そういえば、RustをMicrosoftが採用って話を見た覚えがある。


(しかし、言語の話になると、話が拗れるって本当だったんだな)


 普段は険悪になることが少ない編集部がこうなるとは。

 言語論争は恐ろしい。 

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る