プログラミング言語の種類が多くて、何から学べばいいのかわからない……そもそも、言語ごとに何が違うの?
プログラミング言語は種類が多く、それぞれの特徴や意味がわかりずらいですよね。今回は、人気の言語からマイナーな言語まで幅広く調べてきました。おすすめの言語も紹介しているので、参考にしてみてくださいね。
✔この記事の情報
・プログラミング言語一覧と特徴
・どの言語が「どんな開発」に使われているか
・言語別の年収ランキング
・将来性が高い言語
プログラミング言語一覧と種類
プログラミング言語は、いくつかの種類にわけることができます。この種類を知っておくことで、プログラミング言語選びに役立ちますよ。何を選べばいいのか悩んでいる人は参考にしてみてください。
高水準言語
高水準言語(高級言語)は、人が理解しやすい言葉で作られたプログラミング言語です。文章が英語に近いので、比較的習得しやすいのが特徴です。
ソフトウェア開発では主に高水準言語が使用されています。そのため、初心者は高水準言語から学習するのがおすすめです。
<高水準言語一覧> |
・Python |
・Java |
・C# |
・Ruby |
・JavaScript |
・Swift |
・Kotlin |
・Kotlin |
・PHP |
・Perl |
・Go |
・R |
・MATLAB |
・SQL |
など |
・構文がシンプル
・メモリを自動管理してくれるので複雑な処理を入れる必要がない
低水準言語
低水準言語は、ハードやメモリに対して直接命令を送れるので、細かい指示ができるのが特徴です。人でも理解できるように、言語はある程度わかりやすく構文化されていますが、覚えるのはハードルが高いです。
メモリの仕組みはややこしいため、理解せずに使ってしまうと、トラブルが多発してしまいます。しかし、きちんと理解すれば、ハードの特性を100%生かすプログラムを組むことが可能です。
<低水準言語一覧> |
・アセンブリ言語 |
・C言語 |
・C++言語 |
など |
・構文が難しく、覚えることが多い
・メモリ管理を自分でする必要がある
※組み込み系の大規模開発では、好き放題プログラミングすると、メモリ容量が足りなくなる場合があります。そのため、記憶領域のプログラミングではメモリ管理が重要です。
スクリプト言語
スクリプト言語は、短い構文で、様々な処理を実行できる言語のことです。たとえば、繰り返し同じ処理を行ったり、簡単な手順を自動化できます。
また、コンパイルが不要で、即実行可能です。そのため、複雑な開発環境設定を簡略化できます。
<スクリプト言語一覧> |
・Python |
・JavaScript |
・Ruby |
・Perl |
・PHP |
・PowerShell |
など |
・コンパイル不要で、開発から実行までが早い
・変数の型が不要、自動で設定される
・構文がシンプル
オブジェクト指向言語
オブジェクト指向言語は、名前の通り「オブジェクト」に見立てて、操作する言語です。WEBサイトで「本文」「画像」「ウィジェット」などにプロパティ名と呼ばれる名前を付けて、操作することができます。
なので、ブロック単位で管理することができます。
<オブジェクト指向言語一覧> |
・Java |
・C++ |
・C# |
・Python |
・Ruby |
など |
・クラスを定義(名前を付けることで)し、オブジェクトとして扱える
・親クラスから子クラスに属性や操作を継承できる
・処理を一つの単位にまとめて、外部からのアクセスを制限できる
※画像、本文などに名前を付けて、ブロックの積み木のように操作するイメージです。
データ指向言語
データ指向言語は簡単に言うと、データベースに使われる言語です。顧客情報や販売データを管理・操作する言語として使われています。
<データ指向言語一覧> |
・SQL |
・R言語 |
など |
・データ処理の流れを把握しやすい
・データの抽出、変換、操作が簡単
プログラミング言語別に特徴を紹介
ここからは具体的に「どの言語」が「どんな開発」に使われているのかを紹介していきます。よく使われる言語を厳選したので、ここさえ覚えておけば、バッチリです。
Python
構文がシンプルで、データ分析、機械学習、ウェブ開発などで使用されることが多いです。
Pythonのフレームワークには、ユーザー認証やデータ分析など、ウェブ開発や機械学習で役立つ関数が既に用意されています。
その他にも、API(他の言語と連携できる関数)が充実しており、複雑なプログラミングも可能。ウェブ開発したい人には、一番に覚えてほしい言語です。
フレームワークとは、よく使う機能(処理)をまとめたものです
JavaScript
主にウェブ開発で使用され、フロントエンドとバックエンドの両方で使用できます。マルチで活躍できるので、汎用性が高いのが特徴です。
HTMLとCSSを組み合わせて使うので、構文を間違えても作動することがあります。そのため、複数人で開発する時は、コーディング規約を考えてプログラミングするようにしましょう。
・フロントエンドとはサイトにアクセスした際、デザインやアニメーションなどユーザーが見える部分を指します。
・バックエンドとはユーザーが見えない部分で、データ処理やユーザー認証などサーバー処理側を指します。
Java
銀行や保険会社など、企業の管理システムで使用されていることが多い言語です。どのOSでも動くので、プラットフォームに依存しないメリットがあります。
また、セキュリティ性が高く、サーバーとのやりとりも得意としています。ゲーム開発で使われることもあるので、様々な開発に対応しているといえます。
・マインクラフトの開発にも使われている言語
・androidのアプリ開発が得意
C++
計算能力が高く、OS開発、ドライバ開発、ゲーム開発、データ解析が得意な言語です。ゲーム開発では、3Dゲームに必要な計算を得意としています。
また、C言語と同じでメモリ管理を得意としているので、IoTに使用されることが多いです。ハードウェアの性能を最大限まで活用できます。
・IoTとは、掃除機や冷蔵庫など、物の制御に電子機器を組み込むことです
・Grand TheftやFar Cryの開発で使われているエンジンはC++で作られている
C#
マイクロソフトが開発した言語です。WindowsのVisual StudioやMicrosoft Officeに使用されています。
また、Unityエンジンの主要なスクリプト言語で使われており、PC、モバイル、VRなど様々なクロスプラットフォームに対応しています。
PHP
PHPはWeb開発に使われている言語です。ほかの開発でも使われることはありますが、Web関係が一番多いです。
PHPの特徴として、プログラミングがシンプル、クロスプラットフォームをサポートしている、Webサーバーと互換性などがあります。
例えば、Webサイトの画像や文字の表示方法をPHPで指定することで、Webサイトの高速化ができます。
・Web開発で使われることが多い
・サーバーとのやり取りを細かく設定できるため、サイトの高速化が可能
Swift
Swiftはappleが開発したプログラミング言語です。IOSのアプリ開発やmacOSの開発に使われています。
アプリ開発をしたいなら、覚えておいて損はありません。swiftの特徴として、構文がシンプルでとにかく動きが早いです。なので、コード数が多くなってもスマホで動かしたときに、サクサク動きます。
・apple製品専用のプログラミング言語
・IOS開発に使われている
Kotlin
Androidアプリ開発においてJavaの代替として人気が高まっている言語です。javaからKotlinに移植する場合もあるので、android開発においてjavaとKotlinはセットで覚えることが多いです。
その他にもWebのサーバーサイドの開発で使われることもあります。
Go
シンプルで効率的なシステムプログラミングを目指して作られた言語で、Googleが開発しました。日本ではあまり聞かない言語ですが、海外ではPythonと並んで人気がある言語です。
クラウドサービスを開発するのに適しており、Google DriveやDropboxなどはGoで作られています。また、複数の作業を同時に処理するのが得意です。これにより、サーバーが多くのリクエストに素早く応えることができます。
Ruby
日本で作られたプログラミング言語です。変数やルーチン(繰り返すプログラム)をスクリプト化できます。そのため、パーツごとに簡単に組み立てることができ、素早くプログラミングすることが可能です。
開発のプロトタイプ版を作る時にも、Rubyが使われます。
R
データ分析と統計解析に使用される言語。統計手法や数学的な関数が組み込まれています。統計学者など、研究者が使用することが多いです。
統計結果を視覚的に出力するパッケージも多く公開されています。
SQL
リレーショナルデータベースでデータを操作するための言語です。データの検索、挿入、更新、削除などの操作が行えます。
データベース内で制約を設けることで、データの整合性を保っています。言語の書き方は独特なので、苦手な人が多い言語ですが、データ管理といえばSQLと言われるぐらい使われているので、おすすめの言語です。
・リレーショナルデータベースとは、エクセルの列、行のようにデータでテーブルを使って管理する方法
・顧客情報などのデータ管理に特化した言語
C言語
組み込み開発に使われることが多い言語です。メモリの操作が得意で、メモリ容量をうまく節約して、様々な機能を組み込むことが可能です。
教育の場では最初にC言語を教える学校が多く、C言語を学んでいればプログラミングの基礎が大体身につくことができます。ただし、メモリ操作はとても難しく、理解しにくい項目です。
難易度は高いので、時間に余裕がある時に勉強しましょう。
Scala
Scalaは、オブジェクト指向と関数型の両方を持つプログラミング言語です。Javaと互換性があり、短くて分かりやすいコードを書けるのが特徴。
並列処理や大規模なシステムに強く、特にビッグデータ処理でよく使われます。例えば、金融システムで使われています。
TypeScript
TypeScriptは、JavaScriptに型を追加した言語です。型を使うことでエラーを減らし、より安全なコードが書けます。
JavaScriptと互換性があり、Webやモバイルアプリの開発に使われ、大規模プロジェクトに最適です。
【こんなにも違う!】プログラミング言語別の年収ランキング
出典:PR Times
表を見ると、あまり聞かない言語が上位にランクインしています。
ただ、Goはシンプルな構文でメモリ高速化を図れる言語、Typescriptはjavascriptの上位互換版など、転職時に年収が上がる基準はメジャーな言語から、いかに効率化できる技術を備えているかを見られているようです。
ただし、いきなりこの言語を学ぶのはおすすめしません。基礎ができてない状態だと、言語を覚えても、応用時に失敗してしまいます。
将来性が高いプログラミング言語
出典:PR Times
このランキングを見る限り、Web系とアプリ開発の需要が高いことがわかります。いまだに、Web・アプリ開発の市場は伸び続けており、javascriptとPHPは覚えておいて損はありません。
余裕があったり、アプリに興味がある人は、JAVAも視野に入れて勉強しましょう。
おすすめのプログラミング言語は?
おすすめのプログラミング言語は、PHP、Javascriptです。前述しましたが、Web系の市場は伸び続けているので、覚えておくことで仕事の幅が広がります。
組み込み系は、勉強に時間がかかってしまうため、余裕がある時に少しずつ勉強するようにしましょう。
【絶対やめてください】年収でプログラミング言語を選ばない方がいいワケ
ここまで、いろいろ紹介してきましたが、自分が開発したい内容に沿って言語を選ぶようにしましょう。プログラミングは耐久戦です。
開発規模によっては、数千から数万行のコードを書くことになります。年収で言語を選んでしまうと、メンタルがダメになってしまって、転職ということも…
僕も、なんとなくで就職してきた人たちが、すぐに転職する様子を何度も見てきました。自分が本当にやりたいことを決めた上で選ぶようにしてくださいね。