長い歴史を持つプログラミング言語C。その発展系としてオブジェクト指向を導入したC++とともに、現代でも、実用的なソフトウェアを作成するためのプログラミング言語として、さまざまな場面で使われ続けています。
そのようななかセキュリティ研究家trevor jim氏は、ブログ記事「C and C++ are dead like COBOL in 2017」を公開。CとC++はCOBOLのように、2017年に死ぬだろうという持論を展開し、注目を集めています。
同氏はセキュリティ研究家という立ち位置から、安全でないCやC++言語の批判を長年展開してきた経緯を持っているそうで、すでに"メンテナンスモード"に入っているCOBOLと同様に、C/C++は本質的には死んでしまった言語だと主張。
CやC++は安全ではないという問題のほか、プログラミングの難易度が高く、コンパイラによってとらえられないバグが簡単に書けてしまう欠点を抱えているとしています。
かわりに最近は安全な言語の活用範囲が大幅に広がっており、Web系ではRubyやPHPやJavaScript、エンタープライズアプリケーションではJavaや.NET、モバイルアプリではSwiftやJava、インフラ方面ではGo、アカデミックではPython、R、Haskell、Ocamlなどが使われていて、C/C++の最後の牙城であるシステムプログラミングでもRustのような新手の言語が登場し、C/C++を置き換えているとのこと。
プログラミング言語の人気の指標であるTiobe Indexでも、2002年にはC/C++の合計が35%であったのに対し、2017年には20%以下と長期的な下落傾向にあると指摘しています。
同氏はC/C++の死を加速する方法として、安全なシステム言語への投資を増やし、新しいプロジェクトを開始する際、安全な言語をデフォルトとして使用すれば良いと提案しています。
確かにWebアプリやモバイルアプリ、デスクトップアプリでCやC++を使う場面は少なくなっているため、全体的に人気が下落傾向にあることは揺るがない事実かもしれません。とはいえ例にあがっていたRubyやPHPなどの安全なプログラミング言語自体は、C/C++で記述されていることが多く、ソフトウェア開発の現場から2017年に急に消滅することはなさそうです。同様の指摘がRedditでも行われています。