プログラミング言語にはたくさんの種類があります。プログラミング言語の種類によって得意分野やできること、目的がそれぞれ異なります。
ここではさまざまなプログラミング言語に触れてきた私が、言語の概要やできることをそれぞれ解説していきます。
主要なプログラミング言語も網羅していますので、ぜひ参考にしてください。
メジャーなプログラミング言語
1.Java
最初に紹介するJava(ジャバ、ジャヴァ)は1995年に登場した汎用プログラミング言語です。
JavaはJVMと呼ばれる仮想環境を通して、コンピューターが実行可能なマシン語に翻訳されます。そのため特定のOSや環境に依存せず、プログラムを高速で実行できます。
Javaは特定の用途に特化しないため、大規模なシステム開発やAndroidアプリ、Webサービスなど、さまざまな開発で採用されています。
その分需要も高く日本国内での主要プログラミング言語の中で、Javaは最も求人が多いです。
- Javaはさまざまな用途の開発で使われる
- Javaの国内での需要は高く将来性も高い
- Javaはなんでもできる反面覚えることが多く難易度が高い
Javaの関連記事
- Javaエンジニアとしてフリーランスになるには?
- Javaを独学で学ぶためのおすすめ学習サイト10選
- 【初心者向け】Javaのおすすめ本7選!
- Javaを独学でマスターするには?初心者向けにおすすめの勉強法を紹介
- Javaがリモートワークに向いていない4つの理由
2.Python
Python(パイソン)は1991年に登場したオブジェクト指向の汎用プログラミング言語です。
近年AI(人工知能)や機械学習の分野で注目を集めている言語です。Pythonは汎用プログラミング言語のため、AI以外にもシステム開発や業務用ツール、Webサービス開発など、さまざまな用途で使われています。
またPythonは構文がシンプルでコードの可読性を重視しているため、初心者にも向いているプログラミング言語です。
Python推しのエンジニアも多く、最も将来が期待される言語でもあります。
- PythonはAI・機械学習の分野で人気
- Pythonはさまざまな開発で採用されている
- Pythonは初心者向きの言語で将来性も高い
Pythonの関連記事
- Pythonエンジニアとしてフリーランスになるには?
- Pythonの独学におすすめの無料学習サイト7選
- 独学でプログラミング!Pythonのおすすめ本9選
- Pythonを独学で学ぶための完全ロードマップ!
- Pythonがリモートワークに向いている3つの理由
3.C言語
C言語は1972年に登場した汎用プログラミング言語です。
C言語はコンパイル言語で高速で動作することが可能です。メモリやCPUなど動作環境の制約が厳しい基幹系システムや大規模システムなど、高速での処理が要求されるシステムの開発で採用されています。
登場からすでに半世紀近く経ちますが、未だC言語を採用しているシステムが多くまだまだ需要は高いと言えます。
C言語は比較的難易度が高く、厳密なメモリ管理が必要な言語です。ポインタや共用体など他の言語にはない概念を理解が必要で初心者には不向きです。
- C言語は登場が1972年と歴史のある言語
- C言語はハードウェア寄りの低水準言語で高速で動作する
- C言語は未だ多くのシステムで採用されている
- C言語は初心者には難易度が高い
C言語の関連記事
4.C++
C++(シープラスプラス)は1983年に登場した、オブジェクト指向の汎用プログラミング言語です。
C++はその名のとおり、C言語の機能を拡張した言語で互換性もあります。処理速度もC言語同様でさまざまな機能が拡張されています。C言語で作られたシステムをC++に置き換えることも容易です。
C++は汎用プログラミング言語のため、ロボットやIoT(モノのインターネット)などの開発、AI(人工知能)や組込みシステムの開発など多種多様です。
- C++はC言語の機能を拡張した言語
- C++はC言語同様に処理速度が早い
- C++は汎用プログラミング言語のためさまざまな開発が可能
- C言語同様に初心者には難易度は高い
C++の関連記事
5.C#
C#(シーシャープ)は2000年に登場したオブジェクト指向プログラミング言語です。
C#はMicrosoft社が開発した言語でありC系(C言語、C++)の言語に影響を受けていますが、互換性はありません。ゲーム開発やWebアプリ開発、GUI(グラフィックユーザーインターフェース)アプリの開発が可能です。
C#の開発にはMicrosoftのIDE(統合開発環境)であるVisual Studioを使うことで、GUIアプリも簡単に作れます。
- C#はMicrosoftが開発した言語
- C言語やC++の影響を受けているが互換性はない
- ゲーム開発やGUIアプリ開発で使われる
- 初心者にはやや難易度が高い
C#の関連記事
6.JavaScript
JavaScript(ジャバスクリプト)は、1995年に登場したオブジェクト指向のスクリプト言語です。
主に動的なWebサイトの制作や、デスクトップアプリ、スマホアプリでの開発が可能です。スクリプト言語のため、コンパイル不要ですぐに実行できることから、初心者にもおすすめの言語です。
Web開発におけるフロントエンド(パソコン入力、Webブラウザ側の動作)開発をするためには、避けては通れない言語です。
また、Node.jsを使えばサーバーサイド(サーバー側での動作)開発もJavaScriptで可能です。
JavaScriptは需要も高くぜひ抑えておきたい言語です。
- JavaScriptはコンパイル不要なスクリプト言語
- JavaScriptはフロントエンド開発では必ずと言っていいほど使われる
- 言語としての難易度はやや低く初心者向き
- Node.jsを使えばサーバーサイド開発も可能
JavaScriptの関連記事
- JavaScriptエンジニアとしてフリーランスになるには?
- 独学でJavascriptを学ぶためのおすすめ本7選!
- JavaScriptの独学におすすめの学習サイト10選
- JavaScriptを独学で学ぶための完全ロードマップ
- JavaScriptがリモートワークに向いている理由とは?
7.Ruby
Ruby(ルビー)は1995年に登場した、オブジェクト指向スクリプト言語です。
日本人のまつもとゆきひろ氏によって開発された言語で、わかりやすく少ないコード量でプログラミングできることから、初心者向けの言語でもあります。
Rubyは主にWeb開発におけるサーバーサイドでの開発でよく採用されています。Rubyは汎用プログラミング言語でもあるため、特定の用途に特化せず、スマホアプリ開発やAI(人工知能)開発も可能です。
Rubyは学習コストも低く、フレームワークRuby on Railsを使うことで高速で開発が可能です。そのためベンチャー企業、新興企業でRubyの人気は高いです。
- Rubyはまつもとゆきひろ氏によって開発されたスクリプト言語
- Rubyは主にサーバーサイド開発で用いられるが、さまざまな用途で開発が可能
- Rubyは言語の難易度が低く初心者向き
- フレームワークRuby on Railsが使いやすく人気が高い
Rubyの関連記事
- 未経験からRubyを学んでフリーランスエンジニアになるには?
- 【Rubyの独学】おすすめ無料学習サイト9選
- Rubyの学習本おすすめ7選
- Rubyを独学で学ぶための4ステップ
- プログラミング初心者|Rubyはリモートワークに向いている?
8.PHP
PHP(ピー・エイチ・ピー)は1995年に登場した、オブジェクト指向のプログラミング言語です。
主にサーバーサイド(Webサーバー側)開発、WordPressの開発で用いられます。構文がシンプルで覚えやすいことから、言語としての難易度は低く初心者向けの言語です。
PHPでの開発は、フレームワークLaravelやCakePHPとセットで行うのが主流となっています。PHPはサーバーサイド開発での需要は高く、今後も当面は主要なプログラミング言語として、活躍すると予測できます。
- PHPはサーバーサイド開発で用いられるプログラミング言語
- PHPは構文がシンプルで扱いやすく初心者向けの言語
- PHPでの開発はフレームワークLaravelやCakePHPが用いられる
PHPの関連記事
- 【PHPの独学】おすすめ無料学習サイト7選
- PHPの学習本おすすめ8選|独学での注意点も詳しく解説
- 未経験からPHPを学んでフリーランスエンジニアになるには?
- PHPを独学で学ぶための完全ロードマップ!
- プログラミング初心者|PHPはリモートワークに向いている?
9.Excel VBA
VBA(ビジュアルベーシック・フォー・アプリケーションズ)は、Microsoft Officeシリーズに搭載されているプログラミング言語です。
使用用途は主にExcelでの機能をカスタマイズしたり、入力処理を自動化、拡張することが可能です。VBAは後述するVisual Basicと構文が非常に似ており、わかりやすく覚えやすいことから、初心者向きの言語です。
業務で普段からExcelを使用している場合は、ぜひとも習得しておくことをおすすめします。
- VBAはMicrosoft Officeシリーズに搭載されているプログラミング言語
- VBAは主にExcelでの業務効率化を目的に使われる
- VBA普段からExcelを使用しているなら習得しておきたい言語
- VBAはプログラミング言語としてわかりやすく初心者向き
VBAの関連記事
- VBAエンジニアとしてフリーランスになるには?
- Excel VBAの独学で使える無料学習サイト5選
- 【Excel VBA】独学におすすめの本7選
- 在宅フリーランスでVBAはあり?仕事内容や将来性について解説
10.Swift
Swift(スウィフト)は2014年に登場したオブジェクト指向プログラミング言語です。SwiftはApple社が開発した言語で、主にiOSやmacOSなどのアプリ開発で使われます。
元々Apple社のアプリはObjective-Cが使われていました。しかしObjective-Cは言語としての難易度が高く、扱いにくいことから、より簡単に開発が可能なSwiftが開発されました。
Swiftの登場以降、Appleのアプリ開発はSwift一択となりつつあります。
またSwiftは開発ツールのXcode(エックスコード)を使用することにより、効率よく開発可能です。
Swiftはモダン(現代的)なプログラミング言語のため、扱いやすく初心者向きです。
- SwiftはApple社が開発してオブジェクト指向プログラミング言語
- SwiftはApple社向けのアプリ開発で使われる
- Swiftでの開発はXcodeを使用する
- Swiftはモダンなプログラミング言語で初心者向き
Swiftの関連記事
11.Go言語
Go(ゴー)は2009年に登場した静的型付け(型が予め決められている)のコンパイラ言語です。
Googleが開発した言語でシンプルな言語構造、マルチスレッディング(並行処理)や処理速度に優れた言語です。そのため高速処理が要求されるサーバー開発で用いられています。
国内での需要はまだまだ少ないですが、近年注目を集めている言語です。Goを扱えるエンジニアも少ないことから年収は高い傾向にあります。
コンパイル言語のため、実行するまでが面倒ですが、文法がシンプルで言語仕様も複雑ではないため、初心者にもややおすすめできます。
- Go言語はGoogleが開発したコンパイラ言語
- Go言語は処理が高速でマルチスレッドが得意なためサーバー開発向き
- Go言語は文法がシンプルなためやや初心者向き
Go言語の関連記事
12.Kotlin
Kotlin(コトリン)は2011年に登場した、オブジェクト指向プログラミング言語です。
Kotlinはジェットブレインズ社によって開発された言語で、Javaをもっと簡潔・安全にするため改良されています。先述したJavaの仮想マシン(JVM)上で動作するため、マルチプラットフォームに対応した言語でもあります。
Kotlinは主にAndroidアプリ開発で近年人気を集めています。Javaとの互換性もあるため、JavaからKotlinへの置き換えも容易です。
KotlinはJavaと同様コンパイラ言語のため実行までが面倒であること、スクリプト言語よりは難易度が高いことから、やや初心者向きです。
- KotlinはJavaより簡潔・安全にするために開発された言語
- KotlinはJavaと互換性がある
- Kotlinは初心者にはやや不向き
Kotlinの関連記事
13.HTML
HTML(ハイパーテキスト マークアップ ランゲージ)はWebページを作成するためのマークアップ(文書を構造化)言語です。※HTMLは厳密にはプログラミング言語ではありません
HTMLは主に見出しやボタン、テキストなどの配置を行います。Webページ作成における土台のような役割をします。
現在インターネット上に公開されているWebページは、ほとんどがHTMLで構成されています。Webエンジニアを目指すなら、HTMLは避けては通れない言語です。
またHTMLはプログラミング言語ではなくマークアップ言語のため、初心者向きでもあります。
- HTMLはWebページ作成に欠かせないマークアップ言語
- ほとんどのWebページがHTMLで使われている
- HTMLは初心者向きでWeb開発において避けては通れない言語
14.CSS
CSS(カスケーディング・スタイル・シート)は、Webページの見た目を装飾するためのスタイルシート(表示形式の制御)言語です。
HTMLがWebページの各要素を定義する土台、骨格の役割をするのに対して、CSSはWebページを装飾するために使われます。
CSSを使うことにより、文字色やサイズ、背景色などのレイアウトを整えられます。
HTMLとCSSは基本的にセットで学びます。
- CSSはWebページの装飾に欠かせないスタイルシート言語
- CSSは初心者向きでWeb開発において避けては通れない言語
15.Visual Basic .NET
Visual Basic .NET(ヴィジュアル ベーシック ドットネット)は2001年に登場した、オブジェクト指向のプログラミング言語です。VB.NETとも呼ばれます。
マイクロソフトが開発した言語で、Windows向けのさまざまなアプリケーションやWeb開発ができます。
派生言語としては、先述のVBA、VBScriptなどがあります。
なおVB .NETは開発ツール「Visual Studio」を使用します。Visual Studioを使用することにより、各種コンポーネントを配置して効率よくアプリ開発が可能です。
VB .NETは文法がわかりやすく、Visual Studioの使い勝手の良さから初心者でも習得しやすい言語です。
- VB.NETはマイクロソフトが開発したオブジェクト指向プログラミング言語
- VB.NETはWindows向けのアプリやWebアプリが開発可能
- VB.NETは開発ツールVisual Studioを使用する
- VB.NETは文法がわかりやすく初心者向け
16.Scala
Scala(スカラ)は、2003年に登場した、オブジェクト指向と関数型言語の特徴を持つプログラミングです。
ScalaはJavaと互換性があり、先述したJavaの仮想環境(JVM)上で動作します。Javaと同様マルチプラットフォームに対応した汎用プログラミング言語のため、Webサービス開発やアプリ開発、システム開発などさまざまな用途で使われています。
またJavaの機能に加えてScala独自の機能や、簡潔に記述できることからJavaの後継としても注目されています。
ただしJavaよりは簡潔に記述しやすいとはいえ、文法は他の主要言語と比べると複雑なため、初心者にはやや難易度が高いです。
- Scalaはオブジェクト指向と関数型言語の特徴を持つプログラミング言語
- ScalaはJavaと互換性がありJVM上で動作する
- ScalaはJavaよりも簡潔な記述が可能で効率よく開発が可能
- Scalaは初心者にはやや難易度が高い
17.Perl
Perl(パール)は1987年にプログラマ、言語学者のラリー・ウォールによって開発されたインタプリタ型のプログラミング言語です。
Perlは汎用プログラミング言語のため、さまざまなプログラムで広く用いられています。
またPerlはインタプリタ型(ソースコードを一行ずつコンパイルしながら実行)言語でもあります。プログラムをコンパイル→実行という工程が不要で、プログラムを書いてすぐ動作確認が可能な点から効率よく開発できます。
Perlの文法はC言語やJavaと似ていますが、簡潔に記述することが可能ですのでやや初心者向きです。
- Perlはインタプリタ型のプログラミング言語
- Perlは汎用性が高くさまざまな用途で用いられる
- Perlはやや初心者向けの言語
- Perlは主要な言語に比べると需要は低い
18.SQL
SQL(エスキューエル)はデータベースを操作するための言語です。
SQLではデータベースにアイテムを挿入・削除したり、検索する際に使用します。よく使われるデータベースとしては「MySQL」「PostgreSQL」「Oracle Database」などがあります。
データベースは比較的規模の大きなシステム開発やWebサービス開発では必ずと言っていいほど使用します。そのためSQLでのデータベース操作の理解は必至です。
SQLは厳密にはプログラミング言語ではありませんが、海外の有名サイトではプログラミング言語と同列で扱っていることが多いです。
- SQLはデータベースを操作するための言語
- エンジニアとしてSQLの理解は必至
19.R言語
R(アール)言語は、1993年に登場した統計解析向けのプログラミング言語です。
R言語は機械学習の分野でもよく利用されています。機械学習はAI(人工知能)と関係が深く、統計解析やビッグデータの解析などでも導入されています。
機械学習エンジニアやデータサイエンティストとしてR言語は活躍していますが、人気度や将来性ではPythonに軍配が上がります。
理由としてR言語はデータ分析に特化していることが挙げられます。また統計学の知識がないと活用できないため、初心者には不向きです。
- R言語は分析に特化したプログラミング言語
- R言語は機械学習エンジニアやデータサイエンティストに用いられる
- R言語は初心者には不向き
20.Objective-C
Objective-C(オブジェクティブ シー)は1984年に登場したオブジェクト指向プログラミング言語です。
C言語をベースにオブジェクト指向機能を追加した上位互換言語です。オブジェクト指向はSmalltalk(スモールトーク)と呼ばれる言語を参考にしています。
以前はApple社のmacOSやiOS向けのアプリ開発で採用されていましたが、今ではその地位をSwiftに奪われつつあります。
Objective-Cはオブジェクト指向言語のため、元となるC言語よりはとっつきやすいです。しかし文法が独特で初心者には不向きです。
- Objective-CはC言語をベースにしたオブジェクト指向プログラミング言語
- Objective-CはApple向けアプリ開発の標準言語として採用されていた
- Objective-Cは文法が独特で初心者には不向き
マイナーなプログラミング言語
1.Dart
Dart(ダートまたはダーツ)は、2011年に登場したオブジェクト指向プログラミング言語です。
DartはGoogleによってモバイルアプリ(スマホ向けアプリ)として開発された言語です。
Dartの大きな特徴としては、Android及びiOSのネイティブモバイルアプリが開発できるツールFlutter(フラッター)で採用されていることが挙げられます。
構文はJavaScriptと似ているため、初心者でも習得しやすい言語です。DartのプログラムをJavaScriptに変換することも可能です。
Dartの需要はまだまだ低いですが、Flutterでネイティブモバイルアプリ開発が可能なことから注目を集めています。
- DartはGoogleが開発したオブジェクト指向プログラミング言語
- DartはJavaScriptに構文が似ていて変換もできる
- Dartはやや初心者向き
2.VBScript
VBScript(ブイ・ビー・スクリプト)は1996年に登場したスクリプト言語です。
VBScriptはMicrosoftが開発した言語で、Visual Basicをベースに作られました。特別な環境構築は不要でメモ帳があればプログラミングできます。
汎用スクリプト言語として開発されたため、ファイルやフォルダを操作したり、メールの送信などWindowsでの作業効率化やちょっとしたツール作成に向いています。
構文はVisual Basicに似ているため初心者でも習得しやすい言語ですが、用途は限られているため、需要は高くありません。
- VBScriptはMicrosoftが開発したスクリプト言語
- VBScriptはVisual Basicをベースに作られている
- VBScriptはVisual Basicと構文が似ていて初心者でも習得しやすい
3.jQuery
jQuery(ジェイクエリー)は2006年に登場したJavaScript向けのライブラリです。(厳密にはプログラミング言語ではありません)
ライブラリとはある機能があらかじめまとまったファイルのことです。ライブラリを使用して開発を効率化することはよくあります。
JavaScriptをより簡易的に記述できるよう設計されており、Web開発において使用頻度も高いです。
jQueryはさまざまなブラウザに対応しています。HTML/CSSの操作やAjax(非同期で動作できるJavaScriptとXML)の処理が容易などの特徴があります。
なおjQueryを扱うにはフロントエンド開発で用いるHTML/CSS、JavaScriptの知識は必至です。
- jQueryはJavaScript向けの人気ライブラリ
- jQueryを用いることで効率よくJavaScriptで開発が可能
4.Node.js
Node.js(ノード・ジェイエス)は2009年に登場したサーバーサイド向けJavaScriptの環境です。
JavaScriptはフロントエンド(Webブラウザ側)の処理で実装されますが、Node.jsを使用することで、サーバーサイド(Webサーバー側)の処理が可能になります。
そのため、Node.jsはサーバーサイドのJavaScriptとも言われています。
つまりNode.jsを使用することで、JavaScriptのみでフロントエンドとサーバーサイド両方の開発が可能になります。
- Node.jsはサーバーサイド向けのJavaScript環境
- Node.jsを使用することでJavaScriptのみでサーバーサイド開発が可能
5.TypeScript
TypeScript(タイプスクリプト)は2012年に登場したオブジェクト指向のスクリプト言語です。
マイクロソフトによって開発された言語で、JavaScriptを拡張して作られています。
TypeScriptの大きな特徴としては静的型付けが可能なオブジェクト指向言語であること。(JavaScriptは動的型付け)
またTypeScriptをコンパイルすることで、JavaScriptのコードに変換できます。そのためJavaScriptが動く環境なら動作可能でJavaScriptのライブラリも使用できます。
TypeScriptは大規模なアプリケーション開発に向けに作られ、JavaScriptよりも簡潔にコードを記述できます。
- TypeScriptはオブジェクト指向のスクリプト言語
- TypeScriptはJavaScriptを拡張して開発された言語
- TypeScriptをコンパイルするとJavaScriptのコードに変換できる
6.COBOL
COBOL(コボル)は1959年に登場した、事務処理用のプログラミング言語です。
事務処理用と言われているだけに、事務を効率化する目的で開発された言語です。人間の言葉に近い文法でプログラミングを記述できるため、事務員でもプログラミングできるように設計されています。
ただし主要な言語と比べると文法が独特です。半世紀以上前の言語のため当時の業務周りを理解しないと、習得は難しいと言えます。
COBOLの特徴として自然言語に近い構文のため、部、節、段落、文の階層で記述します。
またCOBOLは計算処理も得意なため、現在でも金融業界や大規模システムなど現役で稼働しています。
- COBOLは事務処理用のプログラミング言語
- COBOLは現在でもさまざまなシステムで使われている
- COBOLは当時の環境も含めて理解しないと習得は難しい
7.BASIC
BASIC(ベーシック)は1964年に登場した手続き型のプログラミング言語です。
BASICは「beginners’ all-purpose symbolic instruction code(初心者向け汎用記号命令コード)」の頭文字を取ったもので、初心者向けに開発された言語です。
さまざまな用途で開発可能で、プログラミングの教育、簡易的なアプリケーション開発などで使われました。
先述したマイクロソフトが開発したVisual BasicはBASICの影響を受けています。ただしVisual BasicはGUIアプリ開発に特化したプログラミング言語のため、言語仕様は大きく異なります。
- BASICは手続き型のプログラミング言語
- BASICは初心者向けの言語でやや簡単に記述可能
- Visual BasicはBASICの影響を受けている
8.FORTRAN
FORTRAN(フォートラン)は1954年に登場した世界初の高水準言語(人間にとって理解しやすい言語)です。
FORTRANは数値計算に適した手続き型プログラミング言語です。歴史のある言語ですが、今でも改良して使われています。なお最新版は「Fortran 2018」です。
なおFORTRANは現在のモダンな言語と比較しても基礎構文はわかりやく、やや初心者向けです。(第一言語としてはおすすめできません)
- FORTRANは世界初の高水準言語
- FORTRANは数値計算に適した手続き型プログラミング言語
- FORTRANはやや初心者向けの言語
9.Bash
Bash(Bourne-again Shel – ボーン・アゲイン・シェル)は1989年に登場したUnixシェル用のコマンド言語です。
UnixベースのOSであるLinuxディストリビューションでは標準で採用されています。主にUnixにおける、コマンドベースの命令文を記述したシェルを実行するために使われます。
Bashは、変数や繰り返し処理、演算などちょっとしたプログラミングも可能です。
Linux系を扱うエンジニアやバックエンドエンジニアは、使用頻度が高い言語でもあります。
- BashはUnixシェル用のコマンド言語
- Bashはちょっとしたプログラミングも可能
10.なでしこ
なでしこは2004年に登場したスクリプト型のプログラミング言語です。日本語ベースでプログラミングが可能で、アプリ開発やツール作成など可能な汎用性の高さが特徴です。
製作者のクジラ飛行机さんによると、なでしこが中学校のプログラミング教材に採用されたと発表しています。
なでしこは日本語プログラミングが可能で、文法もわかりやすく、誰でも簡単にプログラミングができることを目標としています。
- なでしこは日本語ベースのスクリプト型プログラミング言語
- なでしこは2021年より中学校の教材で使われる
- なでしこは文法もわかりやすく初心者向けの言語
11.プロデル
プロデルは2013年に正式版が発表されたスクリプト型プログラミング言語です。なでしこ同様日本語ベースでのプログラミングが可能です。
プロデルは日本語文のように、プログラミングができるよう設計されています。文法もわかりやすく、プログラムを見れば何の処理かわかるようになっています。
プロデルは高速で処理することも可能で、本格的なプログラムやちょっとしたツールやゲーム制作も可能です。
- プロデルは日本語ベースのスクリプト型プログラミング言語
- プロデルは高速処理も可能で実用性も高い
- プロデルは文法もわかりやすく初心者向けの言語
12.ドリトル
ドリトルは2003年に登場したオブジェクト指向のプログラミング言語です。なでしこ、プロデル同様日本語ベースのプログラミング言語です。
ドリトルは教育用に設計され多言語で中学校、高校の副教材として採用されています。かめのオブジェクトをさまざまな指示をして動かしていくことで、プログラミング思考を養います。
- ドリトルは教育用に設計されたオブジェクト指向言語
- 指示を与えて動かすことでプログラムの基礎を学べる
13.Scratch
Scratch(スクラッチ)は2006年に登場した、ビジュアルプログラミング言語です。
8〜16才のユーザーをターゲットにした教育用の言語で、学校の教材やパソコン教室などで採用されています。
Scratchは言語というよりも、学習環境という位置づけで、部品をドラッグ&ドロップして、マスコットキャラクターの「Scratchキャット」を動かしていきます。
そのためプログラミングスキルは必要ありません。キャラクターに指示を与えることで、ゲーム感覚で楽しみながら、プログラミング思考を身につけられます。
- Scratchは教育用に設計されたビジュアルプログラミング言語
- 指示を与えて動かすことでプログラムの基礎を学べる
14.Google Apps Script
Google Apps Script(グーグル・アップス・スクリプト)は2009年に登場したスクリプト言語です。略称としてGAS(ガス)と呼ばれることも多いです。
Google Apps ScriptはGoogleのサービスを自動化するための言語で、JavaScriptがベースになっています。
例えばスプレッドシートで必要な情報を取得して一覧で表示させたり、Gmailと他のサービスを連携して通知を送信するなど、さまざまな使い方があります。
仕事でGoogleのサービスを使用する機会が多いなら、非エンジニアでもぜひ抑えておきたい言語です。
- Google Apps ScriptはGoogleのサービスを自動化するための言語
- JavaScriptがベースになっている
- Googleのサービスをよく使うなら抑えておきたい言語。
15.Haskell
Haskell(ハスケル)は1990年に登場した純粋関数型プログラミング言語です。
純粋関数型プログラミング言語は、関数のみを組み合わせてプログラミングします。他の主要なプログラミング言語と比較すると、文法がかなり異なることが多いです。Haskellの文法を理解しないと記述するのが難しく、初心者向けではありません。
Haskellは効率よく開発が可能な言語で、Webアプリやゲーム、管理システムなどさまざまな用途での開発が可能です。
- Haskellは純粋関数型のプログラミング言語
- 他のプログラミング言語と文法がかなり異なる
- さまざまな開発が可能
- 初心者には不向き
16.Rust
Rust(ラスト)は2010年に登場したオープンソースのシステムプログラミング言語です。C言語やC++の代替言語として開発されたため、構文はC++に似ています。
構文だけではなくメモリ効率が高く高速で並行処理も得意なため、組込み開発やシステム開発の分野で最適な言語です。
- Rustはオープンソースのプログラミング言語
- C言語やC++の代替を目的として開発された
- 高速で並行処理が得意
17.D言語
D言語は2001年に登場したC言語をベースとしたシステムプログラミング言語です。文法はC言語に似ていますが、わかりやすい文法とハイパフォーマンスな動作が可能となるように設計されています。
D言語は汎用プログラミング言語のため、C言語やC++のようにさまざまな分野の開発が可能です。C言語より難易度は低いですが、コンパイル言語であるため初心者にはとっつきにくくおすすめできません。
- D言語はC言語をベースとしてシステムプログラミング言語
- 汎用プログラミングのためさまざまな分野で開発が可能
- 初心者には不向き
18.MATLAB
MATLAB(マットラブ)は数値解析用のソフトウェアで、その中で使うプログラミング言語の名称です。
MATLABは近年データ分析、データの可視化などディープラーニングの分野で注目されています。毎月プログラミング言語の人気ランキングを発表しているTIOBE Indexでも、比較的上位にランクインしています。
- MATLABは数値解析用のソフトウェアの中で使うプログラミング言語
- 主にディープラーニングの分野で使われている
19.PowerShell
PowerShell(パワーシェル)は2006年に登場した、コマンドラインインターフェイスまたはスクリプト言語です。
マイクロソフトが開発した言語で、Windows7以降のOSには標準搭載されています。
PowerShellは主にタスク自動化の目的で使用されることが多く、サーバーの管理やコマンドを記述してファイルやフォルダの操作が可能です。
- PowerShellはマイクロソフトが開発したスクリプト言語
- Windows7以降のOSには標準搭載されている
- 主にタスクの自動化で使われる
20.Delphi
Delphi(デルファイ)は1995年に登場したIDE(統合開発環境)及びプログラミング言語です。
Delphiは主にデスクトップアプリケーションの開発で利用されています。Visual StudioなどのIDE同様に部品を視覚的に配置して、アプリケーションを開発できます。
Delphiを使えば効率よくアプリケーションが開発できますが、現在需要も高くありません。アプリケーション開発ならマイクロソフトが開発したVisual BasicやJava,Pythonなどの言語を選択したほうが良いでしょう。
なお、DelphiはWindowsのみ対応しています。
- Delphiは統合開発環境及びプログラミング言語
- アプリケーションの部品を視覚的に配置して開発可能
21.Groovy
Groovy(グルービー)は2003年に登場した動的型付けのプログラミング言語です。
Javaのプラットフォーム(JVM)上で動作し、Javaと連携することも可能です。スクリプト言語でもあり、構文がRubyライクであることから、Javaよりも難易度は高くありません。
また、Javaで開発できるものは大抵Groovyでも可能です。
- Groovyは動的型付けのプログラミング言語
- Javaと互換性があり連携も可能
- Rubyライクなスクリプト言語のため習得しやすい
22.Julia
Julia(ジュリア)は2012年に登場した動的型付けのプログラミング言語です。
汎用プログラミング言語のため、特定の用途に特化せずさまざまな開発が可能です。
また高度な数値計算や科学計算も得意なことから、機械学習やデータサイエンスの分野でも人気があります。ただし機械学習の分野ではPythonのほうが知名度・人気も高くJuliaのシェアはまだまだ少ないと言えます。
- Juliaは動的型付けのプログラミング言語
- 汎用プログラミング言語で特に計算処理が得意
- 機械学習やデータサイエンスの分野で知名度が高い
23.Lisp
Lisp(リスプ)は1958年に登場した関数型のプログラミング言語です。
Lispの歴史は古く、高水準言語(人間にとって理解しやすい言語)では先述のFORTRANに次で2番目に古いです。
Lispは今でも現役で使われているプログラミング言語です。主にAI(人工知能)、機械学習の分野で用いられています。
- Lispは数型のプログラミング言語
- 高水準言語の中ではFORTRANに次いで古い
24.Pascal
Pascal(パスカル)は1970年に登場した、静的型付けのプログラミング言語です。
Pascalは教育用に開発された言語であるため、わかりやすい文法で可読性が高い言語仕様となっています。
教育向けに開発された言語ですが、OSの開発やシステム開発でも用いられるようになり、1970代後半から1980年代は主要な言語の1つとして活躍しています。
- Pascalは静的型付けのプログラミング言語
- 教育目的で開発されているため可読性が高い
25.Alice
Alice(アリス)は子供向けの教育用プログラミング環境です。
3Dアニメやゲームなどを作成しながら、プログラミングに必要な論理的思考を学べます。
先述したScratchのようにドラッグ&ドロップで、プログラミングを組むことで、オブジェクトを動かすことができます。
- Alice(アリス)は子供向けの教育用プログラミング環境
- 3Dアニメやゲームを作成しながら論理的思考能力を養える
26.F#
F#(エフ シャープ)は2005年に登場した、関数型とオブジェクト指向のマルチバラダイムプログラミング言語です。
F#はマイクロソフトが開発した言語で、Visual Studio 2010より標準開発言語として搭載されています。
主にWindows向けのアプリケーション開発で用いられます。ちなみの同じマイクロソフトが開発したC#とも連携が可能です。
- F#はマルチバラダイムプログラミング言語で
- Visual Studio 2010に標準開発言語として搭載されている
27.Smalltalk
Smalltalk(スモールトーク)は1972年に登場したオブジェクト指向プログラミング言語です。
Smalltalkの名のとおり、メッセージ式でプログラミングを記述する言語で、わかりやすい言語仕様が特徴です。
またクラスベースの手続き型プログラミング言語のため、クラスライブラリも豊富に用意されています。
- Smalltalkはオブジェクト指向プログラミング言語
- メッセージ式でプログラミングが可能
まとめ:プログラミング言語にはたくさんの種類がある
今回はプログラミング言語別に特徴やできることについてまとめて紹介しました。プログラミング言語はそれぞれ目的や用途が異なります。
プログラミング言語を始める目的は手に職をつけたい、IT業界に転職/独立したいなど、目的はさまざまです。
プログラミング言語は学ぶほどに、スキルアップにつながるので、ぜひ自分にぴったりの言語があればチャレンジしてください。
なお言語の選定にあたり、下記記事も参考にしています。
参考記事
- プログラミング言語一覧 – Wikipedia
- TIOBE Index
- Top 100 Programming Languages