必要な「コンピューター言語」は用途ごとに異なる(プログラミングについて⑤)
さて、一昨日の続きです。プログラミングのお話。
…
プログラミングは、「何がしたいのか?その目的を決めて、必要な環境を用意する」ところから始まります。
で、これまで3つの環境について書きました。
・プログラムを書くための環境(命令を書くための紙)
・書いたプログラムを読み込んで、実行するための環境(紙に書かれた命令を実行する人)
・データを保存するための環境(データベース=DB)
それぞれの環境においては、プログラムを書くためのコンピューター言語が異なります。
文字を羅列するだけでは、きっと上手く説明できないので、またまた絵を描きました。
…
■ 「内側」と「外側」の違い
自分のPCやスマホを「内側」と考えます。
内側でやりたいことは、ざっくり2点。
「絵(文字も含む。以降、同様です)を表示する」
「 〃 を操作する」
一方、「外側(外部サーバ)」でやりたいことは、「絵のストック」です。
目的が違うので、適したコンピューター言語が異なります。
■ OS
OS(オペレーション・システム)は「内側」のプログラムです。アプリを動かすための土台みたいなもので、アプリとは区別して考えます。デバイスごとに用意されているので、自分で構築する必要はありません。
デバイス(端末)には、色んな種類がありますね。Windows、Mac、Android、iPhoneなどなど。
やりたいこと(絵の表示、操作)は一緒なんですが、それぞれOSが異なります。
OSを「レストラン」に例えるならば、アプリは「料理」みたいなもの。
Windowsが「和食」、Macが「イタリアン」なら、同じ麺(アプリ)でも、Windowsには「うどん」として、Macには「パスタ」として納品しなければ、取り扱ってくれません。
ゆえにアプリは、それぞれのOSに適したコンピューター言語でつくらなければならないのです。
■コンピューター言語
前述の通り、「内外の違い」「OSの違い」でコンピューター言語を使い分けるので、必然的に種類が増えてしまいます。
まとめると、以下な感じです。
デバイス(共通)に「絵(データ)を表示する」言語・・・html
PC・Macの「絵を操作する」言語・・・Javascript
iPhoneの「 〃 」言語・・・Swift
上のイラストの真ん中のトトロが「絵をくれ」と言っている通り、そもそも絵がなければ、表示も操作もできません。
一昨日は、「絵を、どこから持ってくる?内側?外側?」という話を書きましたが、絵を外側に置いておけば、後から書き換えることができるので便利です。
ただし、外側から内側に絵を引っ張ってくるには、別の言語が必要です。
そして、外部に絵をストックするためにも、別の言語が必要…。
データベースに「絵をストックする」言語・・・SQL
…
ややこしいですね😅ここで名前を挙げたものは、全体のごくごく一部らしいです。
長々と書きましたが、要は「コンピューター言語は、いっぱいある」のです。
私は、プログラミングを始めるとき、「どのコンピューター言語を覚えればいいの?」という疑問にぶち当たったので、とりあえず知っている範囲で書き出してみました。
長くなったので、続きは次回にしますm(_ _)m