基礎の基礎のド基礎_プログラミング用語

何らかの理由でプログラミングをしなければならないタイミング,
こんな記事を読んでる時点で遭遇したことがあると思います.
もしくは,なんとなくやってみたいのに,
「初心者でもわかる!」とか言っておきながらイマイチわかんないとか.
ここではガチの基礎用語を何個か解説します.
言語による違いとかそういう以前の,
「プログラミング」にまつわる超前提知識です.

「プログラム」


はい,ガチの基礎です.
一般的に”プログラムを作ろう”という文言は,
適切には「ソースコードを書こう」と言うべき作業です.
既に用語が出てきましたね,ソースコード.
これはコンピュータにとっての「処理の手順書」と捉えて良いです.
私たちがプログラムを作ったとき,
コンピュータは「手順書」を得るワケです.僕らお手製の.
私たちがプログラムを実行したとき,
コンピュータは「手順書に従って,処理を行う」ということです.
僕らの作った手順通りに,言われた通りにやります.
察して動くことはできません.

コンピュータは気持ちを汲んではくれない.


さて,プログラミングという作業は次の一環の流れを指すのですが,
我々が関与できる部分は次の通りです.

実は赤い矢印,後述する”コンパイル”である


つまり,「プログラムを作る」=「ソースコードを作る」であること,
理解できましたかね.
(もちろんグラフィックなんかに拡張すれば,この限りではないですがね)


「ソースコード」と「実行ファイル」「exe」二つを結ぶ「コンパイル」


macだって?黙ってWindows使えや.
まず,実行ファイルとexeは基本的に同じものです.
実行ファイルの中にexeが含まれます.後はよく使うのはbatとか.

さてソースコードは「手順書(以後レシピと表記)」だって言いましたね.
じゃあコンピュータ君にはレシピに従っておいしいカレーを作ってもらいましょう.
ただし,レシピはインド人がヒンディー語で書いたもの,料理長(コンピュータ君)は日本語しかわからないとします.

指示も,道具も,すべてわからない


さてどうやってヒンディー語を理解しましょうか?
簡単カンタン,Google先生に翻訳してもらえば解決ですね!

わかる言語で書いてくれ.それなら分かる.


はい,実はこの流れがコンピュータでも使われてるんです.
私たちが丹精込めて作ったレシピは,使う人や機材によって使いやすい言語に翻訳してから実行する方が都合が良いじゃないですか.
(というか,翻訳しないと理解できないでしょ?)
この「翻訳」を「コンパイル」って言うんです.
そして翻訳してできた「レシピ(インド語→日本語版)」を「実行ファイル」もしくは「exe」って言うんです.
(厳密にはこの限りではありませんが,大抵実行ファイルができます)

実行ファイルの処理はソースが握ってる.


つまり「プログラムで処理を行う」というのは
「ソースコードを作成・コンパイルして,exe等を実行して処理を行う」
であるワケです.
作ったソースコードを,そっくりそのまま使ってるワケじゃないのヨ.


「エディタ」と「開発環境」
あと「ヘッダファイル」


全部,見たことある文字なんじゃないでしょうか.
カンタンなところから行きましょう.

まず「エディタ」ですが,ただの「ソースコード書く用のアプリ」です.
カッコよく言うとエディタ.普通に言うとソースコード書くアプリ
「プログラミングはメモ帳でもWordでもできる」とか聞いたことありませんか? あれホントなんです.テキスト書けるアプリならなんでも良いんです.
ただ,VSCodeだのTerapadだの,
プログラミングに向けたアプリの方が遥かに使い勝手が良いです.
プログラミングをしたいなら,何かしらアプリを使うと幸せです.

次に「開発環境」.
まぁ読んで字の如く「プログラムを開発(作成)する環境」なんですが.
実はコンパイルという作業,買ったPCそのままでは基本的にできません.
でもソースコードはメモ帳で作れるし,exeは実行できます.
なのでプログラミングして処理をするという一連の行為のうち,
”コンパイル”だけは自分で色々と設定しなきゃならないんですな.
このコンパイルするための設定アレコレを「開発環境を整える」とか言うんです.
(コンパイルするための装備をコンパイラと言います.)
(コンパイラ,ヘッダファイル,エディタetc全て含めて言う場合も.)


最後に「ヘッダファイル」
これはコンパイル時に使う,コンピュータの「翻訳辞書」みたいなモンです.
私たちがソースファイルに書き連ねる様々な処理について,
実際のコンピュータが”どの部品のどの信号で何をすれば良いのか”が書いてあります.
例えばカレーのレシピで
「水を400ml入れます」
って書いてあったとします.これにカレー用のヘッダファイルを使えば,
「コップを持って,蛇口を開閉して,コップの水を鍋に水を入れる」
と翻訳ができます.超具体的に指示できましたね.これがヘッダファイルの役割です.一々こんな長文書きたくないでしょ?
ヘッダファイルを使えば,抽象的な指示でも処理を適切に指定できます.
(さらにヘッダファイルのヘッダファイルみたいな構造をインタープリタと言います)

基本的なヘッダファイルは最初からPCに入ってる場合がほとんどですが,より多機能なプログラムを作りたい場合,外部から持ってきて追加することができます.こうして色々とアレンジができ,便利になっていくワケです.

最後に:「プログラミング言語」

CだのC++だのPythonだの色々あります.
こいつらは全部「プログラミング言語」です.
日本語,英語,ドイツ語,フランス語…こういう区分と一緒です.
つづりや記号が違うケド,できることは一緒.
でも自然言語と違って,プログラミング言語には得意不得意があります

よく「最初はC」って言いますけどそれで良いと思います.
最も基礎的な言語構造だと思うので.
Cでなんとなくプログラム作って,違う言語に手を出したとき,
「Cではあの書き方したけど,こいつはこうなんだな~」
っていう理解をしていくのが分かりやすいと思います.
まぁPythonの方が便利なんですけど.

最初からPythonで習得すると,
Cなどその他の言語の習得は非常にめんどくさいものになります.
「こんなに書くの!?Pythonは2行なのに!?」
みたいなのが頻発します.
それにPythonはその便利さ故に,説明不足な側面があります.
(アルゴリズムが隠れてしまうんですよネ)
なので「処理は適切だが,どんな処理かはワカンナイ」となりやすいです.

なのでまぁ,強いこだわりがなければC言語からやることをオヌヌメします.


意訳・要約テンコ盛りですが,どうでしょうか.
プログラミングを始めるにあたって解説ブログを巡回すると思いますが,
そもそもの階段のゼロ段目として,お役に立てば幸いです.

この記事が気に入ったらサポートをしてみませんか?