プログラミング基礎概念

プログラミング言語 ぷろぐらみんぐげんご

ソースコードコンパイラインタープリタ構文アルゴリズム実行環境
プログラミング言語について教えて

簡単に言うとこんな感じ!

コンピューターに「こうやって動いてね」って命令するための言葉だよ!人間が英語や日本語で会話するように、コンピューターにはコンピューターが理解できる専用の言葉が必要で、それがプログラミング言語なんだ。Python・Java・JavaScriptなど種類はたくさんあって、用途によって使い分けるってこと!


プログラミング言語とは

プログラミング言語とは、人間がコンピューターに対して処理の手順(プログラム)を記述するための形式言語です。人間が書いた命令(ソースコード)をコンピューターが実行できる形に変換することで、ソフトウェアやシステムとして動作します。

私たちが日常で使うシステム――Webサイト、スマホアプリ、業務システム、AIサービス――はすべて何らかのプログラミング言語で書かれています。プログラミング言語は「コンピューターへの設計図兼指示書」と考えるとわかりやすいでしょう。

プログラミング言語には文法(構文)があり、決まったルールに従って書かなければなりません。英語の文法に似ていて、語順や記号の使い方を間違えるとコンピューターは理解できず、エラーになります。現在、世界には数百種類以上のプログラミング言語が存在し、それぞれ得意な分野や特徴が異なります。


プログラミング言語の種類と特徴

代表的なプログラミング言語と主な用途を整理すると次のとおりです。

言語名主な用途特徴
PythonAI・データ分析・自動化読みやすく初心者向け。ライブラリが豊富
JavaScriptWebフロントエンドブラウザ上で動く唯一の標準言語
Java業務システム・Androidアプリ堅牢で大規模開発に向く
C / C++OS・組み込み・ゲームエンジン高速・低レベル制御が可能
PHPWebバックエンドWordPressなど多くのWebサイトで使用
Swift / KotliniOSアプリ / Androidアプリ各プラットフォーム公式の言語
SQLデータベース操作データの検索・更新・集計専用
RubyWebアプリ日本発。Ruby on Railsで人気

覚え方:「何を作りたいか」で言語を選ぶ

🌐 Web表示 → JavaScript
🤖 AI・分析 → Python
🏢 業務システム → Java
📱 スマホアプリ → Swift(iOS)/ Kotlin(Android)
🗃️ データ操作 → SQL

発注・選定時は「この言語が好きか」ではなく「何を作るか・誰が保守するか」で選ぶのが実務のポイントです。

低水準言語と高水準言語

プログラミング言語はコンピューターとの「距離感」で2種類に大別されます。

分類概要
低水準言語コンピューターのハードウェアに近い記述。速いが難しいアセンブリ言語、機械語
高水準言語人間が読みやすい記述。現代のほとんどの言語がこれPython、Java、Ruby など

ソースコードが動くまでの仕組み

人間が書いたソースコードがコンピューターで実行されるまでには、変換のステップが必要です。大きく分けるとコンパイル方式インタープリタ方式の2つがあります。

ソースコードが実行されるまで コンパイル方式(例: C, Java) ソースコード (人間が書く) コンパイラ (一括変換) 実行ファイル (機械語) CPU実行 (高速) インタープリタ方式(例: Python, JavaScript) ソースコード (人間が書く) インタープリタ (1行ずつ解釈) 逐次実行 (柔軟・簡単) コンパイル方式は「事前に丸ごと翻訳」、インタープリタ方式は「その場で1行ずつ翻訳」のイメージ

コンパイラ方式はソースコード全体を事前に機械語(コンピューターが直接理解できる言葉)に変換してから実行するため、実行速度が速いのが特徴です。一方、インタープリタ方式は1行ずつその場で解釈・実行するため、開発中のテストや修正がしやすいメリットがあります。


歴史と背景

  • 1940年代 — 最初のコンピューターは「機械語(0と1の羅列)」しか理解できず、プログラムは非常に困難だった
  • 1950年代FORTRAN(科学計算用)・COBOL(業務処理用)が登場。人間が読める形でプログラムを書ける最初期の高水準言語
  • 1972年C言語が開発される。現代のほとんどの言語の祖先とも言える重要な言語
  • 1991年Pythonが公開。シンプルな文法で人気を集め、後にAI・データ分析分野で爆発的に普及
  • 1995年JavaJavaScriptPHPRubyがほぼ同時期に登場。Webの普及とともに広まる
  • 2000年代〜 — Webサービスの急拡大にともないJavaScript・PHPが普及。スマホの登場でSwift・Kotlinも台頭
  • 2010年代〜 — AIブームによりPythonが圧倒的シェアを獲得。機械学習ライブラリの充実が後押し
  • 2020年代〜RustGoなど新しい言語も実務に定着。言語の多様化が続く

コンパイル方式 vs インタープリタ方式の比較

比較項目コンパイル方式インタープリタ方式
変換タイミング実行前に一括変換実行時に1行ずつ変換
実行速度速いやや遅い
開発のしやすさ修正→再コンパイルが必要すぐに試せる
代表的な言語C、C++、Go、RustPython、Ruby、JavaScript
主な用途OS、ゲーム、組み込みWeb、スクリプト、AI

なお、Javaは中間的な方式(バイトコードにコンパイル後、JVM上でインタープリタ実行)を採用しており、「どちらかに完全分類できない」言語もあります。


発注・選定時に知っておくべきポイント

システム発注の立場では「どの言語で作るか」を開発会社と話し合う場面があります。その際に意識したいポイントをまとめます。

【発注時のチェックリスト】

□ その言語で社内に保守できる人材がいるか?
□ 開発会社の得意言語は何か?(無理に珍しい言語を選ばない)
□ 長期的にサポートが続く言語か?(廃れていく言語は避ける)
□ ライブラリ・フレームワークが充実しているか?
□ 採用市場に人材はいるか?(後から増員できるか)

「新しい言語=良い」とは限らず、長期保守・採用のしやすさも重要な判断軸です。


関連する用語・技術

プログラミング言語は単独で存在するのではなく、周辺技術とセットで使われます。

用語関係
フレームワーク言語の上に乗る「開発の骨組み」。Rails(Ruby)、Django(Python)など
ライブラリよく使う処理をまとめた「部品集」。言語ごとに豊富に存在する
IDE(統合開発環境)コードを書くための専用エディタ。VS Code、IntelliJなど
バージョン管理ソースコードの変更履歴を管理する仕組み。Gitが標準
API異なるソフトウェア同士を繋ぐ接続口。言語をまたいで連携できる

関連用語

  • アルゴリズム — 問題を解くための手順・手法の設計
  • フレームワーク — 開発を効率化するための骨組みとなるソフトウェア
  • API — ソフトウェア同士が機能を呼び出し合うための接続仕様
  • オープンソース — ソースコードが公開・無償利用可能なソフトウェアの形態
  • Git — ソースコードの変更履歴を管理するバージョン管理システム
  • コンパイラ — ソースコードを機械語に変換するプログラム
  • クラウド — インターネット経由でコンピューター資源を利用する仕組み
  • 機械学習 — データからパターンを学習するAI技術。Pythonが主流