プログラミングを始めるとき、最初に知ってほしいこと!それは目的!
どうしてプログラミングを始めたいと思いましたか?
何をしたくてプログラミングを始めることにしましたか?ゲームを作りたい?いいですね。すごく便利なアプリを作りたい、素敵です。学校の課題が面倒くさかったので、勝手に終わるようにしたかった、これはエンジニア向きです。ぜひがんばりましょう。
ゲームを作るには、プログラミングの知識が必須です。
便利なアプリを作るには、どういうアプリなら作れるか知る必要があります。
プログラミングは、何かを作るための道具であったり、便利にするための道具でもあります。そして、道具そのものは目的になりづらいものです。例えば「フライパンを学びたい」というとちょっとおや?と思います。「パラパラなチャーハンが作りたい」なら、よくわかります。
フライパンと同じように、「プログラミングを学びたい」というのは、ちょっとずれた考え方です。「ゲームを作りたい」だから「プログラミングを渋々学んだ」という形になっていないなら、おそらくプログラミングは上達しません。
どのプログラミング言語が自分に向いているか考える前に、何を作りたいのか考えましょう。
とはいえ渋々学ぶもの
何を作りたいかイメージが湧いたら、結局渋々プログラミングを学ばなければなりません。
例えば大工さんになりたいとします。練習するにはどうしたらいいでしょうか?いきなり家を建てるのは無謀ですよね。まず、のこぎりやカンナの使い方を学んで、小物を作り、犬小屋を作り、そして見習いとして修行したあとに実現します。
プログラミングも同様で、まずは小さいものから作っていくのが効率的です。
一番小さいプログラム、テキストフィルタ
大工さんの例で言う、「木を切ってみる」「釘を打ってみる」のように一番小さい作業を、プログラミングだと何になるか考えてみましょう。
プログラミングでは「テキストフィルタ」が一番基本的なプログラムとして有名です。
どんなものかというと、例えば掛け算をするプログラムを考えると「2 3」と入力すると「6」と出力して、「5 3」と入力すると「15」と表示するようなプログラムです。
ここで注目してほしいのが、「2 3」というのは数字にも見えますが、実は文字(テキスト)です。そして出力した結果も「6」という文字なのです。
つまり文字を入力して文字を出力するプログラムです。こういうプログラムを「テキストフィルタ」と呼びます。
競技プログラミングもテキストフィルタ
最初にプログラミングを学ぶ題材として、競技プログラミングサイトのAtCoderはおすすめです。最初にディスってしまいましたが、プログラミングを目的にしているもので、プログラミングにおけるそろばん検定みたいなものです。
AtCoderには初心者向けの解説記事も充実しているので、一度読んでみるとよいと思います。最初の学習では入力と出力のやり方が説明されていますが、これもやはりテキストを入力してテキストを出力するものになっています。
Webページもテキスト
一度はWebページの「ソース」を見たことがあるのではないでしょうか。ソースはHTMLタグで書かれていますが、HTMLタグもやはりテキストでできています。
Webブラウザはテキストを読み込んで、動いています。つまり、テキストフィルタを使いこなせるようになれば、Webページを自由自在に使えるようになるのです。
最初はテキストフィルタから
一番最初にテキストフィルタの作り方を学んでおくと、Webアプリが上手に使えるイメージがついたと思います。ゲームの場合は微妙なところなのですが、でもやはり覚えておいて損はないと思います。忘れてはならないのが、プログラミング言語もテキストです。プロのエンジニアはプログラムを作成するプログラムのようなものを作成する機会がかなりあるので、直接ゲームは作らなくても、ゲームを作るプログラムを作る(ややこしい)ためにテキストフィルタが活躍するでしょう。
ある程度学習が進めば、次に何をすればいいか自ずとわかってくると思います。とにかく最初はテキストフィルタを作る!ということをいしきしてみてはいかがでしょうか。