最も嫌われているプログラミング言語4選:専門家が挙げるJavaScript、C++など - TechRepublic

最も嫌われているプログラミング言語4選:専門家が挙げるJavaScript、C++など - TechRepublic

画像: iStock/pcess609

ソフトウェア品質保証会社TIOBEは毎月、人気プログラミング言語のまとめを発表しています。最新のランキングでは、C言語がトップに立ち、Java、Python、C++がそれに続きました。多くのプログラミング言語は、実用性から好みまで、様々な理由から人気が急上昇したり、人気が下降したりします。そこで、私たちは最近、業界内のビジネスプロフェッショナル数名にインタビューを行い、最も嫌われているプログラミング言語についてより深く理解することができました。

「言語に対する嫌悪感は人気度に正比例するため、最も嫌われている言語は、最も人気がある、あるいは最も脅威となる傾向があります。また、嫌悪感は言語の使われ方にも比例します」と、VMwareのエンジニアリングディレクター、トム・ハッチ氏はメールで述べています。

参照:バグを一つずつ修正してウェブを救い、何百万ドルも稼ぐハッカーたち (表紙記事 PDF) (TechRepublic)

ジャワ

開発者が特定の言語を特に軽蔑するのは、その言語自体に本質的にマイナスな点があるからではなく、そのプログラミング言語への慣れ親しんだ環境によるものである場合があります。例えば、ハッチ氏はJavaは素晴らしい言語だと感じているものの、ほとんどの開発者がオブジェクト指向プログラミング(OOP)の構造を理解していないため、個人的にはJavaを嫌っていると述べています。

「Javaは90年代後半に主流となり、それ以来最も広く使われているプログラミング言語の一つとしての地位を維持してきましたが、それゆえに多くの開発者から深く嫌われています」とハッチ氏は述べた。「JavaはOOP構造を強く強制する言語です。OOPの精神が強すぎるため、開発者はOOPパラダイムに積極的に従わざるを得なくなり、大規模なコードベースでは理解しにくく、エンジニアに引き継ぐのが難しくなることがあります。」

プログラミング言語が普及し、広く使われるようになると、一部の人にとっては必須の能力を持つようになることがあります。以前のレポートで述べたように、新しいプログラミング言語が、Javaのような古くからある標準的な言語を追い抜くには、かなりの時間がかかることがあります。Javaは、誕生から四半世紀が経った今でも、プログラミング教育コースでよく使われています。

元テクニカル リードおよびエンジニアリング マネージャーで、現在は独立開発者として製品を開発している Monica Lent 氏は、開発者の多くはキャリアの初期に初めて触れた言語が Java であるため、Java に対して強い否定的な感情を抱いている可能性があると説明しています。

「今日の経験豊富なエンジニアの多くは、大学でJavaを最初の、あるいは主要なプログラミング言語として学びました。Javaが嫌われる理由のある程度は、Javaという言語が、コーディングを学ぶ際のフラストレーション、あるいは新しいプログラミング言語を学ぶ際のフラストレーションと結び付けられているからでしょう」とレント氏はメールで述べた。

レント氏はまた、Java のファン層が衰退し続けているとも述べ、その人気の衰退の証拠として、TIOBE の 11 月のランキングで Python が Java を上回ったことを指摘した。

参照:ユーザー管理用の Linux コマンド(TechRepublic Premium)

JavaScript

JavaScriptは最新のTIOBEランキングで7位を堅持しており、これは2019年12月時点の順位と同じです。JavaScriptの長年にわたる人気を証明するものとして、2000年以降、毎年平均でトップ10にランクインしていることは特筆に値します。実際、JavaScriptは2014年に急上昇した評価を受け、TIOBEのプログラミング言語の殿堂入りを果たしました。とはいえ、長年にわたり人気の高いプログラミング言語であっても、様々な理由でプログラマーの怒りを買うことがあります。

参照:システム管理者が学ぶべきプログラミング言語トップ5 (無料PDF) (TechRepublic)

「JavaScriptの圧倒的な人気を考えると、これはあまり一般的ではない意見かもしれませんが、実際には扱いが非常に面倒なことがよくあります。JavaScriptは設計上、グローバル変数の使用などのアンチパターンを推奨しており、JavaScriptの型強制アプローチは、予期せぬ結果になったときに開発者を困惑させることがよくあります」と、nVisiumのCEO、ジャック・マニーノ氏はメールで述べています。

Mannino氏は、TypeScriptは現時点では広く普及していないものの、JavaScriptの多くの欠点を解決できると示唆した。Hatch氏も同様に、JavaScriptに関する批判を表明した。

「もし遍在性が憎悪を生むなら、JavaScriptこそが王者だ。なぜなら、JavaScriptはウェブブラウザ内で動作する唯一のユニバーサル言語だからだ。その結果、批判される可能性があるところでは、批判されることになる」とハッチ氏は述べた。

「JavaScriptはもともとフル機能の言語として開発されたのではなく、HTMLのスクリプト拡張として開発されました。そのため、この言語は長年にわたり大きく成長してきました」とハッチ氏は続ける。「JavaScriptが成長するにつれてエコシステムも成長し、ますます多くのJavaScriptフレームワークが導入されるようになりました。そのため、変化への対応に苦慮する開発者たちは疲弊しています。」

Tangram Vision の CEO 兼共同創設者である Brandon Minor 氏は、JavaScript を「悪夢」と表現し、この言語は最初は簡単に習得できる構文を提供しているものの、便利さはそれだけであると述べています。

「静的なウェブページ以上のものを実行するには、本格的な構築と経験が必要ですが、その多くはコミュニティ内では部族的な知識としてしか認識されていません。さらに、パッケージングシステムは依存関係が互いに干渉し合ったり、完全に壊れたりすることがよくあります」とマイナー氏はメールで述べた。

マイナー氏は、JavaScriptユーザーが感じる「苦痛」は、プログラミングコミュニティ全体と比較にならないほど大きいと説明しました。この点を説明するために、マイナー氏はプログラミング上の障害が散りばめられた状況的なユースケースを詳しく説明しました。

「どんなに綿密に構築されたアーキテクチャでも、必須ライブラリがうまく動作しない場合、つまずく可能性があります。しかし…全てを使わずに何かをデプロイすることはできません。NPMを使ってBabelを入手し、ES5のあらゆる機能を使えるようにし、WebPackを使って全てをバンドルする必要があります。ただし、Typescriptがコンパイルされることをまず確認し、Gulpを使って全てを自動化する必要があります。これほど苦労するコミュニティは他にありません」とマイナー氏は語った。

C++

C++は、最新のTIOBEランキングで4位にランクインした、人気の高いプログラミング言語の一つです。1985年以降、C++はTIOBEのランキングで毎年平均10位以内にランクインしており、1990年から2015年にかけては平均してトップ3位以内にランクインしています。ハッチ氏はこの言語の人気に注目しつつも、C++は「多くの分野から嫌われている」と述べています。具体的には、ハッチ氏はC++を「C言語のオブジェクト指向拡張」であり「豊富な機能」を備えていると表現し、「言語が多機能になりすぎると、複雑になりすぎることもある」と指摘しています。

「[リーナス]トーバルズが言った『言い換えれば、優れた、効率的で、システムレベルかつ移植性の高いC++を実現する唯一の方法は、基本的にCで利用可能なものすべてに限定することだ』という言葉が好きです。つまり、C++のコードは往々にして非常に乱雑で、理解しにくいC++のコードベースが数多く存在するということです」とハッチ氏は述べた。

パール

プログラミングコミュニティの不満は、長年業界の定番言語に限ったものではありません。興味深いことに、ハッチ氏はPerlも最も嫌いなプログラミング言語の一つとして挙げています。最新のTIOBEランキングでは、Perlはトップ10入りを逃し、SwiftとRubyに挟まれて総合14位に留まりました。しかし、Perlの人気は昨年から上昇しており、2019年12月のTIOBEランキングでは20位から上昇しています。

「Perlはもはやそれほど広く使われていませんが、Perlのコードは依然として野放しの状態です。Perlはしばしば「書き込み専用」言語と呼ばれますが、今回のPerlへの批判は、経験豊富なPerl開発者でさえもPerlのコードを読むのが非常に難しいことを浮き彫りにしています。また、Perlは長年にわたり大きく変化しており、古いPerlのコードは最近のPerlのコードとは見た目が大きく異なる可能性があります」とハッチ氏は述べた。

Tagged: