プログラミング言語(Programming Language)とは、人間がコンピューターに指示を出すために作られた、一定の文法規則を持つ人工的な言語のことです。日本語や英語のような自然言語とは異なり、あいまいさを排除し、コンピューターが正確に解釈できるよう設計されています。
現実世界に例えると、プログラミング言語は楽譜のようなものです。作曲家の意図を、演奏者(コンピューター)が誰でも同じように再現できるよう、決まった記号と規則で書き表します。
自然言語との違い
日本語には「うまく」「そこそこ」のようなあいまいな表現がありますが、プログラミング言語では、1つの命令に対して解釈が分かれることは許されません。曖昧さを一切残さず、機械が迷わず実行できる厳密さが、プログラミング言語に共通する大前提です。
高水準言語と低水準言語
| 種類 | 特徴 |
|---|---|
| 低水準言語 | 機械の動作に近く、人には読みにくいが動作が速い |
| 高水準言語 | 人間の言葉に近く読みやすいが、機械語への変換が必要 |
コンパイル言語とスクリプト言語
実行の仕方にも違いがあります。コンパイル言語はあらかじめ機械語へまとめて変換してから実行するのに対し、スクリプト言語はプログラムを1行ずつその場で読み取りながら実行します。前者は動作が速く、後者は手軽に試しながら書き進められるという、それぞれの持ち味があります。
用途による向き不向き
すべての場面に万能な言語はありません。Webサイトの表示にはJavaScript、データ分析やAI開発にはPython、大規模な業務システムにはJavaやC#というように、開発したいものの性質に応じて適した言語が選ばれています。
文法の考え方(パラダイム)
言語ごとに、プログラムの組み立て方に関する基本的な考え方(パラダイム)も異なります。手続きを順番に並べる手続き型、データと処理をひとまとめの部品として扱うオブジェクト指向など、考え方の違いが、そのままコードの書き味の違いにつながります。
時代による移り変わり
プログラミング言語にも、登場した時代の技術的な課題を解決するために生まれ、流行り廃りが存在します。古い言語がすぐに使われなくなるわけではありませんが、新しい用途(AI開発やスマホアプリなど)の広がりとともに、注目される言語も移り変わっていきます。
言語を支える周辺の仕組み
プログラミング言語だけで開発が完結することは、ほとんどありません。よく使う機能をまとめた「ライブラリ」や、開発の土台となる「フレームワーク」と組み合わせることで、一から全てを書かなくても効率よくアプリを作れます。言語の実力は、こうした周辺環境の充実度によっても左右されます。
学ぶ言語の選び方
初めて学ぶ際は、「何を作りたいか」を基準に選ぶのが遠回りにならないコツです。文法自体はどの言語も似た土台を共有しているため、1つの言語をしっかり身につければ、他の言語を学ぶ際の理解も早くなります。

コメント