最近プログラミングを初めて楽しそうな友達とお茶漬け専門店でメシ食いながら、「本当はコードなんて書かずにモノが出来上がるぐらい簡単になればいいのに」という話をした。

一緒にお茶漬け食いにいったJ君は最近iPhone開発を始め、自分が旅行中に必要だったニーズを満たすものを実際に作って嬉しそうだったのですが、iPhone開発する時の不便さに怒り心頭らしい。

僕は、「プログラミングって奥が深くて、綺麗な設計ができるようになるたび楽しいなあ」とか、「プログラミング始めたのは人生で最良の決断だったなあ」とかいきって真夜中にTwitterで呟いたりしちゃうんですが、確かにもっと簡単になればいいとは思う。

プログラミングの面倒さに怒り浸透のJ君

まあ、NavigationControllerとかいろいろと細かいプログラミング用語をここで羅列してもなんのこっちゃわからなくなるので、簡単にまとめると、「なんでこんなカンタンな事が、カンタンに実装できないの!」という愚痴を延々と僕に浴びせかけていた。

J君「もっと直感的に、画面上で操作できるようになってほしいんだよ!」

俺 「まあ、一応、iPhone開発もストーリーボードとか最近は出来て、楽になったよ。」

J君「ストーリーボードは結局細かい事ができないからコードで書かないといけないじゃないか!」

俺 「まあまあ、エクセルのショートカットみたいなもんだよ。なれるとコマンドのほうが便利になるのは万有引力の法則と同じぐらい自明なんだよ。」

J君「その最終的にはコマンドで打つのが楽というのがおかしい。結局、作業なんだから、簡単にわかりやすくできるようにならないと。。」

まあ、数年前に比べてARCとかできてiPhone開発はだいぶ楽になったから、やろうぜ、楽しいよと周りに言いまくっている自分ですが、実のところ、結局プログラミングは面倒な事のオンパレードです。

本来ならば、こういうものを作りたい、こういう順番でUIを見せて、こういうデザインで、こういうわかりやすくする心理的しかけがあってと言ったような人間様がやるべき仕事に集中したいんですよね。

最近は、「デザイナーもプログラミング覚えるべきだ」とか、「テクノロジ系スタートアップのファウンダはコードが書けないといけない」とか、なににつけてもプログラミング重要といった風潮です。

僕も、プログラミングできるとUIデザインに凄く役立つよみたいな記事を最近書いたばかりだ。

※デザイナーはプログラミングも覚えないといけない時代なのか

人間、なにか新しいことをちょっとかじったら、これは○○にも役立つとか、○○できないやつはダメ!とか言いたくなっちゃうんですよね。

たぶん、僕が統計学を本気で勉強したら、統計学は最強の学問だとか言うと思うし、歴史学だったら、歴史に学べないやつはクズだとか言いそう。

最近、なんかみんなコードを習うべきだみたいなカッコいい動画も海外で作られてもいたし。

これに対してJ君いわく、いやまてよと。現状でそうなるのはしょうがないし、プログラミング行為自体の楽しさは認めるけれど、進むべき方向としては、プログラミングなんて不要になるぐらいカンタンにモノが作れる世界だろと。

確かに、僕もプログラミングがもっと簡単になって、全部直感的な操作で自分が欲しいものを作れる世の中になったらいいなあとよく思う。

今でも、子供でも簡単にプログラミングが出来るようなものが出来つつあるけど、まだまだ教育用の枠組みだ。

理想を言えば、GUI操作さえもいらなくなって、「こんな感じに操作できて、データはこう記録されて、画面のアニメーションはしゅっとこんな感じ!」といったように、長嶋監督もびっくりの身振り手振りでコンピュータに要求すれば、「こんな感じでしょうか?」と提案された実装がすぐに出来上がるのがいいな。

こういう未来の話をしても、現実世界ではテクノロジーが追いついてないんだからしょうがないんだけど、こういう視点を忘れないようにするのは意味があるとは思うんですよ。

つまり、なにかを実現したくて、それにむかっていろいろな作業に没頭していると、本来の作業自体の効率化に目が行ってしまうというか。

僕は見た目が綺麗で分りやすいコードの書き方とか、綺麗な設計とか、メソッド名は何がいいかとか、プログラミングの奥の深さが好きなんですが。

ちなみに、文系人間だからプログラミングなんて無理無理と思っていて僕に、「プログラミングは手に職つくし、論理的思考が高まると思うからお勧めだ。それになんか楽しそうじゃん。」と数年前にプログラミングを勉強するよう薦めて来たのもJ君であったりする(笑)

未来を待ってられないから手を動かす

ただ、現実にはコードを書かずにモノが簡単にできるほどテクノロジーは進化してないんですよね。

簡単になるまで待つという選択肢もあるけれど、それが待てないなら、実際に手を動かして作るか、作ってくれる人を探すしかない。

今、このブログもキーボードで打っているけど、出来れば自分の思った事をそのまま入力してくれる技術ができればいいとは思う。

でも、そういう未来は待ってられないし、とりあえずキーボード打つのはそれほど難しい事じゃないから、ぺちぺちとマックでブログを書いている。

プログラミングに関しても、すげえ適当に書いても勝手に綺麗に整理してくれたり、マシンパワーで非効率な設計も補えるようになるかもしれない。

でも、現時点では綺麗な設計で効率的なコードを書くのはもの凄く重要だし、このことはそんな簡単に変わらないと思う。

もちろん、数十年後にプログラマーという職業の需要が今程あるかどうかは定かではなくて、その時々に要求されるスキルってそういうもんだし、ずっと続くものなんてないからなあ。

これはスキルだけじゃなくて、サービスの市場もビジネスモデルも、ずっと現状と同じように続くものなんてないし。

現実世界の制約を忘れて未来の事を想像するのが重要だから、SFとか読むのって大事なんでしょうね。

ちなみに、文系の人向けのプログラミング勉強方法を昔書いたので、紹介。

※挫折確率を下げるプログラミングの覚え方


*確定申告のTaxnote、家計簿ZenyListTimerなど作ってます。自己紹介はこちら