検索
特集/連載

“プログラミング言語なんてどれも同じ”論者もうなずく「言語の違い一覧」ソフトウェア開発にまつわる10個の神話【第4回】

世の中には数々のプログラミング言語が存在する。それらに対して「どのプログラミング言語も同じだ」と主張する人がいるが、実際はそうではない。プログラミング言語は何が違うのかを分類に沿って解説する。

Share
Tweet
LINE
Hatena

 ソフトウェア開発にはさまざまな手法が存在し、その違いが議論の対象になることがある。議論を必要以上に複雑にしかねないのが、誤解に基づく“神話”の存在だ。ソフトウェア開発業界にある10個の神話のうち、7つ目を取り上げる。今回はエンジニアが日常的に使う、プログラミング言語に関する神話だ。

神話7「どのプログラミング言語も同じだ」

 全てのプログラミング言語は、

  • データを変数として管理する
  • 条件付き分岐(「if」文など)を実行する
  • ループ内で処理を反復的に実行する

といった3つの機能を備える。こうした基本的な部分は共通しているものの、プログラミング言語にはさまざまな種類がある。

 プログラミング言語は幾つかの観点で分類できる。主な分類は以下の通りだ。

  1. プログラミングパラダイム(プログラミングの考え方やスタイル)による分類
    • オブジェクト指向言語
      • データと処理(メソッド)をまとめた「オブジェクト」をプログラムの基本要素とする。
    • 関数型言語
      • 関数を値として扱う。
  2. 実行形式による分類
    • インタープリタ言語
      • ソースコードを逐次解釈する「インタープリタ」を使ってプログラムを実行する。
    • コンパイル言語
      • あらかじめソースコードをプログラムに変換(コンパイル)する。
  3. ソースコードの抽象度による分類
    • 高水準言語
      • ソースコードが人にとって理解しやすい。
    • 低水準言語
      • ソースコードが機械語に近い。
  4. 変数の型(数値や文字列といったデータの種類)の定義による分類
    • 動的型付け言語
      • プログラムが変数の型を自動で決定する。
    • 静的型付け言語
      • ソースコードに変数の型を明示する。

 エンジニアはソーシャルメディアで、どのプログラミング言語がベストなのか、なぜベストなのか、といった議論を常に交わしている。もし全てのプログラミング言語が同じであれば、このような論争はすぐに収まるはずだ。だがそうではない。「全てのプログラミング言語が同じだ」という神話に、彼らは激怒している。


 第5回は、8つ目の神話を紹介する。

変更履歴(2023年6月2日14時15分)

記事掲載当初、本文で高水準言語と低水準言語の説明が逆になっていました。おわびして訂正します。本文は修正済みです。


TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る