プログラミング言語は、ある程度のユーザー数がいる言語だけでも250種類以上あると言われています。
今回はその中から、実際にシステムやサービスなどで使われている主要なプログラミング言語30種類をピックアップし、言語ごとの特徴や難易度、利用用途などを一覧で紹介します。
初心者におすすめのプログラミング言語と、習得するための方法についても解説しているので、是非チェックしてみてください。
このページの目次
プログラミング言語の種類は豊富に存在していますが、そもそもプログラミング言語とは何を指すのでしょうか。
ここではプログラミング言語の基本的な知識について解説します。
プログラミングとは、コンピュータにさせる処理を順番に書き出したものです。
プログラミング言語とは、その指示をする時に使う言葉を指します。
例えば、一度も料理をしたことのない人に「カレーを作って」と言っても、言われた方はどうすれば良いかわかりません。
まず最初に人参の皮を剥いて…と、カレーを完成させるためのプロセスを1つずつ順番に伝える必要があります。
それが日本語を理解できない相手なら、相手が理解できる言葉で説明をしないと伝わりません。
プログラミング言語とは、コンピュータが理解できる言葉で動作を細かく指示してあげることをいいます。
プログラミング言語は、「低水準言語」と「高水準言語」という2つに分類できます。
低水準言語とは機械語に近い言語を指し、コンピュータの細かい動作まで記述する必要があります。
一方で高水準言語は人間語に近く、抽象度が高い記述の言語を指し、現在使われているプログラミング言語の殆どに値します。
高水準言語のように、ある程度のユーザー数がいる言語だけでもその種類は250以上と言われており、派生された言語を含めると1000種類以上もあると言われています。
しかし、実際にシステムやサービスで使われているのは250種類の中の10%ほどです。
多くの種類が存在しているプログラミング言語ですが、それぞれの種類によって得意分野が異なるため、目的に合わせて習得する言語を選ぶ必要があります。
例えば、WebサイトやWebサービスを作る場合、フロントエンドであればHTML・CSS・JavaScript、バックエンドであればPHP・Ruby・Javaがよく利用されています。
業務システムの開発ではJava・C言語・C#・C++、ゲーム開発であればC#・C++を使用している企業が多いという特徴があります。
時代や技術の変化に伴い多くの言語が存在していますが、主要なプログラミング言語は何があるのでしょうか。
ここでは主要なプログラミング言語を難易度と併せて一覧で紹介し、それぞれ言語の概要についても解説します。
言語 | 利用分野 | 難易度 |
Java | Webサービス、アプリケーション、基幹システム、業務システム、組み込みシステム、サーバーサイド | ★★★★☆ |
JavaScript | Webサービス、アプリケーション、業務システム、スマートフォン・ゲーム | ★☆☆☆☆ |
C言語 | アプリケーション、OS、ソフトウェア、組み込みシステム | ★★★★★ |
C# | Webサービス、アプリケーション、業務システム、ゲーム、コンテンツ | ★★★★☆ |
PHP | Webサービス、アプリケーション、業務システム、サーバーサイド | ★☆☆☆☆ |
Ruby | Webサービス、アプリケーション、サーバーサイド、ゲーム | ★☆☆☆☆ |
Perl | Webサービス、アプリケーション、サーバーサイド | ★★☆☆☆ |
Swift | Apple製品関連のアプリケーション、ゲーム | ★★★☆☆ |
R言語 | 統計解析、機械学習、人工知能、テキストマイニングの実施 | ★★★★★ |
Python | Webサービス、業務システム、ゲーム、統計解析、機械学習、人工知能、ブロックチェーン、サーバーサイド | ★☆☆☆☆ |
Scala | Webサービス、アプリケーション、ゲーム、統計解析 | ★★★☆☆ |
type script | アプリケーション、サーバーサイド | ★☆☆☆☆ |
kotlin | アプリケーション、サーバーサイド | ★★☆☆☆ |
GO言語 | アプリケーション、サーバーサイド | ★★☆☆☆ |
C++ | アプリケーション、業務システム、ソフトウェア、ロボット、人工知能、組み込みシステム、ゲーム | ★★★★★ |
Google Apps script | アプリケーション、Google製品関連の機能拡張、業務効率化 | ★★★☆☆ |
D言語 | アプリケーション、ゲーム、組み込みシステム | ★★★★☆ |
Visual Basic.NET | アプリケーション、Windows関連のシステム | ★★★☆☆ |
Objective-c | Apple製品関連のアプリケーション | ★★★☆☆ |
BASIC | プログラミング教育、アプリケーション | ★☆☆☆☆ |
VBscript | 業務効率化 | ★★☆☆☆ |
Haskell | 基幹システム | ★★★★☆ |
Groovy | アプリケーション | ★★★☆☆ |
Delphi | Windows関連のアプリケーション、システム | ★★★★☆ |
Dart | アプリケーション | ★★☆☆☆ |
COBOL | 基幹システム、業務システム | ★★☆☆☆ |
SQL | アプリケーション、業務システム、人工知能 | ★★★☆☆ |
FORTRAN | 科学技術計算 | ★★★★☆ |
MATLAB | 人工知能、組み込みシステム | ★★☆☆☆ |
scratch | プログラミング教育 | ★☆☆☆☆ |
「Java(ジャバ)」は、求人数としてもトップクラスに入っている、オブジェクト指向型のプログラミング言語です。
アプリケーションやCG、宇宙開発、クレジットカードや銀行の決済処理、顧客管理などの基幹系システムと幅広い分野で人気があり、汎用性の高さが特徴といえます。
「JavaScript(ジャバスクリプト)」は、Webサイトの構築をする上で欠かせない、動きをつけることのできるプログラミング言語です。
HTMLやCSSを組み合わせて使うことで、Webサイトに訪れた時にポップアップを表示させたり、地図を表示できます。
ブラウザとテキストエディターがあれば、誰でも開発環境を準備できる簡単さも魅力です。
「C言語(シーゲンゴ)」は、1972年に開発されたという長い歴史を持ちながら、2023年6月現在でも世界で第2位の人気度を誇っているプログラミング言語です。
コンパイル方式であるためプログラムの無駄を省き、高い処理速度で実行できるのが特徴です。
OSやシステム・ロボット、宇宙開発やIoT機器への組み込みなど、汎用性が高いというメリットがありますが、機械語に近い構文で学習難易度も高いといえます。
「C#(シーシャープ)」は、Microsoft社が開発したC++とJavaの要素を組み込んでいるプログラミング言語です。
Windowsのデスクトップアプリケーションやゲーム開発に使用されることが多く、複雑な計算にも耐えることができる特徴があります。
C#を使うためには、無料でインストールできるMicrosoft社のVisualStudioという開発環境を用意する必要があります。
「PHP(ピーエイチピー)」は、Webサイトの構築に特化しており、ユーザーからは見えないバックエンドで動作するプログラミング言語です。
PHPを使ったWebサイトは世界でも多く2023年5月現在で使用率は77.4%と言われていますが、Web系の開発以外にはあまり使われていません。
XAMPPというソフトウェアをインストールするだけで開発環境を用意することができ、PHPの構文は比較的簡単で初心者でも取りかかりやすいと言われています。
「Ruby(ルビー)」は、日本人のまつもと ゆきひろ氏によって1993年2月に開発されたプログラミング言語です。
「Enjoy Programming」という設計思想から、比較的シンプルな構文でプログラミングを組むことができ、初心者でも学習を続けやすい特徴があります。
SNSやオンラインショッピングサイト・アプリケーションなど、主にWeb系のシステム開発に用いられることが多い言語です。
「Perl(パール)」は、学習の難易度を低くするために工夫されたスクリプト言語に分類され、ソースコードがシンプルなプログラミング言語です。
テキスト処理が得意で比較的高速で動作するため、Web開発で主に使われている特徴があります。
CPANというPerlで書かれたソフトウェアを集めた巨大なアーカイブが存在し、他のエンジニアが作ったソフトウェアをダウンロードし、ソースを活用することで、効率的なシステム開発を行うこともできます。
「Swift(スウィフト)」は、Apple社が開発し2014年にリリースした、比較的新しいプログラミング言語です。
主にiOSやmacOSなど、Apple社の製品上で動作するアプリケーション開発に使われている特徴があります。
他アプリケーションへの応用は少ないですが、比較的シンプルなため初心者でもコードが分かりやすく、Apple製品の開発では求人も多く存在しています。
「R言語(アールゲンゴ)」は、無料で使えるオープンソースとなっており、統計解析に特化しているプログラミング言語です。
複雑な統計計算の実行や機械学習、テキストマイニングの実施・ヒストグラムの作成などに使われている特徴があります。
統計やデータ解析に特化している言語であるため、システムやアプリケーション開発などには利用できず、またR言語を使いこなすためには統計学の知識も必須なので難易度が高いといえます。
「Python(パイソン)」は、ソフトウェアの品質や評価を専門とするTIOBE社が発表した「TIOBE Index for June 2023」で世界の人気が1位となっているプログラミング言語です。
機械学習で用いられるNumpy・Pandas・scikit-learnなどのライブラリも豊富であるため、開発コストの削減や効率アップに繋げられることから人工知能の開発にも活用されています。
Webサイト・アプリケーション開発など汎用性の高さが注目されており、多くの企業で導入実績があることも特徴です。
シンプルな構文は初心者でも比較的分かりやすく、学習を続けやすいだけでなく、AI開発など将来的にも需要が高まると予測がされています。
「Scala(スカラ)」は、関数を主に使用してプログラミングを構築する関数型と、オブジェクト指向型の両方を扱えるプログラミング言語です。
Scalaの開発者がGeneral Javaとjavacの開発に携わった経験があることから、Javaとの互換性に優れており、Javaの開発環境があればScalaを動作させることが可能となっています。
Webサービスの開発やシステム開発などに使用されており、オープンソースであるためコードを自由にカスタマイズして求める仕様に組み替えられる特徴があります。
「type script(タイプスクリプト)」は、Microsoft社によって2012年に発表されたプログラミング言語です。
JavaScriptの上位互換版となっており、基本構文がJavaScriptと殆ど同じでありながら、追加機能が使える特徴があります。
変数のデータ型といった定義を予め決めておけるので、コンパイルする時点でエラーが分かり、大人数が開発に関わるような場合に便利であると言われています。
「kotlin(コトリン)」は、2011年7月に発表された比較的新しい言語で、オブジェクト指向型のプログラミング言語です。
Javaとの互換性に優れており、Javaよりもシンプルな構文で安全性が高いため効率よく開発できる特徴があります。
主にAndroidのアプリケーション開発で使用されていることが多く、Webアプリケーションやサーバーサイド開発として利用されるケースもあります。
「GO(ゴーゲンゴ)」は、Google社が2009年に開発し2012年にリリースをした比較的新しいプログラミング言語です。
C言語やJavaと似ていながらもよりシンプルな構文であるため、効率よく開発できる特徴があります。
主にWebアプリケーションのバックエンド開発で使用されていますが、並行処理が得意で汎用性が高いためドローンやIoT開発にも利用されており、将来性のあるプログラミング言語と言われています。
「C++(シープラスプラス)」は、C言語の特性である処理速度に拡張機能を加えたオブジェクト指向型のプログラミング言語です。
C言語と互換性があり、OSやロボットの開発・業務システムやゲーム開発など幅広い現場で使用されているのが特徴です。
難易度が高いとされているC言語に加えてオブジェクト指向が加わっているため、初心者が学習するにはハードルが高いといえます。
「Google Apps Script(グーグルアップスクリプト)」は、 Google社が開発したJavaScriptベースのプログラミング言語です。
Googleのサーバー上に実行環境があるため、ソフトウェアをインストールせずともGoogleアカウントを持っているだけで開発できる手軽さが特徴です。
Google社の製品であるGmailやGoogleスプレッドシートなど連携機能が豊富ですが、開発環境が限定されるためJavaScriptと比べると求人数は少ないといえます。
「D言語(ディーゲンゴ)」は、C言語をベースに作られたオブジェクト指向型のプログラミング言語です。
C++よりも実用的な構文となるように配慮して設計されており、C言語の処理速度をそのままに使用できますが互換性はありません。
OSやアプリケーション、自動車などの組み込みに使われることが多いですが、D言語を指定した求人は少ないため、C言語・C++にプラスして習得すると技術者の強みになるでしょう。
「Visual Basic.NET(ヴィジュアル ベーシック ドットネット)」は、Microsoft社が開発したプログラミング言語でVisual Basicの後継版ですが100%の互換性はありません。
Windows上でのアプリケーション開発に使用されており、フォームを利用してマクロのように構築することができます。
Visual Studioでサポートされていて無料で利用ができるだけでなく、比較的シンプルで人間語に近いですが、プログラムの実行前にコンパイルが必要という特徴があります。
「Objective-c(オブジェクティブ シー)」は、C言語をベースに作られたオブジェクト指向型のプログラミング言語です。
主にMacOSやiPhone・iPad向けのアプリケーション開発で使用されており、Apple社製品のアプリケーション開発において多くのノウハウが存在しています。
しかし、Objective-cの上位互換版としてSwiftというプログラミング言語が開発されたため、今後は減少していく可能性があります。
「BASIC(ベーシック)」は、1964年に生まれた初心者向けのプログラミング言語です。
BASICは1970年〜1990年代にパソコンで世界的に使用されていましたが、Microsoft社がMicrosoft BASICを1975年に開発し、今では派生したVisual Basic・visual Basic NETが使用されています。
こうした派生言語が主流になってきたことから、BASICそのものを利用した開発のニーズは、現代ではほぼありません。
しかし、もともとは教育用のプログラムとして開発された言語であるため、プログラミング言語の学習を目的とする利用には向いているといえます。
「VBscript(ブイビースクリプト)」は、Microsoft社のVisual Basicをベースに作られたプログラミング言語です。
Windowsに標準で搭載されているため、開発環境をインストールしなくても使用できる特徴があります。
フォルダ操作やWebデータの取得など、業務効率化できるスクリプトを作ることができますが、後継製品と言われているPowerShellへの切り替えが推奨されており、需要の伸びは見込めないでしょう。
「Haskell(ハスケル)」は、1990年に開発された関数型の言語で、厳密な検証や解析に長けたプログラミング言語です。
主に厳格なシステムを必要とする金融・認証局や、科学・医療など研究に関連する分野で使用されている特徴があります。
構文が独特であるため学習コストが高くなりやすいですが、セキュリティ分野で価値が評価されておりHaskellを採用するベンチャー企業も増えています。
「Groovy(グルービー)」は、2003年に開発された言語でJavaと互換性のあるプログラミング言語です。
主にアプリケーションやドメイン固有言語として使用されており、Rubyに似ているシンプルな構文が特徴です。
「Delphi(デルファイ)」は、統合開発環境(IDE)が一体となったプログラミング言語です。
従来のプログラミング言語ではソフトウェアを複数使用していたものが、複数のプラットフォームをまたがる環境でも開発できるという特徴があります。
主にアプリケーション開発に使用されていますが、Windowsでしか基本的には動かせず学習コストも高いとされています。
「Dart(ダートまたはダーツ)」は、2011年にGoogle社が開発した比較的新しいオブジェクト型のプログラミング言語です。
JavaScriptの問題点を改善するための代替言語として生まれ、1つのソースで異なるOS用のスマートフォンアプリを開発できるFlutterに使用されている言語として注目されています。
JavaScriptやJavaに似ている特徴があるため、これらの言語を理解していれば比較的学習しやすいでしょう。
「COBOL(コボル)」は、1959年に事務処理用として開発された歴史のあるプログラミング言語です。
人間語に近く理解しやすい上に、信頼度が高いことから金融機関や政府機関などの事務処理や帳簿の出力・計算処理などで使用されています。
COBOLはOSに依存しないため、Windows・Mac・Linuxなどの様々なコンピューターで扱える特徴があります。
「SQL(エスキューエル)」は、集めたデータを整理して操作できるようにするデータベース言語で、厳密にはプログラミング言語ではありません。
SQLのみではアプリケーションやシステムの開発はできませんが、組み合わせて使用されることが多い特徴があります。
データベース言語であるため、人工知能の開発におけるデータ分析にも使われており、重要な言語の1つといえます。
「FORTRAN(フォートラン)」は、1954年に開発された世界で最古の高水準言語(人間語に近いプログラミング言語)です。
多くの数学関数を備えており、科学技術計算のプログラミング言語として使用されている特徴があります。
主に天気予報や物理学的な計算や生物学的な計算に使われていますが、科学技術計算の知識が必要であるため学習難易度は高いといえます。
「MATLAB(マトラボまたはマットラブ)」は、Mathworks社が開発した統合開発環境が一体となったプログラミング言語です。
構文が比較的簡単でありながら、データ解析を得意としており標準で分析用のツールが豊富に備わっている特徴があります。
人工知能(AI)のディープラーニングや画像解析や数値解析、センサー反応やカメラの映像で動きを制御するロボット工学などに使用されています。
「scratch(スクラッチ)」は、難しい知識がなくても始められるプログラミング教育用に作られたプログラミング言語です。
ブロックを繋げていくだけでプログラミングができる視覚的な操作が特徴で、子どものプログラミング学習に使用されています。
プログラミング開発には使えませんが、アニメーションやゲームなどの作品を作りながら楽しく学習できる利点があります。
paiza株式会社が2022年12月に発表した「プログラミング言語に関する調査(2022年版)」によると、最も高額な平均年収はScolaの682.9万円でした。
最下位のVisual Basic(Visual Basic.NET)でも516.6万円となっており、平均443万円と言われている日本人の平均年収と比べても、プログラミング言語を扱うエンジニアの平均年収は全体的に高いと言えます。
平均年収ランキングについて詳しく知りたい方は、こちらの記事もチェックしてみてください。
学生と社会人の学習で人気が高いプログラミング言語では、どちらも似ている結果が出ています。
ここでは、初心者が学びやすいプログラミング言語を5つに絞ってご紹介します。
データサイエンスや人工知能分野の成長に伴い、世界の人気が1位となっていると同時に今後も人気が見込まれるプログラミング言語です。
機械学習で用いられるNumpy・pandas・scikit-learnなどのライブラリも豊富であるため、開発コストの削減や効率アップに繋げられることから人工知能の開発にも活用されています。
その他にもオープンソースコードによって誰でも開発に参加できるハードルの低さや、Webサイト・アプリケーション開発など汎用性の高さが注目されており、Linux・Windows・Mac OS・iOS・Androidといった幅広い環境下で動かすことができます。
構文がC言語やJavaに比べて短く、シンプルで誰が書いても同じようなコードになるように設計されているため、初心者にもおすすめです。
C言語をベースとして開発されたJavaは、世界中で使用されているため技術的にも安定しており、今後も人気の持続が見込まれるプログラミング言語です。
JVM(Java Virtual Machine:Java仮想マシン)で動いているため、環境に依存せずに実行できるだけでなく、処理速度が早いことも人気の理由となっています。
開発当時からセキュリティを考慮した設計であるため、安定性が高く大企業の業務システムや基幹システムの開発にも重宝されている特徴があります。
他の言語に比べてルールや記述が多いことから、初心者には学習コストが高いと考えられますが、求人数が多く他の言語の学習にも役立つためおすすめです。
Personal Home Page Toolsの略称であるPHPは、世界中でWebサイトやアプリの開発に使用されており、今後も安定した需要が見込まれるプログラミング言語です。
パッケージ化されたソフトウェアをインストールするだけで、誰でも開発環境を整えることができ、オープンソースのソースコードも多く公開されています。
HTMLにソースコードを埋め込めるので、ECサイトやSNSなどWebページに動きをつけられる特徴があります。
PHPライブラリという、構文において使用頻度の高い機能をまとめたものが豊富に存在しているため効率よく開発が可能で、日本語の学習情報も多いため初心者におすすめです。
JavaScriptは、Webサイトの構築をする上で欠かせない、今後も需要の安定が見込まれるプログラミング言語です。
HTMLやCSSを組み合わせて使うことで、Webサイトに訪れた時にポップアップや地図の表示といった動きをつけられる特徴があります。
ブラウザとテキストエディターがあれば誰でも開発環境を準備できる簡単さで、プログラムの動作をすぐに確認できるため初心者におすすめです。
大規模基幹システムやハードウェア・ゲーム開発など汎用性の高さから、世界で1位・2位の人気を誇っているプログラミング言語です。
環境に依存せずに実行できるだけでなく、処理速度も早いため、ロボット開発などの組み込み分野でも使用されている特徴があります。
構文のルールや記述の多さから学習難易度はとても高いですが、幅広い分野で多くの求人が募集されているため、習得すればエンジニアにとって大きな強みとなります。
プログラミング言語を習得するためには、どのような方法があるのでしょうか。
ここでは3つの学習方法とそれぞれのメリット・デメリットをご紹介します。
プログラミング言語を習得する方法の1つ目は、本を読んで独学することです。
手軽に始められるので学習ハードルを下げられると同時に、本の購入費用だけで習得できるため金銭的に低コストである点がメリットです。
一方で本の場合は、基礎が理解できている前提で書かれているものや、本によって情報の統一性が保てず、実践スキルが伴わないといったデメリットもあります。
プログラミング言語を習得する方法の2つ目は、学習サイトを使ってWEBで学ぶことです。
インターネット上には無料で豊富な言語を学べる学習サイトがあり、金銭的コストをかけずに始められるだけでなく、環境構築が不要で始められることも多い点がメリットです。
テキストや動画などを閲覧しながら学習するスタイルであるため、独学とほとんど変わらないのでモチベーションの維持が難しい点がデメリットといえます。
プログラミング言語を習得する方法の3つ目は、スクールへ通って学ぶことです。
プログラミングスクールは、教室で対面授業を受けるかオンラインで受講するスタイルがあります。
どちらの場合でも、エンジニアとして経験が豊富な講師が解説して課題に対してフィードバックしてくれるだけでなく、学習仲間を見つけてモチベーション維持がしやすい点はメリットと言えるでしょう。
一方で有料のプログラミングスクールの場合は、学習言語の選定が予め必要であったり金銭的なコストがかかるのはデメリットです。
プログラミング言語の種類は、時代や技術の変化に伴い1000種類以上存在すると言われていますが、実際にシステムやサービスで使われているのは250種類の中から見ても10%ほどです。
言語により特性が異なるため開発できる対象も変わってきますが、Python・Java・PHP・JavaScript・C言語は今後も安定した需要が見込まれることから、習得すれば日本人の平均年収よりも高い収入を期待できるでしょう。
習得方法は独学かスクールに通うかのどちらかになるので、学びたい言語の難易度を考慮しつつ、自分に合った学習スタイルを探してみてください。
画像出典元:pixabay