プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

これからプログラムを作ってみようと思う人へ


この記事の動画を見て、少しでも多くの人がプログラミングに興味を持ってくれたらなあ、って思います。

 うp主の名前は,紀平拓男さん(写真2)。東京・南青山で携帯電話向けのソフトウエア開発会社ブロードテイルを経営する若きプログラマCEO(最高経営責任者)だ。きっとプログラミング初心者の参考になる話を聞けるに違いない,と期待しながらインタビューを始めたが,予想以上に“すごい”紀平さんのプログラミング歴に圧倒される結果となった。

「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー──「プログラミングの楽しさ伝えたい」:ITpro


これがその動画。


D


以下の言葉から、うp主のプログラミングに対する愛情が感じられますね。

ニコニコ動画にはいろいろな実況動画があるのに,プログラミングはないなと。プログラミングは楽しいものだ,ということを知ってもらいたくて始めたのですね。

ところで


yasuhoは身近なプログラミングのネタということで楽しく動画を見ることが出来たんだけど、プログラマじゃない人はどうだろうか。退屈に感じたかなあ。あるいはテトリスを呪文を唱えながら作っていく魔術師、といった光景だったのかも。あなたはどうでしたか!?


一つ覚えておいてほしいと思うのはプログラミングはわりと地味な作業ってことなんだ。この動画ではわりとテンポよく見せてるけど、最初はコンピュータの頭の悪さに愕然とするかもしれない。


最近はプログラミング環境もよくなってきたので、実際にはここまで面倒ではなくて、わりと簡略化できるんだけど、自分のやりたいことをどのように実現するか、いわゆるアルゴリズムについては自分で考えなくてはならない。また、凝ったUIの実装はけっこう複雑になる傾向がある。


プログラム言語は個々の機能は驚くほど単純で、それらを組み合わせて多くのことが出来るように作られている。逆にいうと、その単純さゆえふだん無意識にしていることを単純な機能に置き換えるという作業を延々としないといけない。それを面倒と感じるか、パズルのように楽しいと感じるかは人それぞれだと思うんだよな。

全ての人が楽しいと思う娯楽がないように


プログラミングも誰もが楽しいと思えるわけじゃない。ただ、少々とっつきの悪いものであることは否めない。ゲームやUIが凝っているものであればあるほど、プログラムの作り込みは面倒なものなんだ。ユーザが簡単に使えることと、プログラムの作りやすさは相反するんだよね。


もしこの面白さを知る前に「プログラミングなんて面倒でつまんない」って思う人がいたなら、それはとてももったいないことだと思う。よく言ってるんだけど、yasuhoにとってプログラミングとは最高に面白いパズルゲームなんだ。

少しでも興味を持ったなら


あなたもプログラム作りをしてみませんか!?慣れてないうちは面倒で挫折しそうになることもあるかもしれないけど、ある程度いったら楽しさが見えてくる人もいるんじゃないかとyasuhoは思うんだ。

これからプログラムを作ってみようと思う人へのアドバイス

まずは作るものを決めよう


漠然と「プログラムが作れるようになろう!」より、具体的な目標があった方が続くよ。ドラクエだって「どこかにいる魔王を倒せ」と広大なマップに放り出されたら、どこへ行って何をすればいいか分からないよね。「まずは北東の○○村にいる××に会え」って言われた方が遥かにいいでしょ。

どんなプログラミング言語がいいの?


プログラムを作るにしても、今はいろいろなプログラミング言語が世の中にあふれていて、何を使えばいいか分からないって人も多いと思う。


大事なことは自分がこれから作ろうとするプログラムが作りやすいかどうかなんだ。プログラミング言語はそれを実行する環境とペアになっていて、得意分野と不得意分野がある。まずは評価版などを使って、自分が作りたいものが実現できそうか使ってみるのがいいと思うよ。


あと何かする時に覚えることが少ないかどうかも確かめてみよう。多くのプログラミング環境は言語を知っている前提で作られているものが多い。ウィンドウに絵や文字を書いて動かす、ということをするために覚えることが多すぎるのであれば、それはたぶん初心者向けじゃない。チュートリアルやサンプルの豊富なやつを選ぼう。:)

まずはコピペから


例えばいきなり英語の辞書を渡されて「明日から英語が話せるようになれ」といったってムリだよね。まずはテキストから多くの例題を見て文法を学んだり、自分なりに置き換えてみたりして、辞書は分からない時だけ引く、といった学び方をすることが多いと思う。


たいていのプログラミング環境では、サンプルコードと呼ばれるお手本が多く含まれている。まずは内容が分からなくてもいいから、サンプルを実行してみよう。その後サンプルをちょこちょこ直してみて、動作がどう変わるか確認してみよう。いくつか試すうちに、その言語の流儀が何となく分かってくるはず。

単純なことから始よう


最初から「さあ作ろう!」って意気込んじゃうと途中でつらくなっちゃうかも。画面に文字が出るだけでもいい。最初に「出来た!」っていう達成感を感じて、徐々にレベルアップしていけば、楽しさを感じつつ続けられると思うよ。

身近にいる先生を見つけよう


いろいろ試しているうちに、分からないことがいっぱい出てくる。そんな時は分からないことを教えてくれる先生が身近にいるといいよ。ネットで質問するって手もあるんだけど、時間もかかるし、何度も聞いてるうちに嫌がられるかもしれない。そもそも「何が分からないのか分からない」ようなことも少なくない。



理想としては常に近くにいて、話しかけられる人がいたら最高なんだけど、そんな人は多くない。そんな時はグーグル先生に聞しかないかもしれないけど、自分では分からないことも多いから、がんばって探してみよう。