[[日本語で今すぐプログラミングできる!そら豆スクリプト入門>SoraMame.ps.js/入門]]に戻る

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


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

#contents

*プログラミング入門に挫折する6つの理由 [#c697af76]

**意味の分からないことが、多すぎる。 [#s54c772d]

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

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

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

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

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

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

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

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

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

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

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

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

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

''解決策:
''解決策:''

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

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

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


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

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

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

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

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


**作るものが決まっていない。作りたいものがない。 [#n2cb0db3]

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

その途中で、

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

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

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

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


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

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

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

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

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

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

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

*6つを超えてしまった [#p2cc755b]

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

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

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

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

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

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

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

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

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

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

**おまけ2:解説書を読む人、読めない人 [#h68fd624]

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

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

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

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

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

[[活字離れ - Wikipedia:http://ja.wikipedia.org/wiki/%E6%B4%BB%E5%AD%97%E9%9B%A2%E3%82%8C]]という話もあるしな。

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

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

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

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

-[[3分動画でマスターする初心者向けプログラミング学習サイト - ドットインストール:http://dotinstall.com/]]

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

-[[子どもがつまずく抽象語のコア60語をその根っこから理解できる表 読書猿Classic: between / beyond readers:http://readingmonkey.blog45.fc2.com/blog-entry-598.html]]


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

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

-[[俺式4.0 :: 25 歳くらいのゲームプログラマの人がやるAdobe AIR を使った比較的真っ当なゲーム開発:http://www.tatsuya-koyama.com/4.0/html/tknotes/article/game_programming/mrwarp_making.html]]


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

-おすすめ [[日本語で今すぐプログラミングできる!そら豆スクリプト入門>SoraMame.ps.js/入門]]

*参考資料 [#l355e677]

**プログラミングの挫折に関するブログ [#s030951e]

-[[Jappsブログ: 素人がプログラミングで挫折する8つのポイント:http://blog.japps.jp/2009/07/blog-post.html]]
-[[プログラミングを始めようとして何度も挫折した。:http://anond.hatelabo.jp/20070523230747]]
-[[[コラム]プログラミング初心者はこうして挫折する - リブログしてないじゃん!?:http://wakasiraga.tumblr.com/post/25025049193]]
-[[コトノハ - プログラミングで挫折したことがある:http://kotonoha.cc/no/151930]]
-[[プログラミングに挫折した:http://anond.hatelabo.jp/20100321192614]]
-[[プログラミングに挫折した:http://anond.hatelabo.jp/20100321192614]]

-[[2ch_プログラミング、どこで挫折した?:http://logsoku.com/thread/engawa.2ch.net/poverty/1340867044/]]
-[[専門学校のレベルの低さに絶望した:キニ速:http://blog.livedoor.jp/kinisoku/archives/1670658.html]]

**プログラミングに挫折しない心がまえ [#q8b1c336]

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

-[[プログラミングは体で覚えろ|悪態のプログラマ:http://ameblo.jp/argv/entry-10009231637.html]]
-[[プログラミングを始めようとして何度も挫折した人へ|悪態のプログラマ:http://ameblo.jp/argv/entry-10036422006.html]]
-[[プログラミングが好きですか?|悪態のプログラマ:http://ameblo.jp/argv/entry-10000440311.html]]
-[[WEBプログラムを勉強するには、まず何から始めれば挫折しないで.. - 人力検索はてな:http://q.hatena.ne.jp/1293108756]]

-[[プログラミングを始めたい人・挫折気味な人に贈る、妄想プログラミング|Cojilo's BLOG:http://ameblo.jp/cojilo/entry-11218786530.html]]
-[[プログラミングとは何か?|Cojilo's BLOG:http://ameblo.jp/cojilo/entry-11202512119.html]]

-[[プログラム挫折経験ある人、どうやって克服した?:アルファルファモザイクだった:http://alfalfa.livedoor.biz/archives/51083936.html]]

-[[プログラムで何度も挫折した人に待望の本が登場:http://www.abi-station.com/p/2452]]
-[[自分でWEBサービスを作りたいと思っている人へ:http://anond.hatelabo.jp/20101203150748]]
-[[C言語・ゲーム作成で挫折気味の対処方法 - BIGLOBEなんでも相談室:http://soudan1.biglobe.ne.jp/qa4948169.html]]
-[[ゲームプログラミングは入り口としては狭い - IT観察 | live-gonの日記 | スラッシュドット・ジャパン:http://slashdot.jp/journal/419582/%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AF%E5%85%A5%E3%82%8A%E5%8F%A3%E3%81%A8%E3%81%97%E3%81%A6%E3%81%AF%E7%8B%AD%E3%81%84---IT%E8%A6%B3%E5%AF%9F]]
-[[「あこがれ」と「自分にもできるんじゃないか?」|OpenPNEの手嶋屋:http://www.tejimaya.com/20120903%e3%80%8c%e3%81%82%e3%81%93%e3%81%8c%e3%82%8c%e3%80%8d%e3%81%a8%e3%80%8c%e8%87%aa%e5%88%86%e3%81%ab%e3%82%82%e3%81%a7%e3%81%8d%e3%82%8b%e3%82%93%e3%81%98%e3%82%83%e3%81%aa%e3%81%84%e3%81%8b%ef%bc%9f/]]

-[[プログラム組んでツールやゲーム等作るまでに挫折したことはありますか? 挫折の... - Yahoo!知恵袋:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1473436274]]
-[[いちばんやさしいゲームの作り方:http://www.game-create.com/]]

-[[俺式4.0 :: 25 歳くらいのゲームプログラマの人がやるAdobe AIR を使った比較的真っ当なゲーム開発:http://www.tatsuya-koyama.com/4.0/html/tknotes/article/game_programming/mrwarp_making.html]]
-[[we-blog ― 初心者が2ヶ月でプログラミングをマスターする方法:http://we-b-blog.tumblr.com/post/36103252953/2]]
-[[【2012超まとめ】確実にWEBサービスを作りたい人へ【前編】:http://anond.hatelabo.jp/20120926165407]][[【中編】:http://anond.hatelabo.jp/20120926165533]][[【後編】:http://anond.hatelabo.jp/20120926165920]]

-[[It’s Party Time!: ゼロからプログラミングを学ぶ上で言語選択より大切なこと:http://el.jibun.atmarkit.co.jp/azk/2013/05/post-10fc.html]]

**素養 [#bf845260]

-[[本の虫: 60%の人間はプログラミングの素質がない:http://cpplover.blogspot.jp/2012/05/60.html]]
-[[プログラミング習得は時間のムダ?:http://developers.slashdot.jp/story/12/05/28/1642207/]]
-[[「読み・書き・プログラミング」の時代は来るだろうか:http://it.slashdot.jp/story/12/06/04/0034224/]]
-[[ハイテク起業家はプログラミングを知らなければならない?:http://developers.slashdot.jp/story/12/09/10/0913258/]]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS