難易度は筆者の主観によるものです。
低水準言語
低水準言語とはハードウェアを直接制御することを目的として作られた言語で人間にとっては分かりにくいプログラムです。低水準は簡単という意味ではなくむしろ難しいです。低級言語とも言われます。実効速度は最も早いです。
名前 | 難易度 | 特徴 | 使用用途 |
アセンブリ | 非常に難 | マシン語を一対一に対応するため、プログラミングは非常に面倒。最も高速な言語といえる。 | 限られたリソースでプログラムを動かす場合。ごく一部の用途。 |
高水準言語 コンパイラ言語
高水準言語は人間にとっての読みやすさを重視した言語です。低水準言語よりは読みやすいです。高級言語とも言います。高水準言語のうちコンパイラ言語と呼ばれている言語の一覧です。コンパイラ言語とはプログラムを実行する前に機械語に翻訳する必要のある言語のことです。実行速度が速い分、難易度が高めです。
名前 | 難易度 | 特徴 | 使用用途 |
BCPL | C言語のもとになったといわれている。 | ||
C | やや難 | ハードウェアの性能を最大限に引き出すことができる。細かい記述ができる分、バグが生じやすい。 | 多くのハードウェア。OSや組み込み機器など |
C++ | 非常に難 | C言語にオブジェクト指向などの機能を拡張した言語。自由に記述できる反面、言語仕様が複雑。文法が難解なあまり、処理系の実装が追い付かない。多くのプログラミング言語に影響を与えた。 | 多くのハードウェア。OSや組み込み機器など |
C# | 難 | マイクロソフトが開発。#は+が4つに見えることから。 | Windowsアプリ |
FORTRAN | やや難 | 世界初の高水準言語。科学技術計算に適している。 | スパコン |
Go | やや難 | Googleが開発。メルカリに使用されているらしい。 | webサーバー、webアプリ。 |
Java | 難 | write once, run anywhere マルチプラットフォーム対応。 | Androidアプリ開発など |
Kotlin | やや難 | javaと完全な互換性がある。 | Androidアプリ開発など |
Objective-C | やや難 | かつてMacOSアプリ、iOSアプリの開発に使用されていた。現在はSwiftが主流。 | アップル製品 |
Rust | やや難 | C++と似た構文を持つ。比較的高速。 | 一般的なアプリ |
Swift | やや難 | アップルが開発。識別子名にUnicode文字を使える。 | アップル製品 |
スクリプト言語
スクリプト言語はプログラムを実行する時にインタプリタというソフトがプログラムを一行ずつ逐一解釈して実行する言語です。比較的簡単なものが多いですが、そのぶん実行速度は遅くなります。
名前 | 難易度 | 特徴 | 使用用途 |
Groovy | 普通 | java仮想マシン上で動く。 | Androidアプリ開発など |
PHP | 易 | データベース処理が得意。 | ホームページ、webアプリ |
JavaScript | 普通 | javaとは全く違った言語。 | ホームページ、webアプリなど |
PowerShell/Batch | 易 | Windows上で動作するスクリプト。 | Windows |
Python | 易 | AI処理を得意とする。最も人気。 | 機械学習、webアプリ |
R | やや易 | 統計解析がメイン。 | 統計解析 |
Ruby | 普通 | 日本人が開発。オブジェクト指向に対応。 | webアプリ |
コメント