2009-07-28

素人がプログラミングで挫折する8つのポイント

素人だけどプログラミングとかやってみたいPJで書いたブログをこちらにも掲載
世の中には、"プログラミングができる人"と"プログラミングができない人"、この2パターンの人間がいることは紛れもない事実です。

2ヶ月前に「素人だけどプログラミングとかやってみたい。」というプロジェクトを発足させてしまったことは自分の中でも青天の霹靂であり、それはいつもの「プログラミングとかやってみたいんだけど、一緒にどう?」とかいう"適当な発言"に、思いのほか賛同者が食いついてきたために引くに引けない状態になってしまったことが事の発端でした。

まさか自分が、"プログラミング"をやることになるとは思ってもいなかったものの、いざプロジェクトでやると決めた以上はキチンと成果を出したいものです。しかし、いまこうしてパソコンの前でブログを書いているということは、とどのつまりがいまプログラミングはしていないということになります。

プログラミング学習からの現実逃避。世の中にはたくさんの楽しいことが溢れている中、いまこの瞬間に"プログラミング学習"を選択しなければならないという葛藤。

素人が、プログラミングを学習する過程で気づいたことは、最初の計画や思惑通りに物事が進むケースがほとんどないということでした。たいていが何かしらの壁に突き当たります。ちょっとした"想定外"が連発します。プログラマーの熟練者ならどうってことないことだと思うのですが、教科書通りのことしか知らない素人が、ひとりで問題を解決するのにはどうしても時間がかかります。解決のためのアプローチが思い浮かばず、フリーズすること多し…。そして、それが結果として書籍の誤植などといった本人には非がないものだったとしても、プログラミングを学習することを諦めるに十分な出来事だったりするのです。

そこで今回は、素人がプログラミングを学習するにあたって挫折するポイントを列挙し、それをどのように解決していったらいいかを自分なりにまとめて書いていこうと思います。

【素人がプログラミングで挫折する8つのポイント 】
その1:何を作るのかが決まっていないプログラミング学習で陥りやすいこととして、プログラミングを学習することが"主"の目的になってしまうことです。あくまでも、プログラミングを利用して"何"を作るのかが重要で、最終的に何を作りたいのか目標を明確にすることが大切です。裏を返すと、何も作る予定がない場合は、いまプログラミングを学習しなくても良いのだと思います。

その2:プログラミング言語は難解であるという思い込み
書店に行くと、多くの種類のプログラミング言語の本が並んでいます。また、そのそれぞれの本の分厚さが半端ない。これらが要因で「プログラミング学習は難解である」という思い込みが生まれている傾向があります。しかし、日本語や英語といった自然言語の学習に比べると、人工言語であるプログラミング言語はいたってシンプルな法則により成り立っています。つまり、英語の文法を学ぶよりは、プログラミング言語の文法のほうが学びやすいのです。また、C言語やPerl、Rubyといった様々な言語がありますが、東北弁と大阪弁と博多弁のような違いくらいに最初は考えておいていいと思います。コンピューターに指示を伝えるときの言い回しが違うだけです。

その3:すべての基礎の上に応用があるという誤解
「はじめての○○言語」や「○○言語入門」といった分厚い書籍を最初のページから順番に学習していく必要はありません。作りたいと思っているものにとって、必要な箇所を必要なだけ学んでいくというスタンスで書籍と向き合うことが大切です。短期間で、効率的な学習を追求していくと、遅延評価勉強法に行き着くことになります。もちろん、この学習法には学習過程で試行錯誤することによるレベルアップができないという欠点もありますが、素人にとって試行錯誤ほど苦痛はないでしょう。試行錯誤して自身のレベルを上げていくのは、次のフェーズ、ある程度プログラミングにハマってからでいいと思います。

その4:プログラミング作業は孤独である
プログラミングを記述する作業はハッキリいって孤独です。しかし、独学で黙々と学習するよりも、途中段階の作品でも披露できる場所を作ったほうがプログラミング学習の過程を楽しめます。学んでいる内容、動き始めたばかりのプログラミングなど、自分が学習してきたことを公開して、まわりの人の反応を見ることは学習を進めるにあたり重要な要素だと思います。ぜひ巻き込める仲間がいたら、一緒に学んでくれる人、教えてくれる人を巻き込んでみてください。

その5:仕事ではないので締め切りがない
いつまでに何をするのかを明確にしない取り組みは、どうしてもダラダラと学習を進めがちになります。それでもまだプログラミング学習が進んでいればマシですが、自然にプログラミング学習からフェードアウトしていくこともしばしば。素人プログラマーなので、1ヶ月先にどんなことをするのかの予定を組むのも厳しいとは思いますが、週初めに今週はどこまで学習するかということを大雑把に決定し、それを受けて今日はどこまで進めるかの目標設定をすると効率があがります。

その6:"Hello,World"を出力しても、特になにも喜べない
プログラミングの入門書によくある最初の学習内容"Hello,world"を見ても何も感動しません。普段、様々なWebサイトを閲覧している現在だからこそ、なおさらこの学習内容から得られる成果には幻滅です。ほとんどの書籍が、いまだに"Hello,World"から始まっているのは、編集者の怠慢…、もしくは編集者自身がプログラミングを知らないからではないかと想像します。初心者だからこそ、簡単なプログラミングで、まずは嬉しくなるような成果が必要なのではないでしょうか?というわけで、まずはプログラミングに慣れる意味合いで、Javascriptでちょっとしたゲームを作ることオススメします。おそらく初日(2時間くらい)で、ちょっとしたゲームが作れるハズなので。成果が見える形でプログラミング学習を進めていくにこしたことはありません。
参照:初心者のためのJavaScript講座 、 JavaScript入門&サンプル集

その7:記載されている情報が必ずしも正しいものとは限らない
プログラミングの厄介なところは、たった一文字の記述ミスでも動作しないことです。外国人が"てにをは"を間違って日本語で話しかけてきても、前後の文脈で理解することができますが、コンピューターは前後の文脈で理解してくれる柔軟性を持ち合わせていません。初心者にとって特に厄介なのは、サンプルソース通りにプログラミングを記述しても動かない場合。何度も何度もチェックして、記述を訂正していくという作業は大変な時間を要します。また、書籍は書籍で誤植が多いので、サンプルを正しく打ち込んでも動作しないことがしばしば。まずはプログラミングを動作させることよりも、プログラミングの概念を理解することに重きを置いて、先に先に進めたほうが初期の学習段階ではいいような気がします。

その8:世の中は楽しい誘惑に溢れている
世の中は楽しい誘惑に溢れているということは、これはもう紛れもない事実です。これらの誘惑とどう向き合っていくか、あらかじめスタンスを決めておかないことには、都度都度の対応でいずれ誘惑に負けてしまうことになりかねません。ちなみに自分の場合はドラクエⅨがそうでした。プログラミング学習が習慣化していたものの、一旦ドラクエⅨで休暇に入ったために、ドラクエⅨをクリア後もなかなか元の学習生活に戻れていない状態が続いています。今となって思うことは、下記の3本柱を心に刻んでおくべきでした。

・明確なゴールを設定する
・スケジュールを立て習慣化する
・一度できた習慣はゴールに到達するまで崩さない
習慣化させるにはやる気も根気も必要ですが、崩れるのは一瞬です。また、一度崩れた習慣を元に戻すには再度心を奮い立たせないといけません。それでも新たな誘惑に襲われそうになったときには、下記を判断基準に加えたらいいかと思います。
・少し先の"自分"にとって、有益であるほうを選択する


というわけで、一通りまとめ上げてみましたが、これらを心にとどめて、あとは自分でやっていくしかありません。プログラミングを身につけるには一朝一夕ではいきませんが、プログラミングにチャレンジしてみてくだし。それでは、頑張ります!


          ▼素人でも簡単に学べるプログラミング本▼

19 件のコメント:

なべ さんのコメント...

Hello Worldが喜べないのは
今の時代だとしょうがないかもね
でも昔は出力ができただけですごいことだったのに
今でも新しい言語触るとき条件反射のように
HELLO WORLDをだして喜んでますよ
@なべ

くにとも さんのコメント...

テレビだと、白完にナレーションとMAが入って、完パケされたときの感覚みたいな?

John さんのコメント...

ed hardy uk
ray ban sunglasses
yeezy boost 350 black
true religion outlet store
oakley sunglasses wholesale
coach outlet clearance
michael kors handbags
omega seamaster
coach outlet
coach outlet online
ghd flat iron
oakley sunglasses outlet
rolex submariner
levis 501
mlb jerseys wholesale
nmd adidas
nike cortez
true religion jeans outlet
cheap oakleys
michael kors bags
adidas pure boost
michael kors purses
pandora charms
ugg outlet
running shoes
coach outlet online
designer handbags
adidas supercolor
kate spade uk
burberry uk
north face jackets
ray bans
nike air max uk
ralph lauren outlet online
gucci borse
2016525yuanyuan

dong dong23 さんのコメント...

uggs
nba jerseys
ralph lauren polo
denver broncos jerseys
nike trainers
nike air max pas cher
nike air max
louis vuitton pas cher
uggs boots
ugg outlet
201611.21wengdongdong

John さんのコメント...

uggs outlet
coach factory outlet online
birkenstocks
hollister clothing store
canada goose jackets
ralph lauren outlet online
birkenstock
jordans
longchamp bags
oakley sunglasses outlet
2017209yuanyuan

dong dong23 さんのコメント...

cheap jordans
fila shoes
coach factory outlet
adidas yeezy
nike roshe run
longchamp handbags
ralph lauren outlet
ray ban sunglasses uk
prada outlet
cheap ray ban sunglasses
20173.1wengdongdong

chenmeinv0 さんのコメント...

oakley canada
nike roshe run
mlb jerseys
timberland boots
replica watches
michael kors handbags
adidas yeezy
louis vuitton outlet
celtics jerseys
louis vuitton outlet online
20174.10chenjinyan

Gege Dai さんのコメント...

michael kors outlet online
mulberry handbags
kobe bryants shoes
ralph lauren outlet
cheap jordans
coach outlet online
adidas shoes
cheap oakley sunglasses
coach outlet online
louis vuitton handbags
20170518ck

Yaro Gabriel さんのコメント...

www0521
ray ban sunglasses
coach outlet online
moncler outlet
canada goose outlet
longchamp outlet
christian louboutin outlet
supreme uk
pandora charms
balenciaga sneakers
coach outlet

haiyan wu さんのコメント...

yeezy
tory burch shoes
air max 90
gucci belt
nike huarache
nike x off white
russell westbrook shoes
basketball shoes
nike sneakers
john wall shoes

Yaro Gabriel さんのコメント...

www0616

celtics jerseys
swarovski crystal
chicago blackhawks jerseys
supreme clothing
canada goose jackets
salomon shoes
cheap jordans
oakley sunglasses
light up shoes
air jordan 12


zzyytt さんのコメント...

calvin klein underwear
oakleys sunglasses
lebron 15
nike react
kobe 9
nike air zoom pegasus 32
birkin bag
yeezy boost
goyard tote
golden goose sneakers

Stjsrty Xtjsrty さんのコメント...

zzzzz2018.7.9
coach outlet online
nike soldes
ugg boots clearance
off white
hermes belt
chrome hearts
nike air jordan
coach outlet online
louboutin shoes
coach factory outlet

5689 さんのコメント...

zzzzz2018.7.30
canada goose outlet
ray ban eyeglasses
jordan shoes
pandora charms
nike factory
louboutin shoes
canada goose outlet
ugg boots on sale 70% off
vibram fivefingers shoes
ralph lauren uk

jeje さんのコメント...

nike air jordan french blue Néanmoins, mis achat nike air pegasus à part les aspects techniques derrière les baskets, il y a une air jordan 13 retro enfant histoire de plus qui rend ces baskets particulières un peu air jordan 11 retro low price plus intrigantes que beaucoup d'hommes et de femmes adidas zx flux femme rose gold ne le savent. Les mesures sont disponibles en basket nike blazer basse femme US / AU, EUR, et les îles britanniques. Onces! Air Jordan 6 Homme Maintenant, cela devrait soutenir toute personne qui court le plus vite.

Yaro Gabriel さんのコメント...

www0821michael kors outlet
moncler outlet
louboutin shoes
nike shoes
ugg boots clearance
jimmy choo shoes
nfl jerseys
soccer boots
adidas superstars
coach outlet

PalaPala さんのコメント...

Jordan Retro 11
Air Jordan 9
Air Max 270
Red Bottom Shoes For Women
Red Bottom for Women
Kyrie 3 Shoes
Jordan Retro 11
Pandora Jewelry Official Site
Jordan 4
Latrice20181014

PalaPala さんのコメント...

Red Bottom Shoes
Air Jordan Retro 9
Pandora Jewelry Outlet
Adidas Yeezy
Air Jordan 11
Jordan Retro 11
Pandora
Jordan 11
Air Max 270
Jordans 11
Latrice20190209

yanmaneee さんのコメント...

kyrie irving shoes
michael kors handbags
michael kors handbags outlet
retro jordans
jordan shoes
yeezy boost 350
michael kors outlet
lebron 16
nike huarache
christian louboutin outlet