プログラム言語
このノートの問いがそのまま復習カードになり、忘れかけたころに出題されます。
シラバス Ver.6.5 の小分類 38「プログラム言語」(大分類 7:基礎理論/中分類 14:アルゴリズムとプログラミング)。
2026-08-05 にシラバス本文と突合済み。
0. 何を押さえるか
言語の名前と得意分野、読みやすく書くための約束、
部品を再利用する仕組みの 3 つです。
言語は名前と用途の対応だけで足ります。
| 言語 | 主な用途 |
|---|---|
| C | OS・組込み。ハードウェアに近い処理 |
| C++ | C にオブジェクト指向を加えたもの |
| Java | 業務システム。環境に依存しにくい |
| Python | AI・データ分析。ライブラリが豊富 |
| JavaScript | Web ブラウザ上の処理 |
| R | 統計解析 |
| Fortran | 科学技術計算(歴史の古い言語) |
Python は AI、JavaScript は Web、R は統計、Fortran は科学技術計算——
この 4 つの対応が問われます。
1. プログラム言語の種類
根拠: シラバス 7-14-38
Python・JavaScript・R・Fortran は、それぞれ何に使われるか?
| 言語 | 用途 |
|---|---|
| Python | AI・機械学習・データ分析。ライブラリが充実 |
| JavaScript | Web ブラウザ上で動く処理(画面の動き) |
| R | 統計解析とその可視化 |
| Fortran | 科学技術計算(数値計算に強い古典的な言語) |
用途との対応がそのまま出題される。
C・C++・Java の関係と用途は?
| 言語 | 特徴 |
|---|---|
| C | ハードウェアに近い制御ができる。OS や組込み機器 |
| C++ | C を拡張し、オブジェクト指向を扱えるようにしたもの |
| Java | 実行環境(仮想マシン)の上で動くため、環境を選ばない。業務システムで広く使われる |
C → C++ は拡張、Java は別系統(記法は C 系だが仕組みが違う)。
2. 読みやすく書くための約束
根拠: シラバス 7-14-38
字下げ(インデンテーション)とネストの深さとは?
字下げ = 制御構造の内側を右にずらして書くこと
処理の入れ子(ネスト)の関係が目で分かる。
ネストが深いほど読みにくく、間違いも増えるので、
深くなりすぎたら処理を分けるのが定石。
Python のように、字下げが文法そのものである言語もある。
命名規則とは? なぜ必要か?
変数や関数の名前の付け方をあらかじめ決めておくこと
- 何を表すか分かる名前にする
- 大文字・小文字や区切りの書き方を統一する
複数人で開発するとき、名前がばらばらだと読む側の負担になる。
プログラムは書く時間より読まれる時間のほうが長い、というのが根拠。
3. 部品に分けて再利用する
根拠: シラバス 7-14-38
モジュール分割とは? 利点は?
プログラムを、機能ごとのまとまり(モジュール)に分けること
- 分担して開発できる
- 変更の影響がそのモジュールに閉じる
- 部品として再利用できる
- テストしやすい
1 つの巨大なプログラムにすると、
どこを直しても全体に影響しうる状態になる。
メインルーチンとサブルーチンの違いは?
| 何か | |
|---|---|
| メインルーチン | プログラム全体の流れを制御する主要部分 |
| サブルーチン | 呼び出されて特定の処理を行う部分 |
繰り返し使う処理をサブルーチンにまとめておけば、
同じコードを何度も書かずに済む。
ライブラリ・API・Web API の関係は?
| 何か | |
|---|---|
| ライブラリ | よく使う機能をまとめた部品の集まり |
| API | 機能を外から呼び出すための取り決め(窓口) |
| WebAPI | その窓口をHTTP 経由で提供するもの |
Web API により、他社のサービスを組み込める——
地図・決済・翻訳などを自前で作らずに済む(→ API エコノミー)。
4. コードを書かない開発
根拠: シラバス 7-14-38
ローコードとノーコードの違いは?
| どれだけ書くか | |
|---|---|
| ローコード | 少しはコードを書く(部品を組み合わせ、足りない部分を補う) |
| ノーコード | コードを書かない(画面上の操作だけで作る) |
業務部門が自分で作れるのが利点。
一方で、複雑な要件には対応しきれず、
作った人しか分からないシステムが増えるという課題もある。