2017/01/24知らない人がいると困るので、真っ先に書いておくけれど、僕はプログラマーではない。4年ほど前、退院後の自宅療養の時期にふと手にしたWeb関連の本に触発されて、HTMLやコンピュータ言語に少し興味をもつようになっただけのことだ。本気で、自分が複雑なプログラムを書けるようになると考えたわけではない。したら、僕にだってプログラムが書けるようになるかもしれない、少なくともそんなチャンスくらいはあるのかもしれないと、思っただけのまったくのど素人だ。50歳を目の前に控えた僕が、プログラムを学ぶために、学校に行くなんてことは到底不可能だった。学校に行かずして、しかも無料で学ぶということに関しては、今はいい時代でもある。ネットで探せば、いろいろとプログラムを教えてくれる講座やブログがあるし、ソースコードを明らかにしてくれるものもある。ドットインストールなんていう、動画でプログラムを教えてくれる無料サイトもできて、早速に登録をしたりもした。(僕は3期生で、登録から既に800日以上が経過している)ドットインストールの動画を見たか見てないかで言えば、Cもやったし、JavaScriptも、PHPも、やった。どの言語においても、関数があり、変数があり、配列があり、ループ処理があり、分岐処理があり...、それぞれの言語特有の記述の仕方やルールがあることは、わかった。それは、わかったのだけれど、どうやってプログラムしていいのかは、さっぱりわからなかった。『PHPで作る掲示板』だとか、『JavaScriptで作るおみくじ』だとか、言われた通りに写経してみたりもしたし、それらはうまく動きもした。かかわらず、僕には、なにかをプログラムできる気がまったくしなかった。「気がしない」だけではなく、本当にできないのだけれど。それは、わからない数学の問題を、できる友人に解いてもらうときの感覚に似ている。その友人は当たり前のように問題を解いてくれるのだけれど、「ほら、これで、できたよ」と、ニッコリと微笑みかけられても、僕には、それが正解か不正解なのかすら、よくわからない。いや、それで、解答が終わりなのか、終わってなくて途中なのかすら、わからないのだ。以前に、福田は考えるまでもなく、補助線を描いて、ニッコリと笑ったというタイトルで書いたとおり、図形の証明問題なんかで、なにげに補助線を引かれても、なぜ、そこに補助線を引こうと思いつくのかがさっぱりわからないのだ。あの感覚と、すごく似ている。動画の中で、「まずは、functionで関数を作ってやりましょう...、次に文字列を格納するための配列を用意してあげましょう...」と、サラサラとプログラムは完成していく。動画の中のプログラムは、どんどんと完成していくのだけれど、僕のなかでは、一向に完成していかない。言われるがまま、見せられるがままなだけで、一向に自分でプログラムできる気にならない。繰り返すけれど、「プログラムできる気にならない」だけでなく、本当にできないのだ。一時期、完全にあきらめようとしていた。あまりにも、僕には不向きすぎる。プログラムができるかもしれないなんて思った僕が、傲慢でした。ごめんなさい、みたいな感じで。非プログラマーであり、こんな年齢からひょっとしてと思った僕を応援してくれたfacebookの友だちにも悪いと思いながらも、これ以上あがきようがないと思いはじめていた。電卓を作成するとしよう。プログラマーの人は、こう言う。正直に言うと、最初にこう言われたとき、僕は、そんなことは簡単にできると思ってしまったのだ。いや、もっと最悪なことに、僕は、いちいち言葉になんかしなくても、わかってるよ、と思ってしまったのだ。思ったのか?今の僕にはわかる。『いちいち言葉にするのが面倒だった』からだ。それが面倒なのかと言うと、言語化せずに半ば無意識でしている自分の動作や使い方について、『実は自分でわかっていると思っているほど、わかっていなかった』からだ。そりゃそうだ、自分でわかってないことを言葉にするのは、とてつもなく面倒にちがいない。プログラムを書けるようになりたければ、やはり『言葉』にしなければならないようだった。それをしないことには、どこからとっかかっていいのかすら、さっぱりとわからないのだから。プログラマーの友人たちが、「まずは、言葉にしてみましょう」と言ってくれる意味が、少しわかりはじめた気がしたのは、イヌでもわかるJavaScript講座–電卓が、きっかけだった。その中にも、こう書かれていた。『言葉』にするの?)そして、そのあとには、こうつづく。最初にこれを読んだ僕は、電卓に電源なんかあったっけ?と、思ってしまった。いや、電源なんかないし、どうすればいいんだ?僕は、自分が電卓を使う時のことを、胸に手を当ててよく思い出してみる。会社の机の引き出しから電卓を引っ張りだした僕は、まず、何をする?電卓の電源なんか入れたりしない。言うか、今の時代ソーラー付きでない電卓を見たことがないから、机から出した瞬間に、数字が表示される窓のような部分に、前に計算して出した答えが浮かび上がってきたりする。それが邪魔だから、とりあえず、机から電卓を引っ張りだしたら、ACボタンを押すんだった。急いでいるわけでなくても、苛ついたように、3回以上はACボタンを連打している。『0』が表示されたのを確認してから、計算をはじめる。僕は、少し、恥ずかしくなる。自分では気づいていない癖を、他人に指摘されたときのように。Clearってことで、言わば初期化であり、電源を入れるってことと同じようなことだよね。そのことに、無自覚で、その意味を意識してなかっただけで。しろ、僕はちゃんと確認している。表示が『0』でなければ、正しく計算出来ないことを、僕は知っているのだ。少なくとも、前の計算の数字が残っているとマズいということを、僕は認識している。僕はACボタンを連打するのだ。(言うまでもなく、連打する必要はない。ACボタンがACボタンの機能を果たしてくれさえすれば、1回だけ、優しく押してあげるだけで十分だ)自分で『言葉』にできなかった僕は、こうやって、人が『言葉』にしてくれたことを読んではじめて、ようやく、「まずは、言葉にしてみましょう」の意味が少しわかった気がした。「言葉にしてみましょう」という作業が、簡単なことではないということも。亮)という本を買った。筆者は、日常のいろんなものだってプログラムだと言って、プログラムとはなんなのかを説いてくれる。目覚まし時計をセットするのも、立派なプログラムだと。運動会のプログラムや、式典のプログラムなどなど、プログラムというのは、順序立てられていて、予め作られていて、どんなときに何をするかが決められているものが、プログラムなのだ。コンピュータ用に作られたものだけが、プログラムなわけではない。翌朝の6時に目覚まし時計を鳴らすのだって、一種のプログラムであっていいのだ。「目覚ましを鳴らす」と書いたときに、僕のような粗忽な人間が陥りやすいことがある。「鳴らす」ことだけに、気持ちがとらえられてしまうのだ。いうことかと言うと、本書にある『目覚し時計の設定プログラム』は、こうだ。停止条件の設定なんだか、すごくプログラムっぽくなった気がしないだろうか?僕なんかは、最後の『停止条件の設定』とやらを読んだときに、グッときて、「うわっ、プログラムっぽいよな」と感じるのだけれど。それは、僕が単純すぎるのだろうか?もしくは、レジ業務もプログラムだと、筆者は言う。レジ業務?レジ業務の仕方を書くのは、それはマニュアルではないのかと、僕は思ったわけだ。考えてみると、マニュアルとは、つまりは、「こういう時には、あぁする」だとか、「別のこういう場合には、こう処理する」だとかがまとめられて、そのマニュアルを見れば誰もがレジ業務ができるように書かれているわけである。したら、誰にでもできるように書かれているということは、コンピュータが読んでも、できるはずなのだ。マニュアルとは、プログラムであって、なんら問題はない。マニュアルを作るのは、とても面倒だ。コンピュータ用のプログラムを書いたことはなくても、業務用マニュアルなら作ったことがある。なると、なんだか、プログラムだってできそうな気もしてきた。それは、簡単なことではないし、根気のいる作業だ。プログラムを書く前段の準備でしかない。言葉にしたあとのプログラム言語への変換は、まったくの手つかずな状態なわけで、道のりは遥か、遥か、遥か彼方であることに変わりはない。それにしても、なんだか、やっと糸口が見えた気になることができたのも事実だ。「だから、最初から言ってるでしょ」と、facebookでいつも応援してくれている友人たちには叱られそうだ。あきらめずにいようと思った今日この頃です。非プログラマーであり、僕のような人々に、僕はこの本を推薦します。あらたに、こんな本も出ました。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。POST彼女は振り返りもせず改札の向こうに消えた帰省していた娘を最寄りの駅まで送ってきた。...とくになにもない日曜日の夜についてタイトルのようにとくにこれといってなにもない日曜日の夜をすごしている。...考えたとおりに生きなさい。しないと、いずれは生きたとおりに考えはじめてしまうから。...第9回おかやまエンデューロに出た話(3)さて、前回は抜くなら右から抜くという話をくどくどとしたように思う。