本(プログラミング関連の本)から学習するときに実際に何人の方がエクササイズをしているのか、私は現在C ++の本を読んでいます。ほとんどの人はこれをしますか?または、彼らは本全体を読んで、困難に見えた練習に戻りますか?
本(プログラミング関連の本)から学習するときに実際に何人の方がエクササイズをしているのか、私は現在C ++の本を読んでいます。ほとんどの人はこれをしますか?または、彼らは本全体を読んで、困難に見えた練習に戻りますか?
回答:
本、コンピューター言語、または人間から言語を習得するのは非常に難しく、実践せずに習得することはありません。
私は通常、例題で切り取りと入力を行うと、より多くのコンテキストが得られ、簡単に見えるものであっても、コンパイラがどのように動作するか、実際に言語。
一方で、すべての演習を行うには時間がかかるため、新しい言語に関する本を完成させることはほとんどできませんが、少なくとも各トピックで物品税を払うようにします。
もう1つの大きな援助は、「トーステンミュラー」が示唆しているように、実装を開始するプロジェクトがあることです。Bツリーのソートなどは、実装するのが常に楽しいです。
それは本に依存します。たとえば、K&Rのパズルは非常に壮大で有益であり、The C Answer Bookという本もあります。
Knuthを読んでいる場合、鉛筆と紙と一緒に読んでいない限り、実際には何も得られません。もちろん、Knuthの問題のいくつかはよく知られている未解決の問題であるため、それらすべてを取得することは期待できません。
しかし、インストラクターとして、私は他の多くの優れた本の多くの演習がただひどいことを発見しました。それらのいくつかは単なるBSであり、最後の最後でタックされているようです。その結果、クラスで問題を割り当てるとき、私は自分で作らなければなりません。適切な本と適切な問題に焦点を合わせている限り、あなたはそれから多くを得るでしょう。目標がC ++の学習であっても、K&Rで行うことをお勧めします。
面白くて挑戦的に見えるものだけ。私が答えを知っていれば、それをタイプするのにあまり使い道はありません。
ほとんどの場合、新しい言語や技術に関する本を読むとき、私は自分で実装しようとする小さなプロジェクトを持っています。ConwayのLifeゲームで始まり、数独ソルバーが続きます。これには、他の言語で既に解決しており、結果を比較できるという利点があります。
現時点ではラケットを学んでいますが、構文のいくつかの詳細に多少の困難があるため、慣れるために通常よりもはるかに多くの演習を行っています。
単純なエクササイズが存在する場合でも、最も単純なものを頭の中ですばやく行います。また、演習の1つを実装する方法のアイデアがあるかどうかを確認しようとしますが、ほとんどの場合は実装しません。実際に実装する理由は、コンパイラがあなたの心よりもはるかに独創的であり、言語もよりよく知っているので、本当に正しいことを確認するためです。しかし、演習を行う理由は、最新の章から得た知識を繰り返し、実際に内容を確認するためです。
運動が存在しない場合、私は自分でいくつかを補います。また、少なくともこの章の内容(コードをVimに入力する、実行する、変更するなど)を使用しようと常にしています。
後で、または読書セッションの最後にいくつかの演習を残すことがあります(たまたま複数の章を読む場合)。
演習は学習を支援するためにあり、その支援が必要なときに使用します。
いいえ。私は本のコードを読むだけで、時々それさえしません。必要だとは思わないでください。結局のところ、コードの書き方を学ぶために本を読むことはありません。私は本を読んで概念を学び、新しいアイデアを得る。
私が新しい言語を学んでいて、その言語で多くの仕事をすることを知っているなら、私はそれぞれのエクササイズごとに果敢に行います。これを行うことで、言語を「吸収」し、基本的な構文が強くなります。また、この方法では、コーディングを学ぶだけでなく、特定の言語で「考える」こともできます。2回目に修正するときは、運動をする必要はないかもしれません。
同時に、IMOはすべての言語で同じではありません。たとえば、C / C ++の場合、SQLを習得するのにそれほど苦労する必要はありませんでしたが、C / C ++の場合、SQLを習熟するために少なくとも4回(大学のコースを含む)練習しました。
決して。しかし、私は過去の経験(言い換えれば失敗)の大部分から引き出されたソリューションで何かを書き、それを解決しようとします。私はそれを既存の文脈に関連付けているので、これは本当に新しいものを私の脳に引き込むようです。