川崎回遊記(お店レポほか)

2018年末、某大手証券会社を退職。現在は、川崎駅徒歩圏内クーポンアプリ【掘り出せ!黒ダイヤ!】をリリース、運営しています!ここでは、「お店の体験レポート」や「活動の記録」、「仕事と絡めた時事への雑感」などを投稿しています。(いちおう毎日更新、仕事をサボらないように…笑)

必要な「コンピューター言語」は用途ごとに異なる(プログラミングについて⑤)

さて、一昨日の続きです。プログラミングのお話。

 

プログラミングは、「何がしたいのか?その目的を決めて、必要な環境を用意する」ところから始まります。

 

で、これまで3つの環境について書きました。

 

・プログラムを書くための環境(命令を書くための紙)

・書いたプログラムを読み込んで、実行するための環境(紙に書かれた命令を実行する人)

・データを保存するための環境(データベース=DB)

 

それぞれの環境においては、プログラムを書くためのコンピューター言語が異なります。

 

文字を羅列するだけでは、きっと上手く説明できないので、またまた絵を描きました。

 

■ 「内側」と「外側」の違い

f:id:RedFish:20191208115207p:plain

自分のPCやスマホを「内側」と考えます。

 

内側でやりたいことは、ざっくり2点。

「絵(文字も含む。以降、同様です)を表示する」

「 〃 を操作する」

 

一方、「外側(外部サーバ)」でやりたいことは、「絵のストック」です。

 

目的が違うので、適したコンピューター言語が異なります。

 

 

■ OS

OS(オペレーション・システム)は「内側」のプログラムです。アプリを動かすための土台みたいなもので、アプリとは区別して考えます。デバイスごとに用意されているので、自分で構築する必要はありません。

 

バイス(端末)には、色んな種類がありますね。WindowsMacAndroidiPhoneなどなど。

 

やりたいこと(絵の表示、操作)は一緒なんですが、それぞれOSが異なります。

 

OSを「レストラン」に例えるならば、アプリは「料理」みたいなもの。

 

Windowsが「和食」、Macが「イタリアン」なら、同じ麺(アプリ)でも、Windowsには「うどん」として、Macには「パスタ」として納品しなければ、取り扱ってくれません。

 

ゆえにアプリは、それぞれのOSに適したコンピューター言語でつくらなければならないのです。

f:id:RedFish:20191208131026p:plain

 

■コンピューター言語

前述の通り、「内外の違い」「OSの違い」でコンピューター言語を使い分けるので、必然的に種類が増えてしまいます。

 

まとめると、以下な感じです。

 

バイス(共通)に「絵(データ)を表示する」言語・・・html

 

PC・Macの「絵を操作する」言語・・・Javascript

Androidの「  〃  」言語・・・Java

iPhoneの「  〃  」言語・・・Swift

f:id:RedFish:20191208115202p:plain

上のイラストの真ん中のトトロが「絵をくれ」と言っている通り、そもそも絵がなければ、表示も操作もできません。

 

一昨日は、「絵を、どこから持ってくる?内側?外側?」という話を書きましたが、絵を外側に置いておけば、後から書き換えることができるので便利です。

 

ただし、外側から内側に絵を引っ張ってくるには、別の言語が必要です。

 

外側⇔内側で「絵を運ぶ」言語・・・RubyPHPなど

 

そして、外部に絵をストックするためにも、別の言語が必要…。

f:id:RedFish:20191208115157p:plain

 データベースに「絵をストックする」言語・・・SQL

  

 …

ややこしいですね😅ここで名前を挙げたものは、全体のごくごく一部らしいです。

 

長々と書きましたが、要は「コンピューター言語は、いっぱいある」のです。

 

私は、プログラミングを始めるとき、「どのコンピューター言語を覚えればいいの?」という疑問にぶち当たったので、とりあえず知っている範囲で書き出してみました。

 

長くなったので、続きは次回にしますm(_ _)m