プログラミングって何なのさ

サルでき.jp > 97.サルでき本 原稿以前 > プログラミングって何なのさ

2011/11/09 12:13 投稿先 97.サルでき本 原稿以前 投稿者 カワサキ タカシ

心に帰ることは割と得意、というか、何でもすぐ忘れてしまうワタシ。

この本を手に取っているアナタは、これからiPhoneアプリを作ろうという意欲に満ち溢れた方なのだろう。学校とか、会社とか、そういう日常の傍らで、新しいことを学ぼうとしているのだ。それはとってもスゴイことだ。アナタは何てエラい人なんだ。ワタシで良ければいくらでもホメます。で、アナタは本屋に行くのだ。「よーし、iPhoneアプリを作るぞー」と、目に付いた本をパラパラ。ふんふん。ん?んー…。ここで早くも、「ちょっとヤバイかも…」と、得体の知れない不安に襲われていたら、その不安には原因がある。その原因をお教えしよう。

幸か不幸か、ワタシは今までのシステム屋生活の中で、様々なシステム開発プロジェクトに参加させていただいた。所変われば言語も変わる。ということで、お客様が変わる度に、使用するプログラム言語が違うのは割と当たり前のことで、メジャーなプログラム言語から、マイナーなプログラム言語まで、いろいろ体験している。なので、実績やら経歴やらを書く機会があると、必然的に色とりどりのプログラム言語が並んでしまう。

「プログラミング、得意なんですか?」、まぁ、聞かれたりするんですね。あぁ嫌、この質問。そんなときワタシはこう答えることにしている。「いえ、サッパリですが、とりあえずソレっぽいことはできます」と。謙遜でも何でもなく、事実そうなんだから仕方がない。ワタシはプログラムというものを理解しているわけではなく、パズルのように組み立てるための術を、経験上知っているだけなのだ。そして、ここにプログラムを学ぶためのヒントが隠されている。

ワタシ的結論を言ってしまうと、プログラムには、理論(Why)と手法(How)の2種類があって、手法さえ知っていれば、理論は知らずとも、とりあえず動くものは作れるのだ。そしてその手法の大部分は、実はそれほど難しくないのである。思い出して欲しい、おそらくどんな技術書でも、やり方だけを書いているページは、それほど難しくなかったでしょう?なのに、うっかり開いてしまった、「XXの仕組み」のようなページで、言い知れない不安を覚えた人、たくさんいるはずです。同じ本なのに、どういうわけだけ文字が頭に入ってこない。あ、あれ?

理論は正しい。そして、それを理解することも正しい。プログラム言語というモノはまさに知恵の結晶で、メジャーな言語は、それこそ人類の叡智と呼んでもいいくらいの工夫の上で作られている。でもね、そうだからこそ、一般庶民を代表するようなワタシ達が、たった数時間やら数日でいきなり理解できるようなシロモノじゃないんです。だって、(勝手な想像ですけど)世界中から集まった超頭良い人達が、すごい時間をかけて考えたんですよ、コレ。不安になる必要なんて、ないない。

こんな割り切りの上で、ワタシは手法から入ることをオススメする。プラモデルのように、ニッパーと接着剤の使い方を覚えたら、パーツを切って組み合わせて、それでアプリを作るところからはじめれば良いのだ。そのうち色が塗りたくなって、拡張パーツを作りたくなって、いつか完全にオリジナルで作れるようになったら、その時に、きっと少しだけ理論が理解できるようになる。「このプログラム言語には、自分のやりたいことが全部揃っている。この理論を作った人は、スゲェ」と。

前述のとおりワタシは手法ばかりでいつまでたっても理論に近づけないでいる。だからメモリー管理とか、効果的なクラスの分解とか、そういうモノが苦手である。理詰めで考えなければいけないシーンに滅法弱いのだ。もういっそのこと、こんな人でもアプリがリリースできるんだ、という安心材料にしていただければ本望である。ちょっと寂しい。


※この記事は今度出す本の下書きの下書きです。
※全ボツになることもありますので、番外編としてお楽しみください。

【業務連絡】
アップルのリファレンスやサルりす、サルできテンプレート等の画面が続きます。

関連する記事:

    None Found


Advertisement