【ブログリレー】プログラム言語って最初何勉強したらいいの?
こんにちは
今日でブログリレーは最後になりますが、ここまで見てくれてる方はいるのでしょうか?
ここまで見てくれている方は相当物好きなのかなと思ってたりしてます。一気に見てる方、この記事だけ見ているかたなど色々いるとは思いますがありがとうございます。ついでに、リレーとか言いつつなんか一人だけ数多くなかったか?と思っている方もいるかもしれませんが、その通りです。思い付きの企画なんてやるもんじゃないなとか思いました。今度はちゃんと計画してやりたいです(企画自分じゃないけど)。
一番最初のこちらの記事ではパソコンって買った方がいいの?という内容や、スペックに関して簡単に考察した話を書いたのですが、思った以上に見てくれている人数が多く正直驚いている部分は大きいです。
そういったこともあり、下手なことは書いてはいけないなーと思いつつ(思ってるだけ)、役に立つであろうプログラムを書いたことのない人が一番困るはずの「最初勉強するプログラム言語って何がいいの?」というものについてだらだらと書いていこうと思います。
最初に結論から
なんか長々と書きそうになったので「最初勉強するプログラム言語って何がいいの?」という疑問に関して自分なりの結論から言うと「作りたいものに必要な言語を勉強する」ということです。
当たり前のことですが「プログラミング言語はプログラムを作るための言語」です。そして、プログラムというものは何か目的があってその目的を達成するために作ります。要するに、勉強をすることが目的ではなく、自分のやりたいことを実現するために必要だから勉強するという方が非常に自然です。
じゃあ、最初は何作ったらいいんだよと思ったそこのあなた、残念ながら思考の順番が違います。まあ、それだと絶対できないというわけではないのですが、少なくともサークルというような集団に属する意味が薄れてしまいます。ここまで見てくれている方は少なからずプログラムに興味があって、Den3にも多少なりとは興味があるという非常に勝手な決めつけの上なのですが。
「1%のひらめきと、99%の努力」
この言葉はエジソンの言葉で有名なものだと思います。一般的に天才は努力で成り立っているというような努力が重要であるというような認識が多いと思いますが、実はエジソンは「1%のひらめきがなければ、努力しても無駄である」という意味でこのような言葉を言ったというエピソードがあるそうです。
自分には一緒にDen3に入った子がいたのですがその子は自分よりもパソコンに疎く、完全な初心者という形での入部でした。その子は授業の課題が忙しいなどの理由で来なくなってしまったのですが、バイト先が同じなこともありその時に来なくなった理由に関して話す機会があったのですが、彼は「C言語講座で少し教わったけど、結局何を作ったらいいかわかんない」と言っていました。
ここで「結局何を作ったらいいかがわかんない」という部分が非常に気になったのですが、やめていく人の多くはゲームを創ったりできるようになることなどを期待してDen3に入ってきて結局前期の終わりのあたりで何も作れないしいても意味ないなとやめていってしまうような雰囲気がするんですよね。まあ、当時は部会もほぼ意味を成してなかったというのもありますが。そんなこんなで始めは10~20人いたはずが、現在では同じ学年の子は4人ほどになってしまいました。
大口たたいたっていいじゃない
Den3ではSlackを連絡ツールとして使っているのですが、その中に「random」という何でも話していいチャンネルがあるのですが、そこでよく自分は「〇〇作りたい」とか「〇〇やってみたい」のようなことを言っています。それ以外でもサークル活動の時などにそういったことをよく言っていたり、ブログ内でも言ってたりしています。
中には明らかに難易度が高く、作れるわけないでしょと思われてるものも沢山あります。
実際に形になっているものといえばこのHPを作るということくらいでしょうか。それにこのサイトはまだまだな部分が多く非常にお粗末なつくりになっている部分も多いです。
例としてこのサイトを作るまでの話を上げますが、このサイトを作る前は前期の情報の授業でHTMLに関して軽ーく触れた程度の知識しかなく、このサイトのレベルですら何年かかっても作れないんだろうなと思っていました。
いざ、作るとなってからは大体1週間程度で今とほとんど同じような形になりましたが、そこから沢山の要素を追加したりなどで要約このような形になったという感じです。要は勉強次第で今どき大体はなんとかなる、ということです。
結局のところ、サークルなんて楽しむものであって別にできないことでもやってみたいっていうことが大事なのかなと思います。
そして、何を作ったらいいか、何を勉強したらいいかという発想ではなく、何を作りたいのか、何がしたいのかということが大事なんだと思います。作りたいものがあったら色んな人を巻き込んでやってみたらいいですし、サークルっていうのは似たようなものに興味がある人たちが集まっているので、きっと同じようなことがやってみたい人がいる可能性は十分にあります。
質にこだわらない
自分が初めて作ったゲームは1年前期に作ったものなのですが、このゲーム、世に出ているようなゲームとはかけ離れた、ただの文字列の組み合わせのようなものでした。
どんなものを作ったかといえば、5かける5マスの丸罰ゲームと「賭ケグルイ」という漫画に出てくるニム零式というゲームを再現したものです。それもコマンドプロント上で動かすだけのCUIのゲームです。
このゲームはC言語で入力、出力、繰り返し、条件分岐の4種類だけでできています。関数の種類数にしても5種類ですね。
出来こそ酷いものですが、その当時の自分は学校から家に帰って毎日それを作るために試行錯誤し、試しに動かしてはバグを修正し、わからないことがあればグーグルで検索をし、ということを繰り返してやっとの思いでできたこともあり、くそみたいな出来、想像していたゲームとは限りなく遠いようなそのプログラムを色んな人に見せて回るほどうれしかったことを覚えています。Den3でもそれを見せましたが、「なんだこのくそゲーやってらんねえわ」のようなことは一切言われず、「もう作れるのか」というような驚きをもらえたことがまたうれしかったです。
もしかしたら、入ってきていなくなってしまった人たちは、今近所のゲームセンターやゲームショップで売っているようなゲーム、それかコミケなどで売っているような同人ゲーム等を想像していたが、全然作れるような気がしなかったから来なくなってしまったのではないかと感じました。確証はないのですが。
もしそうだとするなら、いきなりそんな商業的に価値のあるようなものが作れると思っていたっていうあたりに現実を見たらどうなんだろうか?という疑問すら感じます。個人の感想ですが。
あくまでもこの話は自分の話なので全員に当てはまるとは思いません。ですが、作るのが好きかどうかは何か自分が苦労して作ったものが完成したときに感じる達成感を感じた後、それが楽しくないと感じるならそうなのかもしれません。逆に、何も完成させたこともないのに楽しくないというのはあたりまえで、作るということは何事においても楽なことではなく、大変なものが多いです。自分でこういうものを作ろうと思ったものを作って、それが完成して初めて作るのが楽しいか、楽しくないのかはわかることだと思っています。作ってないのに、やってないのに、食べてないのにも関わらず好き嫌いや詳しい振りをするのは「にわか」です。ダサいと言われてもしょうがないですね。やりたくないことを無理にやれとは思いませんが。
諦めないこと
この世の中のことっていうのは知らないことのほうが多く、知ってることのほうが少ないものですが、プログラムも当然そういう方が多く、なんでもかんでも最初から作れるわけがありません。諦めないで色々な手を使って目的のものを作る方法を学ぶというのがプログラムの醍醐味なのかなと思います。
実際、小学生のころからプログラムには興味があって本まで買ったのにもかかわらず、大学1年になるまでどうやってプログラミングをするのか一切知らなかったという例があるので。
まとめ
最初に言った通りだらだら書いてきましたが、結論としては、
- プログラム言語が先ではなく、何が作りたいかが先
- 作ってる間は楽しくないのは当たり前。それが楽しくないのを作るのが好きじゃないと決めつけるのは早い。
- プログラムで詰まったときとかに気軽に聞ける環境として、サークルというものに積極的に参加するのは上達する道としてはアリな選択肢である
というような感じです。是非興味があったら(なくてもとりま)Den3にはいって無謀な挑戦をしてほしいなと思います。
そんなこんなでDen3新歓ブログリレー(っていう名前なのかはわからないけど)はこれにて終了です。色々ありましたが、見てくださった方や書いてくれた部員には感謝してます()
では、これにてブログリレーを終了します。
コメント入力