Code writing は、小学生でできる。 大人はできないかも。

 オバマ政権が取り組んでいる 「テクジョ」 「テク男」 育成の一環として、code writing education があります。
 これについては、私の Pocket に二つの記事が入っています。
ひとつは、Washington Post の次の記事です。
President Obama talks about teaching everyone to code. This professor does it.
 この code writing education は、アメリカだけでなくイギリスでも学校教育で重視され始めています。
The Guardian に次の記事があります。
Why all our kids should be taught how to code
画像
画像

 このように、アメリカでもイギリスでも、現代の、というより、21世紀の literacy として、言ってみれば、人間同士の間の communication 手段である、従来の読み書きに加え、man-machine communication の手段としての code writing を、あらたな literacy として、小学生、場合によっては、それ以前の段階から位置づけようとしています。 この場合の、man-machine は、具体的には、man-computer ですが、ここでの computer は、先にも指摘したように、見慣れた 「パソコン」 だけでなく、smartphone/tablet から、自動車や、洗濯機、冷蔵庫、エアコンなどの家電製品、今後いろいろ出てくる wearable device など、あらゆる種類の computer です。
 
 ここからが、話がちょっと難しくなります。 特に 「テク音痴」 には。 なるべくわかりやすく説明します。

Code writing は、どうやら日本では、まだ、カタカナで 「コードライティング」 として普及してないようです。 google してみればわかります。 それには、後から述べるような理由があります。 それは、その時に。

なるべくわかりやすくするために、もっぱら日本語を使います。

人間が、コンピューターと対話するには、人間同士が使っている、普通のことばではだめで、
コンピューターにわかることばで、話しかけなければなりません。
そういうことばのことを、
コンピューター言語
とか、機械語と言います。
Wiki の 「コンピューター言語」 によると、
しかし、機械語は複雑な決まりに従って並べられた数字の列であるので、人間にとっては理解しづらい。 ごく簡単なプログラムでさえ、その機械語形式を扱うにはそれなりの習熟が必要である。まして、現在様々な業務で実用されているような複雑化したプログラムを機械語で書くことのできる人間は皆無である。

 そこで、より人間に分かりやすい言葉で書いた指示を自動的に機械語に翻訳するプログラムをあらかじめ書いておく。 そして自動翻訳で生成された機械語をコンピュータに実行させることにする。 翻訳するプログラムは種類に応じてアセンブラ、コンパイラ、インタプリタなどと呼ばれる。 必要な翻訳プログラムさえ書いておけば、人間は自分が最も扱いやすい言葉でコンピュータに指示することができる。


 ここで、説明されている、人間が最も扱いやすい言葉で書かれた 「翻訳プログラム」 に使われる言葉が、
プログラム言語
である、
と考えるとわかりやすいでしょう。

割りきって言えば、
機械語とも言われる 「コンピューター言語」 は、コンピューターにしか分からない言語で、人間には読み書きできない。
それに対して、「プログラム言語」 は、人間が読み書きできるものである。

 人間が、プログラム言語で書いたものを、コンピューター言語に翻訳してくれるプログラムが別にある、
ということも、その仕組は知らなくても、そういうものがある、と知っておくだけで、「テクジョ」 「テク男」 に一歩近づけます。
 プログラミング言語について、Wiki から、c&p します。
プログラミング言語は、機械に対して情報の操作/編成や周辺機器の制御を命令するのに使う。 ソフトウェアをプログラミング言語で書くことをプログラミングと呼ぶ。 プログラミング言語は、C、C++、Java、COBOL, Fortran, BASIC、アセンブリ言語などがある。 プログラミング言語は世代で分類されることがある。

 ここに名前の挙げられているプログラミング言語について、そのいくつかは、聞いたことがあるでしょう。 なくても別に構いませんよ。
これを使って、プログラムを書ける人が、いわゆるコンピューター・プログラマーであって、普通の人から見たら、すごい人の感じです。 工学部などの、コンピューター関係の専門学科か、あるいは各種学校のコンピュター専門学校で、勉強しないと、コンピューター・プログラマーには、なれません。

 アメリカやイギリスの小学生・中学生が、code writing をするのは、こういう難しいコンピュター・プログラムではありません。

 プログラミング言語には、上に紹介されたものに加えて、スクリプト言語と呼ばれるものがあります。
「スクリプト」 は、日常語では、
映画や芝居の台本、脚本のことです。 元々の意味は、原稿、手書きの筋書き、です。
要するに、話の筋を書いたものです。
これが、コンピュター・プログラミングに、転用されると、
コンピュータプログラムの種類の一つで、機械語への変換や実行可能ファイルの作成などの過程を省略または自動化し、ソースコードを記述したら即座に実行できるようなプログラムのことをスクリプトという。 そのようなプログラムを記述できるプログラミング言語のことをスクリプト言語という。

 この説明で、ソースコード」 ということばが出ています。 これが、code writing に絡んで来ます。

 次から、次へと、聞きなれないことばが出てきますが、元の英語を知っておれば、何にも難しいことないですよ。
この場合は、「ソース」 は、コロッケやカレーライスにかけるソースでなくて、source です。 つまり、「元、源」 ということです。 「コード」 は、dress code (服装のきまり) のように、「規則」 のことです。
だから、「ソースコード」 とは、Wiki によれば、
ソースコード (Source code、ソースプログラム、原始プログラム)とは、人間が記述した、ソフトウェア (コンピュータプログラム)の元となる一連の文字の羅列である。
と、わかったようなわからないものです。
が、ここで大事なことは、
 テキストファイルであるソースコードは、プログラミング言語の言語仕様に従って書かれており、コンピュータに対する一連の指示である。 単にソースという場合も多い。 その他には、コードやプログラムリストと呼ばれることもある。ソースコード (原始プログラム) が書かれたファイルをソースファイルという。
 「原始プログラム」 などという訳語をあてると、なにやら 「原始時代」 の産物みたいですね。
が、考えてみると、案外適訳かも知れませんよ。 なぜって、原始時代からあった、文字を使って書くわけですから。 つまり、人間同士が communication に使っている文字で、読み書きするのが、
コンピューターのスクリプト言語なのです。
 そして、その 「ソースコード」 は、テキストファイルで、書かれるのです。 手で書いてもいいですが、keyboard を使ったほうが便利、ということは、誰にでもわかるでしょう。

 だんだんわかって来たでしょう。 この 「ソースコード」 をテキストファイルで、書くことを、英語では、
code writing

というのです。
 これなら、小学生でも書けます。 Tablet/smartphone を使ってでも書けますが、ここは、やっぱり physical keyboard のある device の方が便利でしょう。 私のおすすめは、Chromebook です。

 とまあ、ここまで説明しても、具体的な、code writing の例を見ないと、どういうものかわからないでしょう。
実は、いつも紹介している、SF Modular System は、Multimedia Toolbook という authoring software を使っています。 そこで使うプログライング言語は、Openscript というスクリプト言語です。
下に紹介するのは、2010年11月8日のエントリーで紹介した、Composition program での、source code です。
画像

to handle buttonClick 
conditions
when text of RecordField "comp" is "Do you like reading newspapers?" 
show field "answer"
mmPlay clip "Y15" wait
show button "next"
when text of RecordField "comp" is "Do you like reading the newspaper?"
mmPlay clip "boo"
request "not 'the newspaper'. but 'newspapers'" &&CRLF&& "Try again!"
else
mmPlay clip "boo"
request "That's not right. Try again!"
end conditions
end buttonClick


普通の日常会話の英語とは違いますが、これなら、英語国の小学生でも読み書き出来ます。

 長くなるので、この続きは明日にします。
今日は、とりあえず、code writing とは、こういうもの、ということを、最後に具体例を駆け足で見せて、
これなら、英語国の小学生なら読み書きできる、ということを示したかったのです。
スクリプト言語には、いろいろなものがあり、それを使った、code writing learning のサイトも、Kahn Academy はじめいろいろあります。
 そういう話は、明日以降に。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 2

なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー)

この記事へのコメント

この記事へのトラックバック