プログラミングを始めようとして何度も挫折した人へ|悪態のプログラマAmeba新規登録(無料)悪態のプログラマとある職業プログラマの悪態を綴る。入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。おすすめキャリアブログyasuhoの隠れ家ロマンチックなSEがIT業界を変える。前になるが、はてな匿名ダイアリーで「プログラミングを始めようとして何度も挫折した」という人の投稿を読んだ(yasuhoの隠れ家さん経由)。色々な意味で考えさせられる話である。才能以前なんだろうな。必死さが足りないって言われた。必死になるってどういう事なのか全然判らない。元記事のトラックバックでも指摘されているが、この人は「プログラミングをしたい」とは思っているようだが、「プログラムを作りたい」と思っているようには見えない。「日常の単純作業を自動化するためのプログラムを作りたい」とか、「ゲームを作って友達に見せたい」とか、そういった動機がなければ、プログラミングは身につかないものだ(※1)。「必死さが足りない」というのは、そういう「動機の薄さ」についての指摘だろう。「動機」は誰も与えてくれないし、本を読んでも書いていない。自分の中から出てくるものである(「面白いプログラムを作ろう」も参照)。★何がわからないのかもわからない。基礎の問題とか出して貰っても判らない。用語や文法みたいなレベルで既に躓くというか。なんというか、「言葉」って何で言葉って言うの?みたいな変な疑問ばかり湧いてきて進まないんだよね。「用語や文法みたいなレベル」といった言葉が出てくるのは、勉強の進め方が間違っている証拠である。受験が優先される日本の英語教育と同じだ。英語もプログラミングも、理論より実践が重要なのである。プログラミングを学ぶには、とにかく「実際にプログラムを作る」という経験を積むことが重要だ(「プログラミングは体で覚えろ」も参照)。上達が早いプログラマは、事前に文法を学ぼうとはしない(家電などを使う場合に、慣れた人ほど「取説」を読まないのと同じである)。自分が作りたいプログラムを作ろうとして、途中で分からないことが出てきたら、その都度調べる。このため、「何がわからないのかもわからない」などという状況はありえないのだ。しているうちに、自然と力がついてくる。★文法も、例えば1+1=2という式があったとして、なぜイコールがこの位置なのかとかくだらない事がずっと気になってしまいます。コロンが付いてたりとか括弧がどうだとか。音楽家が作曲をする時に「ト音記号はなんでこんな変な形をしているのか」などということは考えないだろう。作曲には関係ないからだ。プログラマもプログラミング言語の「イコールの位置」や「コロン」や「括弧」に、意味を求めたりはしない。いうことを考えるのは、プログラミング言語の研究者だとか、新しいプログラミング言語を開発しようとしている人の仕事であって、プログラマの仕事ではない。プログラミング言語はプログラムを作るための道具にすぎない。プログラマを剣士に例えれば、プログラミング言語は刀である。言語の文法にこだわるのは、剣士になるために刀鍛冶の修行をするようなものだ。無関係ではないかもしれないが、進むべき方向を誤っている(※2)。それでも、どうしても刀の構造が気になるという人は、剣士ではなく刀工になるべきだ。★プログラマの仕事はプログラムを作ることである。それを見失ったまま、プログラミング言語をいくら勉強したところで、プログラマにはなれない。※1職業プログラマだと依頼されたものを作ることになるのだが、それでも、最初に勉強するときは自分の好きなものを作るべきだ(就職する前にプログラミングを経験すべきというのが私のいつもの主張である)。※2弘法筆を選ばずと言うが、有能なプログラマほど言語の違いにはこだわらないものだ(「Javaなんて知りません」も参照)。このブログが何かの参考になれば幸いです。私は、音楽家ではないので、ト音記号の例は想像ですが、納得いただけてよかったです。■ト音記号はじめまして、とても面白い記事だったのでコメントさせて頂きました。自分も音楽をやる人間で、最近プログラムを作りたいと思いPerlを学んでおります。その中で文法についての記事はおもしろく、特にト音記号の話は説得力がありました。たしかに、ト音記号がなぜあの形なのかという疑問は持った事はないですね(笑)ただ、開始点がト音からなのでそいう意味はあり、それ以上のことはおもわなかったです。これからも面白い記事がんばってください。■うーむ牛肉のような豚肉さん、こんにちは。やりたいことと適正が必ずしも一致しないのが悩ましいことです。それが一致したら天職と言えるでしょう。剣士と刀工、両方出来る人も居ますけどね・・・。■うーむ何かがつんと頭をたたかれた感じ>勉強の進め方が間違っている証拠である。>どうしても刀の構造が気になるという人は、剣士ではなく刀工になるべきだ。確かにおっしゃるとおりであるがけど気になってしまうんですね。できること(命令)が少ない言語のほうが、プログラムの「なんたるか」がよく理解できるでしょうね。大きな隔たりがあるので、「納得」に繋がるかどうかというと、難しい気がします。興味がもてる人なら、プログラマとしての素質はあるでしょうが、その逆は必ずしも成立するかどうか・・・。バッチファイル)や、アプリケーションのマクロなんかを書いてみるところから始めるといいと思いますね。実用的なものの方ががいいです。■プログラムって何なの?って疑問に思って先に進まないなら戻ってみれば良いと思った。それこそ、マシン語から。ワンチップマイコンとかでさ。CPUの駆動原理とか学びながらBASIC辺りから時代をさかのぼって最初から行った方が、構造化プログラミングとかOOPとか関数型言語とかそういった抽象化層以前のさ。いったので、直接触ってみる感じを学んでから、序所に上に上っていった方が納得が良くってのが増えるのかなぁなんて思った。無題ただいま修行中さん、こんにちは。文法を勉強しない子供でも日本語は喋れますからね。文法を学ぶにせよ、ある程度、慣れてからでないと、元記事のように、何のことやら分からないでしょう。はじめまして豆さん、こんにちは。そのものズバリの本などがあると心強いかもしれませんが、やはり、自分が好きなものを作ったほうが、やる気も出ますし、ネット等で調べる力もついていいと思います。JSPでも、表示以外の部分はなるべくクラスを使うようにすれば(つまり、ちゃんとしたMVCで作れば)、勉強になるでしょうし。いつも楽しく拝見させていただいております。>とりあえず自分が作りたいプログラムを作ろうとして、途中で分からないことが出てきたら、その都度調べる。このため、「何がわからないのかもわからない」などという状況はありえないのだ。しているうちに、自然と力がついてくる。その通りだと思います。私も新しい言語を学ぶときには、とりあえず作ってみます。そこからネットで検索して分からないことを調べていくうちに自然とその言語の文法などを覚えていきます。■はじめまして人気ブログランキングで『プログラマ・・・になりたいな』日記を書いております、豆と申します。勉強になる為、時々拝見させていただいております。今回の記事はとても参考になりました。今は、SJC-Pを取得するために勉強中なのですが、「なかなか覚えられな~い!!」ということで記事のとおり、何かを作ってみようと思いました。本屋さんに行ってみると、『Javaで将棋をつくろう!!』が目に飛び込んできました。」ということで、もともとWebプログラミングをしたくて勉強しているのもあり、なぜかJSPを始めてしまいました。(汗)でも、SJC-Pなんか習ってもいないのに、好きな事なのでとっても楽しいですし、頭に入りますw出来上がったら是非みてくださいね。無題ぼたん雪さん、ありがとうございます。以前にも「癒し系」と言われたことがありますが、悪態をついているだけなのに不思議です。他人の悪態でも、内容に共感できる場合は、自分のストレス解消になるんでしょうね。一流の人は一流のことを、やはり書きますね!とても、癒されてます。納得する内容ばかりです。体調などの理由で仕事はもう、続けられない事態になってますけど、好きな世界でした。忙しい中、これからもどうか書き続けてください。ほんっとうに、いいたかったことばかりで、癒されます。ありがとうございます。>ざっと目を通して、どこに何が書いてあるかを覚え・・・後は・・・目的に応じて必要な所を見るようにしています(礼)。最初にパラパラめくってみて、この言語はなにが得意なのかとか、漠然ととららえておいて、あとは必要なときにピンポイントで調べるだけ。組み込みのライブラリやフレームワークも、実際に自分が使うのはほんの一部ですから、そのほうが効率的ですよね。入門書は買わないで、いきなりリファレンスを買うことが多いですね。プログラミング自体を楽しいと感じられるようになれば本物ですが、最初は難しいでしょうね。一度でもプログラムを完成させて、「作る喜び」を感じられれば、続けられると思いますが。私の場合は、常に挫折の連続です。挫折しては気分転換・・・の繰り返しです。私は、プログラムの教科書は・・・ざっと目を通して、どこに何が書いてあるかを覚え・・・後は・・・目的に応じて必要な所を見るようにしています(礼)。■ご挨拶はじめまして、突然のコメント失礼いたします。「日本ブログ新聞」と申します。ランキング形式ではございますが、少しでも、貴方様のブログへのアクセス増にお役に立てればと思います。よろしければ、ご参加下さい。http://www.japanblog.jp/ranking.php?mode=newなお、このご案内が重複しておりました場合は、ご容赦下さい。■難しいですね本当のところは分かりませんが、興味があって意欲があるのに、本当に学び方が分からない、っていう人もいるんじゃないかと私は思うんですよね。したきっかけで今までつまらなく思えたことがすごく楽しいことだった。なんて感じてくれたら、とても嬉しいと思うのです。146792位[ジャンルランキング]このブログはジャンルランキングに参加していません。トレンドもっと見る芸能人トップへブログをはじめるたくさんの芸能人・有名人が書いているAmebaブログを無料で簡単にはじめることができます。多くの方にご紹介したいブログを執筆する方を「公式トップブロガー」として認定しております。詳しく見る芸能人・有名人ブログを開設Amebaブログでは、芸能人・有名人ブログをご希望される著名人の方/事務所様を随時募集しております。申し込む「{{entryTitle}}」のリブログ一覧({{entryReblogCnt}}件){{/isError}}{{#isError}}システムエラー{{/isError}}{{entryReblogTitle}}{{entryReblogText}}{{nickname}}{{entryDate}}{{#isNewReblog}}{{/isNewReblog}}{{/list}}{{/isError}}{{#isError}}情報の取得に失敗しました。再読み込みしてください。再読み込み{{/isError}}{{#isDispMoreBtn}}もっと見る{{/isDispMoreBtn}}{{#isMoreError}}情報の取得に失敗しました。再読み込みしてください。再読み込み{{/isMoreError}}。