| Top Page | プログラミング | PIY 目次 | 前へ |
なるべくなら挫折したくないものです.
プログラムの勉強をはじめたものの,道半ばにして挫折してしまったという話は よく聞きます.多くの場合,ほんとに理解力が不足しているわけではなくて, 努力の成果がなかなか見えないうちにあきらめてしまっているようです. あきらめたらそこで終わりです. 優秀なプログラマになるにはそれなりの素質が必要かも知れませんが, どうにか動く自分用プログラムを書ける研究者になることは, 決してむずかしくありません. あきらめず,自分の頭を信じながら,少しずつできることを増やしましょう.
少しでも努力の成果が見えてくると,もっと努力しようという気になります. 繰り返しになりますが,とくに初心者のうちは,どんな簡単なものでもいいから 実用プログラムを書いて達成感を味わいましょう. 細くて短い道でも,自分で道を切り開ければ大きな自信になります. それからおもむろに使い勝手を改善したり,より多くのことをできるようにしたりといった 道を太く長くする作業をしましょう. いきなり太くて長い道を作ろうとすると,挫折の確率が高くなります.
プログラムが思ったように動かないことがよくあります. そう,とてもよくあります.思ったように動いた時がプログラムができた時ですが, そこに至るまでは,つねに思った通りに動かないプログラムとの戦いです. 思ったとおりに動かないとき,その原因はほぼ必ず自分のせいです. これはよいことです.自分の書いたプログラムのせいなら,自分でどうにかできますから. もうだめだーと思ってしまったらそこでおしまい. かならず直せるはずだと信念を固めて解決にあたります.
信念が固まったら,冷静に原因を考えます. プログラムをにらんだり考えたりするだけで見つかる間違いもありますが, ふつうそう簡単にはいきません. そんなときは,推理します.挙動から察するに,ここらへんに間違いが潜んでるらしいとか, ここのところはこういう動作を期待して書いてるんだけど, 実はそうは動いてないのかもしれないとか. 推理は実験で確かめます.実験のためには,短いプログラムを書いてみたり, 今書いているプログラムに実験用に何かを書き足したり,一部を取り去ってみたりします. その結果を見て,さらに考えます.道はかならず開かれるでしょう.
単語を組み合わせて文章を書くことが創造的であるのと同じように, 素朴な機能を組み合わせてプログラムを作ることは創造的な作業です. プログラミングには,つねに創意と工夫の余地があります. 創意と工夫を凝らしながらの創造的な作業は,とても楽しいものです. 楽しみながら工夫すれば,進歩はとどまるところを知らないでしょう. 工夫しながらつまずきを乗り越える楽しさを知ってしまえば, もう挫折の心配などありません.
情報の不足のために分からなかいことは,調べましょう. 今は,たいていのことは,ネットで検索すれば手掛かりが得られます. 本屋にいけばいろんな本が並んでます. まわりに詳しい人がいるかもしれません. 情報の不足ではなく,単に理解力が不足していると思われるときも,ネット上で 理解の手掛かりになるような情報がみつかることもよくあります. 困ったら,まずネットで検索してみましょう.
本やネットでは解決せず,人に助けを求めるときは, まえもって何が分からないのか自分でじゅうぶんに問題を整理してみましょう. 漠然と「よくわからない」「うまく動かない」というだけでは答えるほうも 答えようがありません. そして,ちゃんとした質問ができるように問題を整理していくうちに自分で答えが見つかって しまうことがよくあります.
よい質問のしかたについては, 結城浩さんによる 技術系メーリングリストで質問するときのパターン・ランゲージや, 日本の Linux 情報 のサイトの中の 質問の仕方のページが参考になります. これらはとくにメーリングリストでの質問のマナーについて書かれていますが, その心がけの大部分は,隣の人に口頭で質問するときにも有効です.