日本語で今すぐプログラミングできる!そら豆スクリプト入門に戻る
プログラミングの入門記事を書いてみたりしているので、あらためてプログラミング入門に挫折する理由を調べて考えてみた。まあ、こういうことだと思うんだよなー。オレもアマチュアなんだけど、いちおうエンジニアリングの教育を受けたはしくれだったりするので、えらそーに書いてみた。
これは、ほんとうにたくさんある。
たとえば、代入文の方向が逆、とか。
なんで、「{」とか「}」という記号を使うの、とか。
どうして、意味が分からないかというと、もともとたいした意味がないから。
ただの慣習だったり、英字キーボードで使えそうな記号が少ないとか。
そんなことだったりするんだけれど。
でも、誰もそれを説明しない。
なかには、プログラミングの全体像を理解すると、フに落ちるものもあるし
日本語訳が定着していなくて、同じコンセプトなのに違う機能に見えることもある。
でも、それに気がつくのは、初心者にとって、むずかしいよね。
実は、プログラミングできるようになった人たちは、意味が分からなくても気にせずに、
記号を操作するのが楽しい人たちだったりする。
(ときには、プログラマー同士で宗教戦争並みに議論しているけれど。)
解決策:
入門する側は、無意味なものがいっぱいあることを理解して、細かなことを気にしない。
解説する側は、細かく説明していく。
プログラムを作らせる側が、無意味なものをできるだけ見せないようにする。
これはねー、プログラミング言語自体の入門書だと、ありがち。
ゲームプログラミング入門とか、Webプログラミング入門とか、
目的やジャンルが決まっていると、わりとさけることができるんだけどねー。
解決策:作りたいものにマッチする入門書を選ぶ。
プログラミングを覚えたら、おれスゴクなれそー
というところから入ると、こういうことが起こりがちです。
もしも、あなたが記号操作に喜びを見出さないなら、
とりあえず、なにを作るかぐらいは、決めたほうがいい。
入門書を選ぶときは、その本が最終的にどんなものを作るか、あらかじめチェックして
それに魅力を感じるか、考えたほうがいい。
解決策:作りたいものを決める。
プログラミング言語の入門書を読んだけど、
作り方がわからないという場合。
それは、プログラムの設計の方法を理解していないのが原因だ。
つまり、道具の使い方を最小限度おぼえただけなんだ。
たとえば、ハンマーやのこぎりの使い方を覚えても、
それだけではイスは作れない。(あー、たとえが古いゾ)
イスが、どんな構成をもっているか。
組み立てるためには、どんな順番でやるか。
そういうことを理解したり工夫したりできないと、じっさいには作れない。
良いイスを作るには、そこからさらにノウハウや経験が必要になる。
(デザインとか、使い勝手とか、丈夫さとか、コストとか)
プログラミングの場合も、プログラムの設計の方法を理解する必要がある。
また、必要になる関連技術について、それなりに覚える必要もある。
さらには、これらの技術を理解するための、技術的な基礎知識というものもある。
だから、現実的な目標を設定して、
じっさいにいくつか作ったり、
地道にステップアップしていくしかない。
その途中で、
ほかの人の作り方をマネしたり
目的の分野に関する本を2-3冊よんだり、
ということが必要なんだよなー。
解決策:地道に、ステップアップしていく
作りたいものは決まっているけれど、
野望が大きすぎて、入門者のレベルを超えている場合。
これは、やっぱり挫折するよね。
やる気を出すためには、野望は大きいほうがいいけれど、
そこから逆算して、(とりあえずの)現実的なゴールは決めたほうがいい。
解決策:野望とは別に、とりあえずの(現実的な)ゴールは決める。
そういうことがあるんですよ、世の中には。
何かを作り上げるために、どんな能力や手順が必要なのか。
まず、それが分かっていないわけですから。
壮大なストーリ、華麗な3Dグラフィック、そんなRPGを作りたい
なんて野望をもって、ゲームプログラミングに取り組んでみたいと思ったとか。
そんなときは、Windows+DirectXとかやるより
RPGツクールで、ゲームデザインとかシナリオ書くチカラを
磨いたほうが、いいかもしれない。
まちがってヘンな道に入り込む前に、方向転換したほうがいい。
あとからフと思ったのだけれど、
プログラミングへの入門で、もっとも一般的な方法は
解説書を読むこと、だよね。
でも、本を読むのが苦手なヤツは、どーなるんだろう。
本が苦手だというだけで、プログラミングを始めるきっかけを逃しているのかも知れない。
活字離れ - Wikipediaという話もあるしな。
ま、それを機会に本を読むことも、意外とできるようになるかも知れないし。
あるいは、専門学校とか行ってから、プログラミングを始めるなんて、あるのかもなー。
最近は、動画チュートリアルとかプログラミング学習サイトとかもあるしなー。
というわけで、プログラミング入門も、もうすこし解説書以外の手段をいろいろ増やしたほうがいいのかも。
だから、「いいから、やれ」「やりぬけ」ってことなんだが
だんだん、違うネタになってきた。
記号操作と割り切りましょう、みたいなアドバイスが多い。