探究型プログラミング学習(探プロ)

プログラミングの考え方を学んで、未来を創る力を手に入れる

プログラミングの考え方を学んで未来を創る力を手に入れる

『ルビィのぼうけん』勝手に超訳 Vol.04

そしていよいよ冒険のはじまり。

4章「ぺんぎんたち」。

 

なかなか込み入った表現になっていますが、この章で伝えたいことは3つです。

 

1つは

コンピュータが理解できる言葉と、私たち人間が理解できる言葉は違う

ということ。

だから、コンピュータにやってほしいことをお願いするときは、人間の言葉ではなく、コンピュータの言葉に変換したものを使わなければいけないということです。

 

ルビィがペンギンたちに

「パパがかくした宝石、ごぞんじないですか?」

と尋ねるのですが、ペンギンたちは意味不明の言葉しか返してくれません。

このシーンは、コンピュータに対して

「パパがかくした宝石、ごぞんじないですか?」

という人間の言葉を伝えたときの様子を描いています。

 

ペンギンたちの喋っている言葉が多少ヒントになるのですが、一番分かりやすいのは、イラストの真ん中上にアルファベットで書かれた言葉でしょうか。

grep

・chmod

awk

bash

・pwd

という5種類の言葉が書かれています。

 

これらは、LinuxというOS(Windows もOS)に対して処理をリクエストするときに使われるコマンドやシェルと呼ばれるものの種類です。

探プロで説明している言葉を使えば、命令であり、処理を実行するプログラム、です。


たとえばgrepは、指定した言葉に合致するものを検索するためのコマンドで、awkは、検索条件の指定に該当します。

つまりペンギンたちは、なんとかしてルビィの喋った難しい言葉を自分たちなりに解釈して探してあげようとしていたんですね。

 

でも伝わらなかった。

そこでルビィは、もっと詳しく、細かくして言い直します。

「わたしのにぎりこぶしより小さくて、

石か金属を切り出した、色つきの、めずらしいもの、

ここにありませんか?」 

 ちょっと不思議な言葉になっていますが・・・

これで一応、ペンギンには通じたようです。

 

そして、ペンギンたちは各自が仕事をして大きなイカダを作ってくれました。

ここから分かる、この本が伝えたいもう1つのことは

コンピュータの理解できる「言葉」つまり命令の1つずつは、シンプルで簡単なことしか実行できないけれど

それらをたくさん組み合わせれば難しくて複雑な処理ができる

ということです。


先のコマンドやシェルの話は、Windowsエクスプローラーでも同じことが説明できます。

たとえば、ファイル名に"old"という名前のついたファイルを全て削除したい

と思ったら

まずファイルの検索をして、エクスプローラーに表示されたリストを確認して、全てを選択して、削除する

といった操作をマウスなどで実行しますよね。

同じことを、コマンドやシェルを組み合わせると一発で実行できるので、使いこなすととても便利なんですよね。

(私は使いこなしませんが…)

  

さて、この章で伝えたいもう1つのこととは

普段なにげなく使っている「言葉」というものはすごく曖昧なので、誰かと「言葉」を共有するためには

お互いが理解できる程度まで分解して

間違いなく曖昧でない形で定義しなければいけない

ということです。

 ここは書くと長くなるので次回に。

 

ちなみに未確認ですが、この章に出てくるペンギンはきっと、Linuxの公式マスコットであるタックス、をイメージしているのでしょうね〜

https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/NewTux.svg/150px-NewTux.svg.png

@tanpro-lab