プログラミング言語の特徴まとめ【なぜ習得しやすく人気があるのか】

出典:TIOBE

プログラミング言語の世界的な検索数を集計しているTIOBEティオビを見ると、いまの主要なプログラミング言語がわかります。

C系・Javaの需要は高いです。人工知能の需要によってPythonが躍進してきています。

これらの主要なプログラミング言語には、どのような特徴があるのか。

プログラミング言語の特徴を知っておけば、これからプログラミングを学習する場合に言語を決めやすくなります。

この記事では、プログラミング言語の特徴について解説します。

プログラミング言語の特徴

言語 OS 型付け コンパイル パラダイム
C WindowsMacOSLinux 静的 手続き型
C++ WindowsMacOSLinux 静的 手続き型・オブジェクト指向
C# WindowsMacOSLinux 静的 マルチ
COBOL WindowsMacOSLinux 静的 手続き型・オブジェクト指向
Fortran WindowsMacOSLinux 静的 手続き型・オブジェクト指向
Go WindowsMacOSLinux 静的 マルチ
Java WindowsMacOSLinux 静的 関数型・オブジェクト指向
JavaScript WindowsMacOSLinux 動的 不要 マルチ
Kotlin WindowsMacOSLinux 静的 関数型・オブジェクト指向
Ovjective-C MacOS 動的 マルチ
Perl WindowsMacOSLinux 動的 不要 マルチ
PHP WindowsMacOSLinux 動的 不要 マルチ
Python WindowsMacOSLinux 動的 不要 マルチ
R WindowsMacOSLinux 動的 不要 関数型・オブジェクト指向
Ruby WindowsMacOSLinux 動的 不要 関数型・オブジェクト指向
Scala WindowsMacOSLinux 静的 関数型・オブジェクト指向
Swift WindowsMacOSLinux 静的 関数型・オブジェクト指向
VBA WindowsMacOS 静的 不要 手続き型
VisualBasic Windows 静的 不要 手続き型・オブジェクト指向

OSWindowsWindows、MacOSMacOS、LinuxLinux

OS

プログラミング言語を動かせるOSのことです。身近なOSは、普及率が高いWindowsウィンドウズです。

現在は、ほとんどのプログラミング言語がWindows、MacOS、Linuxに対応しています。

市販のパソコンのOSはWindowsかMacOSなので、どのプログラミング言語でもたいていは動きます。

プログラミング学習のために、これからパソコンを買おうと考えている方には、選択肢が広いWindowsが良いです。

私は会社でWindowsを、家でMacを使っていました。Macが使いにくいので今は家でもWindowsにしています。

静的(例:C言語)

int main(void) {
int x, y; //整数に型付け
double z; //小数に型付け
x = 3;
y = 2;
z = x / y;
printf("%f\n", z);
return (0);
}

動的(例:Python)

x = 3
y = 2
z = x / y
print(z)

プログラミングでは、プログラムに書いた字が文字なのか数字なのかをパソコンが判断できるように型付かたつする必要があります。

動的型付けのプログラミング言語は、プログラム実行時に自動で型付けされるので記述(コーディング)量が少なくなります。人間が読むときに気を遣わなくてよいプログラムになります。

プログラミングの学習中に非常によく遭遇するエラーが、型のエラーです。「型が一致しません。」というエラーに引っかかって手が止まります。

動的型付けの言語を選ぶと、型のエラーで手が止まることが少なくなります。プログラミング学習でもストレスを軽減できます。

コンパイル

コンパイルとは、人間が書いたプログラムを機械語に変換する作業のことです。コンパイルするとプログラムの実行速度は高速になります。

プログラミング言語によっては、プログラムの実行にあたって必ずコンパイルしなければならない言語があります。

逆に、コンパイルの必要が無いプログラミング言語は手間が少ないため、プログラミングの変更や拡張がしやすく扱いやすいです。

コンパイルの必要が無い場合はインタプリタという方式でプログラムが実行されていきます。コンパイルしたプログラムよりも実行速度が遅くなるのがデメリットです。

とは言っても、実行速度の差は人間が感じられるようなものではありません。

パラダイム

パラダイムとは、プログラムの記法のことです。

手続き型がもっとも原始的であり、処理を淡々と上から書いていく単純な記法です。

現在はオブジェクト指向プログラミングが多くの開発現場で採用されていることもあり、オブジェクト指向を習得しておくと有利です。

「マルチ」は、オブジェクト指向も含めて手続き型でも関数型でもプログラミングできるパラダイムのことです。

オブジェクト指向またはマルチパラダイムのプログラミング言語が良いです。

プログラミング言語の特徴と用途

プログラミング言語の特徴によって、用途には向き不向きがあります。

  • 組み込み:C、C++、Java
  • ウェブ:JavaScript、PHP、Python
  • スマホアプリ:Java、Kotlin、Swift、Go
  • ゲーム:C++、C#、JavaScript
  • 人工知能:Python、R、C++
  • オフィス業務:VBA

組み込み

静的・コンパイル

家電や自動車、ATMなどの機械には、決まった動作をさせるプログラムが組み込まれています。

たとえば、炊飯器には「ボタンが押されると30分炊いて10分蒸らす」というようなプログラムが組み込まれています。

コンパイルする言語はプログラムの実行速度が早いです。また、製品に組み込んでしまえば今後書き換える機会も無いので、C++Javaなどのコンパイルが要る言語がよく使われています。

ウェブ

動的・コンパイル不要(インタプリタ)

ウェブでは、HTML(マークアップ言語)と合わせて記述できるJavaScriptPHPが定番になっています。

ウェブページは、デザインや機能などの変更に応じて書き換えする頻度も多いので、JavaScriptやPHPのようなスクリプトが向いています。

プログラムの実行速度がそれほど高速である必要はなく、書き換えしやすいことが求められます。

2010年代はRubyという言語もよく使われていましたが、保守性が悪いので今後は衰退していくと考えられます。

スマホアプリ

静的・コンパイル要

スマホのOSに合ったプログラミング言語が使われます。

iPhoneならアップルが生み出したSwiftが、アプリ開発に使われます。AndroidのOSはJavaで作られているので、Javaか派生言語であるKotlinがアプリ開発に使われます。

アプリケーションは、リリースしてしまえば書き換える機会が無いので、コンパイルする言語が向いています。

ゲーム

静的・コンパイル要

現代のゲーム(家庭用ゲーム機やPCゲーム)では高速で描画が繰り返されるので、高速で処理できるプログラミング言語が向いています。

ゲーム画面の描画には常に演算が行われているため、実行速度の速いプログラミング言語C++や、C#とゲームエンジンUnityがセットで使われることが多いです。

PCブラウザのゲームではJavaScriptが使われることが増えています。

人工知能

動的・コンパイル不要(インタプリタ)・オブジェクト指向

近年、注目されている人工知能やロボットの開発には多様な条件に合うように書き換えやすいPythonRのようなプログラミング言語が向いています。

Pythonはライブラリが豊富なため、幅広い分野に応用が利くのが利便性となっています。Rは統計解析に使いやすいため、機械学習に使われています。

ライブラリとは、特定の分野でプログラミングしやすいように機能がまとめられたツールです。

オフィス業務

コンパイル要・手続き型

オフィスワークでExcelを使う場面は多いと思います。Excelでの手作業の繰り返しや、定例作業の自動化はVBAで実現できます。

Excelに機能を追加したり、作った機能を変更したりしやすいように、VBAはわざわざコンパイルしなくても実行できるプログラミング言語です。

VBAは開発環境がExcelやAccessなので、パソコンにOfficeが入ってさえいればすぐに学習を始められます。

まとめ

  • プログラミング言語の世界的な検索数を集計しているTIOBEを見ると、いまの主要なプログラミング言語がわかる。
  • プログラミング言語の特徴を知っておけば、これからプログラミングを学習する言語を決めやすくなる。
  • プログラムを動かせるOSや、型付け、コンパイル、パラダイムに、プログラミング言語の特徴があり、用途が分かれる。
プログラミング言語の種類【分野分類を知って言語を決める】

プログラミングの未経験者に向いているのは、次の条件を満たしているプログラミング言語です。

  • Windowsのパソコンで動くこと。(ただし、Mac・iPhoneアプリの開発にはMacOS)
  • 型付けが動的であり、記述量が少なくて済むこと。
  • コンパイル作業が要らなくても実行できること。
  • オブジェクト指向プログラミングに対応していること。

HTML&CSSの未経験者の場合は、プログラミング言語の前にHTML&CSSを習得するのが良いです。

HTML&CSSを経験している場合は、HTMLと親和性の高いJavaScriptが学習しやすいです。

テックアカデミー『ウェブデザインコース』の内容・料金を見る

人工知能やブロックチェーンなど、未来も永く使っていける言語ならPythonです。学習コストが低いわりに応用が利くのでお得です。

Pythonは、パソコンのファイルを操作したり、Excelを操作したり、日常的な業務にも使えます。Instagramにも使われています。

テックアカデミー『Pythonコース』の内容・料金を見る

日々の業務でExcelをよく使っているなら、VBAを使えるようになると便利です。不明点やエラー解決はインターネットで調べればたくさん情報が出てくるので独学でも可能です。

初心者向けプログラミング言語【学びやすく挫折しない言語】

© 2019-2021 ノンブロ.