「問題は」とハンプティ・ダンプティが言いました「僕と言葉のうちのどちらが相手の主人になるかということ、それだけさ」
ハンプティ・ダンプティ - Wikipedia ルイス・キャロルの「不思議の国のアリス」と「鏡の国のアリス」おもしろいですよね。
「鏡の国」に出てくる、このハンプティ・ダンプティの、一見奇妙に思えるセリフにヒントを得て、今日は言葉が持つ「呪文」としての性質を、「21世紀的」な視点から考えてみようと思います。
ここで「21世紀的な視点」というのは、「コンピュータが暮らしの中に入り込んだ文脈の中で」という程度の意味です。
*1
プログラミング言語も言葉なの? 「呪文の実現」としてのコンピュータ言語 ぼくたちが毎日使っている「呪文」のこと コトノハ 2.0 、あるいは言葉を「呪文」として使いこなす方法 プログラミング言語も言葉なの? みなさんはプログラミング言語を使ったことがありますか?
プログラミング言語というのは、コンピュータに何かをやらせるために、命令を組み立てるための「言語」ですよね。
これはぼくたちが日常使っている「言葉」とはちょっと違います。
「日常言語」は、「命令」だけで成り立ってるわけじゃないですもんね。
けれども、プログラミング言語も「人間が機械に指令を与える=人間と機械がコミュニケートする」ためのものなのだ、と考えれば、「言葉」の一つとして捉えることができるでしょう。
ここではまず、プログラミング言語というのがどんなものなのかを、ごく初歩的な部分だけ、紹介します。
たとえば、python というプログラミング言語があって、これには、print という命令があります(「命令」ではなくて「関数」というんですけど)。
そこで、
print(1+2+3) と、pythonに指示してやると、
6 という結果を表示してくれるわけです。
(print といっても印刷するわけではなく、画面に表示するんですね)
これだけだと、計算機を使うなり、手で計算するなりしても特に変わりませんが、仮に学校の宿題で、
「1 から100までの数の自乗(ある数同士を二回かける)のを計算してきなさい」
という宿題が出たら、どうでしょうか。
計算機を使うにしても、これをいちいち、
1x1, 2x2, 3x3 ....
と100までやるのは大変ですよね。
コンピュータだったら簡単にできそうです。
これをpythonでやるには、
for i in range(1,101): print(i*i} という「呪文」を使ってやることになります。
ここで、
「for 〜」は「〜の間くりかえす」 「range(1,101)」は「1から100まで」(指定するのは101なんですけど、100までになります) 「*」は掛け算 を表していて、結果として、
「i という変数が 1 から100になるまで、i x i の結果を表示しなさい」
という「呪文」を表すことになるわけです。
お仕事で excel をお使いの方などは、こういったタイプの「呪文」が使えると、手作業をコンピュータにまかせられて便利なことは、よくご存知のことと思います。
「呪文の実現」としてのコンピュータ言語 さて、コンピュータというのは融通が効かないものですから、先ほどの「呪文」は、単語を一つ、記号一つ、打ち間違えても、せっかくの「命令」は実行されなくなってしまいます。
「ひらけー、ゴマ」と言えば、秘密の扉が開くのに、「ひらけー、コマ」では開いてくれないのと、これはよく似ています。
全文を読む