現在プログラミング言語は全部で200種類以上あると言われていますが、ゲームの開発で使われる、アプリ開発で使われる、のようにプロジェクト内容によって分けられる言語や、短いコードで実装でき保守性に優れている、簡単で初心者でも開発できる、など機能性で分けられる言語、などのように大まかに分類することができます。その視点では、最新の技術トレンドに応じて、プログラミング言語にも、派閥のようなものが生じると言えるでしょう。今回はソフトウェア開発の現場で頻繁に採用される言語の中に生じる派閥と、今後の変化について考察してみました。
プログラミング言語には「Webアプリの開発に適している」、「スマホアプリの開発に適している」、「学習しやすい」、「保守性が高い」など、それぞれ特徴があります。たとえば、「Java」、「PHP」、「JavaScript」、「Ruby」、「Python」、「Swift」、「Kotlin」の言語には以下のような特徴があります。
Javaは最も需要があるプログラミング言語です。クライアントサイド、サーバーサイド、スマホアプリなど多くの開発で利用されていますが、一番多いのはサーバーサイドの機能開発です。オープンソースの開発ツール、フレームワーク、ライブラリは数多く用意されており、企業の基幹システムなどの大規模で複雑なシステム開発にも対応できます。
初心者向けの言語と言われていて理解しやすく、プログラミング未経験からでも比較的短期間で簡単なWebアプリを作ることができるようになります。サーバーサイドのスクリプト言語で、Web業界では高いシェアを誇っています。Laravel、CakePHP、CodeigniterなどWebアプリ開発に役立つフレームワークが充実しています。
Webアプリのクライアントサイドの機能開発に主に利用されており、その需要に連動するようにAngular、React、Vueなど便利なライブラリが多く、ライブラリごとに参考書籍も多数出ていて初心者でも学習しやすいことも特徴に挙げられます。現在流行しているAIやブロックチェーンの開発にも使われています。また、JavaScriptはクライアントサイドのイメージが非常に強いですが、Node.jsを利用することでサーバーサイドの機能を実装することも可能です。
PHPと同じくWebアプリ開発で使われる言語です。「Ruby on Rails」という非常に有名なフレームワークがあり、多くの企業のWebアプリ開発で採用されています(Rubyの開発者を募集している求人のほとんどで、「Ruby on Railsの実務経験」が求められています)。また、スマホアプリの開発で利用されることもあります。
近年世間の需要が高まっている言語で、AI開発用のプログラミング言語として注目を集めています。計算や統計処理など機械学習の実装に必要なフレームワーク(Chainerなど)やライブラリ(TensorFlowなど)が豊富に用意されています。また、Webフレームワーク(Djangoなど)もあり、Web開発でも多くの実績があります。
2014年にAppleが発表したまだ歴史の浅い言語です。スマホ、ウェアラブル端末(Apple Watchなど)、コンピュータ、Webなどのアプリ開発で利用されており、中でもiPhoneのアプリ開発で利用されることが多くなっています。通常、Swiftでの開発にはApple社が提供する「Xcode」という開発ツールを使います。
2017年にGoogleより公式のAndroid開発言語として位置づけられた言語です。KotlinはJVM上で動作し、Javaと相互利用ができるように作られています。そして、Javaと比べると少ないコードで機能を実装することができます。Android開発に関しては今後、JavaよりもKotlinでの開発が増えていくことが予想されます。
上記は需要としても高く、人気のある言語で、それぞれ多くの支持者がいますが、プロジェクト立ち上げ時の開発チームのスキルセットをどう構成するか、などは要件に照らし合わせて組み合わせることもあります。そうした中では、各言語の支持者でどの言語で開発すべきか議論になることもあるようですし、スキルの需要はトレンドに応じて、派閥が生じていることもあるようです。
今までは、トレンドに合わせて、特にWebアプリ開発用の言語に人気が集中してきました。Webアプリのサーバーサイドの機能開発は、Java、PHP、Rubyが採用されることが多く、クライアントサイドはJavaScriptでの開発が一般的です。特にJavaは言語別にみる求人数では他を圧倒しています。詳しくは過去の記事もぜひご覧ください!
では今後、プログラミング言語の人気はどのように変化するのでしょう。現在は、「Python」などAI開発用の言語の需要が高まってきているように、トレンド技術の実装に適した言語は今後も伸びていくことが予想されます。また、簡易に効率的に使える「Kotlin」や「Scala」は長らく人気だったJavaの後継言語として注目されています。というように、今は人気の言語だからとはいっても今後の需要が少しずつ下降していく可能性もあるので、日頃から最新の情報に意識を向けておきましょう。
今回は、現在の人気言語の特徴について解説し、その中で生じる派閥や今後の需要について考察してみました。必要なソフトウェアは時代に合わせて変化していくものなので、もちろん、新しい「何か」を開発するためにはプログラミング言語もそれに合わせて変化していくのは必然と言えるでしょう。今後どの言語の需要が高まるかを見極めていくためには日頃からのトレンド情報をキャッチアップしておくと良いでしょう。