いきなりですが、ひとつ覚えてください。
「プログラミング」って言葉は、仕事や、目的のために操作して動くことを示す言葉です。
何かの名前とは違います。
パソコンや機械を動かすためには、あれこれ命令や作法が載っている「指示書」が必要です。
そんな「指示書」が、専門的に「プログラム」と呼ばれているだけです。
とりわけ、はっきりと目的を持つプログラム、たとえば「きちんと最後まで遊べるゲーム」なら、「ソフトウェア(ソフト)」「アプリケーション(アプリ)」と、区別して呼ばれています。
まるでモンスターの「ドラゴン」を「竜(りゅう)」と呼ぶのに似ていますね。
このくらい、言葉は変わっても、意味は大きく変わりません。
そう、だからパソコンやインターネットの言葉はあれこれ、ややこしく感じてしまいます。
さて、あなたがパソコンやタブレットの前で考え、悩んでコツコツ行う「プログラミング」で、とあるプログラムを完成させられました。
腕試しに「コンテスト」へ応募しようとしてみましょう。
プログラミングコンテストへ挑戦するとき使ってはいけない言葉
応募のための書類にも、一歩進んで「審査員さんとの面接のとき」にも、絶対使ってはいけない言葉があります。
それは何でしょう?
誰でも口にするごく普通な言葉です。
答えは「~みたいな」「~と同じような」「~をイメージしながら」、こんな言葉たちです。
「~」という部分は、憧れのゲーム名だったり、もう発売されている製品の名前だったり変わってきます。
これらを書いたり、伝えたりすると判断する側は「この世界にすでにあるのなら、そちらを使えばいいじゃない?」と思い、何か理由をつけて落選となります。
イラストや音楽、さらには就職の場面でも同じです。
「似たようなものが存在している」→「作った人と作品に個性、伸びしろ(育てられる能力)、勢いがない」→こんな流れになってしまい、実はそれ以外に、個性的な部分や新しいものがたくさん含まれていても、審査はされず、見つけてもらえません。
コンテストは一般に、応募する人が多いので、応募作の最初の説明から冒頭に出る画面と動き等で、この先まで「審査する価値があるか」非情ですけれど見切ってしまいます。
これは、5作品しか受賞できないコンテストへ2000作品以上が、応募されることも珍しくないからです。
すべての応募作をじっくりと審査していたら、結果発表の締め切りに間に合わなくなります。
筆者が参加させていただいた、コンテストでも同じような審査方法でした(コンテストのなかには「少数」ですが、最初から最後までを見て審査する所もありますが……)。
コンテストへ挑戦するときに必要なプログラミングの基礎
次に、ちょっと小声でお知らせします。
応募用のゲームやソフトでは、「キレイさ」「汚さ」は評価対象に、ほとんどなりません。
ただ、わずかなことをするソフトなのに、記憶する場所(ディスクの必要量等)が多すぎるケース、ソフト(プログラム)にムダが多くて、スムーズに動作しないケースは例外です。
「??」と、なられた方はたくさん居られるかもしれません。
ここでの「キレイさ」とは……、プログラミングで使う「命令の言葉」「判定の言葉」「反応を決める言葉」が雑に並んでいたり、区切りがわからなかったり、同じ言葉が連続していたり、指示書の文面を意味する「ソースコード」の見た目についてです。
一般に、文面(ソースコード)が深く考え込まれず、雑に書いてあると、出来上がるプログラム(ソフト)は大きなサイズになり、ぎこちない動き方をします。
スムーズに動かないという欠点は、マイナス部分だと判断されます。
言葉の組み合わせと使い方が、うまく考えられていると、すばやく動いて記憶する場所もあまり必要ないプログラムが出来上がります。
考え抜いてプログラミングすれば、自然とソースコードはキレイになって、実行させてもスムーズに動くものに仕上がっていきます。
これらがプログラミングについてのポイント1。
ポイント2は、一番大切な基礎とも「技術」とも呼べることで、作っているものは最後の締めくくりまでプログラミングされているか?
プログラム(与えられた作業を行う)よりもソフト(完成品)となっているか、これが必須です。
プログラミングして、誰も思いつかない個性的な内容ながらも、スムーズな動作をして良い出来なのに、途中で止まって終わる作品は、普通のコンテストでは「作品」として認められません。
たとえ竜頭蛇尾になろうと、かまわ――。
……と、せっかく難しい慣用句を使っても、文が途中までしか書いていないなら、読み物として認められません。
さらに、プログラミングして応募すらできるプログラムを作るためには、最後まで作り終える「クセを身につけて慣れていく」点を意識してください。
すると基礎的な考え方が養われ、プログラミングの力はどんどんパワーアップしていきます。
おわりに
コンテストへ応募して受賞するには、ほんの少し、考え方を意識して変えてチャレンジすると、良い結果へつながるでしょう。
審査員は人間ですから、「目に見えないもの」まで感じて評価に影響します。
ここまで読んだあなたなら、もしも
「あなたはどのようなゲームを作りましたか?」
「プログラミングして何をさせたいですか?」
こう問われても、はっきりと応じられますね。
自信が持てない方は、ひとつ、ふたつとプログラムをプログラミングし終え、完成させてください。
必ず、問いに応じられるプログラム、ええそうです。ゲームソフトや便利なアプリが出来上がっているはずです。
こんな夢のつづきは、次回にお話しします。