shizuto on languages

言語好きの組込みプログラマが言語から言語じゃないものまで語ります。On y va!

作りたいモノがあるからプログラミングを学ぶ、のか?

プログラミングに関する知識がない状態で「作りたいもの」を決める場合,長続きするかどうかはその「作りたいもの」の難易度にも依存します.そして,何も知らない状態で「作ってみたい」と思うものは得てして,実現するのが非常に難しいものであったりします.その結果,最初の段階で得られる結果(Hello, world! の出力とか)と実現したいものとのギャップが大きすぎて絶望し,プログラミングを学習する事を諦めると言う道を辿る事になります.

「作りたいものがあるからプログラミングを学ぶ」と言う言説 - Life like a clown

今、まだプログラミングを始めていないけど、プログラミングをやりたいと思う人は何を作りたい、あるいは何をしたいと思っているのだろう。

プログラミングを自分で学ぶには、手が届きそうな「作りたいモノ」があったほうがいい。それは確かにそうだけど、手が届きそうな「作りたいモノ」、しかもプログラミングをまだ始めていない人が考えるようなものってなんだろうか。

ゲームって難しいよね。ゲームが世の中に出てきた頃と違って、ずいぶん複雑になった。グラフィックや音は、ものすごくレベルが高くなった。ゲームを作りたいと思うのだったら、いわゆる「ツクール系」なツールのほうが早いし、目的に適っていると思う。いいゲームを作るためには、シナリオやデザインのほうが大切で、「だからプログラミングをやろう!」というのは不思議な気がする。「シナリオやデザインはできた! あとはプログラミングだ!」というなら、プログラミングできる人を探したほうがいいかもしれない。
あ、シンプルなソーシャルゲームを作るのは比較的簡単かもしれない。

では、ゲーム以外の日常使うようなアプリケーションではどうか。たとえば、最近出てきたスマートフォン向けのものとか。普段困ってるちょっとしたことを解決してくれるようなツール。では、何かしたいなーと思うことを考える。キーワードをもとにAppStoreで検索する。あ、あった。……。ということが最近の傾向で、だいたいあるんですよね、既にあるものが。既にプログラミングをやっている人なら、元がオープンソースならそれをもとに機能を追加しようとか、それじゃ足りないから自分で作るかとも思うかもしれないけど、プログラミングを始める前であれば、今あるアプリで満足するか、他のアプリを試すか、アプリ作者に要望を出す方が近道なんですよね。

いや、何かを始めるって難しい。みなさん、何からプログラミング始めたんでしょうか?

じゃあ僕はどうなのかというと、授業で触れたものを除けば、まずは数学の数値計算・検算だったり、JavaScriptによるWebサイトのちょっとしたギミックだったりしたわけです。わりと手の届く範囲の題材があったのが勝因ですね。というか、それ以前にプログラミングやってみたいなーと始めたときはだいたい打ちのめされていたということなんですが。

で、タイトルに戻るんですが、結局のところ、僕の場合はプログラミングを学びたい意識のほうが強くて手短な題材を選んでようやくうまくいったということになります。「作りたいモノがあるからプログラミングを学ぶ」というのとはちょっと違うなあ。