オレの考えた、プログラミング入門に挫折する6つの理由

https://www.catch.jp:443/wiki/index.php?SoraMame.ps.js%2F%C6%FE%CC%E7%2FCasestudy

日本語で今すぐプログラミングできる!そら豆スクリプト入門に戻る

プログラミングの入門記事を書いてみたりしているので、あらためてプログラミング入門に挫折する理由を調べて考えてみた。まあ、こういうことだと思うんだよなー。オレもアマチュアなんだけど、いちおうエンジニアリングの教育を受けたはしくれだったりするので、えらそーに書いてみた。

プログラミング入門に挫折する6つの理由

意味の分からないことが、多すぎる。

これは、ほんとうにたくさんある。

たとえば、代入文の方向が逆、とか。

なんで、「{」とか「}」という記号を使うの、とか。

どうして、意味が分からないかというと、もともとたいした意味がないから。

ただの慣習だったり、英字キーボードで使えそうな記号が少ないとか。

そんなことだったりするんだけれど。

でも、誰もそれを説明しない。

なかには、プログラミングの全体像を理解すると、フに落ちるものもあるし

日本語訳が定着していなくて、同じコンセプトなのに違う機能に見えることもある。

でも、それに気がつくのは、初心者にとって、むずかしいよね。

実は、プログラミングできるようになった人たちは、意味が分からなくても気にせずに、

記号を操作するのが楽しい人たちだったりする。

(ときには、プログラマー同士で宗教戦争並みに議論しているけれど。)

解決策:

入門する側は、無意味なものがいっぱいあることを理解して、細かなことを気にしない。

解説する側は、細かく説明していく。

プログラムを作らせる側が、無意味なものをできるだけ見せないようにする。

hello worldとか、入門書のサンプルがつまらない。

これはねー、プログラミング言語自体の入門書だと、ありがち。

ゲームプログラミング入門とか、Webプログラミング入門とか、

目的やジャンルが決まっていると、わりとさけることができるんだけどねー。

解決策:作りたいものにマッチする入門書を選ぶ。

作るものが決まっていない。作りたいものがない。

プログラミングを覚えたら、おれスゴクなれそー

というところから入ると、こういうことが起こりがちです。

もしも、あなたが記号操作に喜びを見出さないなら、

とりあえず、なにを作るかぐらいは、決めたほうがいい。

入門書を選ぶときは、その本が最終的にどんなものを作るか、あらかじめチェックして

それに魅力を感じるか、考えたほうがいい。

解決策:作りたいものを決める。

解説書を一冊やっても、作り方がわからない。

プログラミング言語の入門書を読んだけど、

作り方がわからないという場合。

それは、プログラムの設計の方法を理解していないのが原因だ。

つまり、道具の使い方を最小限度おぼえただけなんだ。

たとえば、ハンマーやのこぎりの使い方を覚えても、

それだけではイスは作れない。(あー、たとえが古いゾ)

イスが、どんな構成をもっているか。

組み立てるためには、どんな順番でやるか。

そういうことを理解したり工夫したりできないと、じっさいには作れない。

良いイスを作るには、そこからさらにノウハウや経験が必要になる。

(デザインとか、使い勝手とか、丈夫さとか、コストとか)

プログラミングの場合も、プログラムの設計の方法を理解する必要がある。

また、必要になる関連技術について、それなりに覚える必要もある。

さらには、これらの技術を理解するための、技術的な基礎知識というものもある。

だから、現実的な目標を設定して、

じっさいにいくつか作ったり、

地道にステップアップしていくしかない。

その途中で、

ほかの人の作り方をマネしたり

目的の分野に関する本を2-3冊よんだり、

ということが必要なんだよなー。

解決策:地道に、ステップアップしていく

解説書を一冊やっても、作りたいものが作れない。

作りたいものは決まっているけれど、

野望が大きすぎて、入門者のレベルを超えている場合。

これは、やっぱり挫折するよね。

やる気を出すためには、野望は大きいほうがいいけれど、

そこから逆算して、(とりあえずの)現実的なゴールは決めたほうがいい。

解決策:野望とは別に、とりあえずの(現実的な)ゴールは決める。

6つを超えてしまった

おまけ1:現実的なゴールを考えたら、それはプログラミングが不要かも知れない。

そういうことがあるんですよ、世の中には。

何かを作り上げるために、どんな能力や手順が必要なのか。

まず、それが分かっていないわけですから。

壮大なストーリ、華麗な3Dグラフィック、そんなRPGを作りたい

なんて野望をもって、ゲームプログラミングに取り組んでみたいと思ったとか。

そんなときは、Windows+DirectXとかやるより

RPGツクールで、ゲームデザインとかシナリオ書くチカラを

磨いたほうが、いいかもしれない。

まちがってヘンな道に入り込む前に、方向転換したほうがいい。

おまけ2:解説書を読む人、読めない人

あとからフと思ったのだけれど、

プログラミングへの入門で、もっとも一般的な方法は

解説書を読むこと、だよね。

でも、本を読むのが苦手なヤツは、どーなるんだろう。

本が苦手だというだけで、プログラミングを始めるきっかけを逃しているのかも知れない。

活字離れ - Wikipediaという話もあるしな。

ま、それを機会に本を読むことも、意外とできるようになるかも知れないし。

あるいは、専門学校とか行ってから、プログラミングを始めるなんて、あるのかもなー。

最近は、動画チュートリアルとかプログラミング学習サイトとかもあるしなー。

というわけで、プログラミング入門も、もうすこし解説書以外の手段をいろいろ増やしたほうがいいのかも。

おまけ3:もしかすると、本を読み慣れていない、というのもあるかも。

おまけ4:そもそも入門といっても、それなりのレベルに達するには時間がかかる

だから、「いいから、やれ」「やりぬけ」ってことなんだが

だんだん、違うネタになってきた。

参考資料

プログラミングの挫折に関するブログ

プログラミングに挫折しない心がまえ

記号操作と割り切りましょう、みたいなアドバイスが多い。

素養


  トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-05-15 (水) 13:13:49 (3992d)