高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

プログラミングがやりたい!

ギークに「プログラム始めたきっかけって何ですか?」みたいに聞くと(あと記事とか読むと)「自分でゲームを作ったのがはじめかな」って答えが多いようなのだけど、そもそもゲームが自分で作れるとかゆう発想がどこからきたの!と思うスイーツな私。えへ。

プログラムっておいしいの? - iGirl

わたしは、前にも何度か書きましたがRPGツクール出身。なのでいちおう”ゲームを作ったのが始まり”ということになりますか。ただゲームといっても結局はSFCのゲームだったので、そんな大それたことでは全くないですけど。
確かにわたしも、ゲームを(制限は限りなく多いけど)作れるというシステムはものすごいなと思ったし、やってみて(やはり制限は多いけど)なんだかおもしろいなというものを感じてました。まあ、わたしにはゲームを作れるほど総合的なセンスはないのがわかったし、やめてしまいましたけど。

さて、そんな話はおいといて、id:yasuhoさんにつれられてわたしもまた書いてみます。なんか久しぶりだな、内容は昔書いたことばっかりだけど(^^ゞ

なぜプログラミングをするのか?

わたしが本当にプログラミングをはじめたのは、MuserのTakuさんへのあこがれからと、Museをもっと使いたいからでしたねえ。不便を何とかしたい気持ちがあって、対象がパソコンの中の世界なら、プログラミングという選択肢が出てきてもおかしくないと思います。
わたしにとって、プログラミングは”料理”。もちろん作る課程も楽しいですが、できたものを食べ(使っ)たり、多くの人に自慢(?)したりすれば楽しさは倍増です。
たぶん、他の人から見れば、そんなことはないでしょうけど、こうやっていろいろ工夫して、材料の相性を考えて、組み合わせて作るのって、なんだか楽しくないですか?それにできたものは自分や他人の役に立つんですから。一石二鳥といえましょう。
それに、こちらは本来の料理と違って材料費もかからないし光熱費などもかからないですし(電気代はかかりますが)。貧乏性だったのもあるかもしれませんね。

言語について

言語については、たぶんどんな言語でも、最初しばらくは変えずに続けることになると思います。たぶん最初に誰かあこがれの人がいれば、その人と同じになると思いますが、そうでなければ何でもいいでしょうね。
その言語に不満を感じたり、はたと違う言語が気になり出すのは2、3年くらいあとでしょう。わたしもVB6使いで、終盤サブクラス化で悪戦苦闘*1しながらも、ほかの言語に移ろうと思うまで1年半かかりましたもの。それも後半の半年間は学校に行っていなかったのですから、普通の人に換算するなら1年くらいはなるとおもいます。
とにかくおすすめだの何だの気にしなくていいから、やりたければ何でも手をつけるといい と思いますね。
ただ、強いていうならIDEのついてるC#などの言語かな。言語補完があって、GUIがぺたぺた作れるのは初心者にとってはアドバンテージ大きいと思うので。

プログラミングを(本気で)やりたければ・・・

趣味でプログラミングをやりたいなら、うまくなるとかそういうことは特に気にせずに、とにかくがむしゃらに作ることだと思います。途中で失敗してもかまわないと思いますし、結果ものができなくてもいいと思います。いろいろ作ってるうちに、いつの間にかできるようになってくるものだと思います。まあ、どんなこともそうなのかな とは思いますが。
ネタは、不便なことを感じたらいろいろやってみるでも良いですし、誰かに聞いてみるでも良いし。目的を持って作ると上達も早いでしょう。
それでもネタが出てこないようなら、うちの磯子クリエイティブチームみたいなところの門をたたいてみるのも良いし。横浜在住でプログラミングをやってみたい人、うちのところに入ってみませんか?なんてね(たぶんコレが一番に言いたかった?)。

プログラミングって楽しいの?

一応オチていないので言及しますが(^^ゞまあ、いうだけ野暮と言うものじゃないでしょうか。どんなこともそうだと思いますが、楽しいと思う人には楽しいし、苦痛だと思う人には苦痛なんでしょうね。
好きだけど素質がないとか、嫌いだけど素質があるとか、そういうのはプログラミングにはとりあえずないと思うので・・・。好きならとりあえず手をつけてみればいいと思います。学校の成績なら軒並み平均を下回っていたわたしが言うのだから。たぶんできないってことはないと思いますよ。

*1:VB6ではウィンドウメッセージを直接扱えないため、VBのイベントで用意されていないものは、ウィンドウのプロシージャを上書き(サブクラス化と呼ばれていた)してウィンドウメッセージを取得しなければいけなかった。しかし、VB6でサブクラス化を行うとブレークポイントでポーズを書けるなどしただけで開発環境ごと落ちるというとっても残念な事態になるのですね