【第一回】(プログラミング言語とは)0からプログラミングについて勉強する
前回、プログラムとは何かについて書いた。
tsukisuke.hateblo.jp
「計算してくれるぜ」と言う結論だった。
今回からは、少しだけプログラミングっぽい方向に歩み寄っていく。
でも、今回も概念的なものなので、読むだけでオッケー。
プログラミング言語って何?
聞いたことがあるかないか、対象の方がどうなのか、それすらわからない。
そう、世の中にはプログラミング言語という言葉がある。
コンピュータ様の脳内
よく聞くが、コンピュータの世界には
0 か 1しかない。
本当にない。
だから僕らは、本当は、コンピュータへの全部のお願いを、0 と 1 だけで言わなければいけない。
やってられるか
ってんだ。
そして、それができるヤバい人たちが、僕らのために作ってくれたものをプログラミング言語と言う。
その名の通り、コンピュータと意思疎通をするための言語なのである。
種類がいっぱいある
コンピュータにだって文化というものがある。
日本語ネイティブの方に英語で話しかけたとして、なんとか伝えることはできようが、日本語で話した方が話は早い。
同じことで、
やって欲しいことを伝えるには、向こうが理解しやすい言語で歩み寄る必要がある
すでに 0 and 1 の世界から相手は歩み寄ってくれている。
こちらも歩み寄らなければならない。
今回の話はここまで。
ここからは余談
ちょっとこんがらがるかもしれないので、むずーと感じたら完全スキップでをお願いします。
"伝えやすい"ってどういうことだよっていう話。
ゲームを作りたいとする。しかしゲームを 0 and 1 で作るのは非現実だ。
最近のゲームを見てくれ、僕の脳すら追いつかない。
そこである人がアセンブリ言語というものを作った。
これは、0 1 に直接翻訳できる言語だ。
だが、人間には大変読みづらい。
なんたって、 0 1 の並びを簡潔にしただけなのだ。Aを0110とする ※これは適当です
という超直接翻訳をしただけなのだ。
無理だ。これでゲームはかけない。
※興味があれば調べて見ても….とは思はないが、面白いかもしれない。アセンブリ言語。
そして、プログラミング言語はどんどん便利になっていく。
アセンブリ言語なんて知る必要もないものなのだけど、それを使って頭のいい人がもう少し人間に歩み寄ったプログラミング言語を作る。
そしてそれを使って、もっと人間に歩み寄ったプログラミング言語を誰かが作る。
それを繰り返すと、
ゲーム制作者に優しいプログラミング言語ができたぞー!!
ということになる。
もちろんゲームだけではない。流行りの、
機械学習させたいユーザー向けのプログラミング言語あるぞー!!
とか、
Webページをもっといじりたい?
ならばこれを使え!
という具合になっている。
言語ごとに何が違うのか、よくわからない。
そりゃあ僕も全部把握しているわけではないし、作った人でもないからよくわからない。
でも、理屈はわかる。
今後も読み続けてくれれば、な!