web-dev-qa-db-ja.com

Programmers.SEまたはStack Overflowに時間を費やすことは、初心者向けではない優れたプログラミング本の代わりになるでしょうか?

Programmers.SEとStack Overflowに時間を費やす(そして積極的に参加する)ことで、Code Complete 2などの本を読む(そうでなければ私のリーディングリストの次になる)ことに費やす時間に近いプログラミングスキルを向上させることができます。

さて、プログラミングから始めている人にとってはこの質問に対する答えかもしれませんが、私はこの質問を付け加えたいと思います。この質問は、その人がプログラミング言語に精通しているが改善したい場合に尋ねています。彼のプログラミングスキル。私はこれを読んでいました 質問 on SOそしてまた、この本は他の多くの人に推奨されています( JeffJoel)を含む )。

具体的には、C、Java、Pythonなどでプログラミングを行っている場合でも、追加したいと思いますが、それでも自分のコーディングスキルとCC2のレビューを読んで満足していません。 。

だから、基本的に私はプログラミングスキルを向上させるための最良の方法は何かを知りたいです。ここ/ SOにもっと時間を費やすか、CC2を続け、時間が許す限りここに来るかもしれません。

44
Atul Goyal

いいえ、それは代用ではありませんが、完全な補完です。両者の組み合わせには大きな力があると感じています。

優れた講義は、単に本を読む以上のことを教えてくれるのはなぜですか?相互作用と質問をする能力。

本を読んでいるだけでは、答えが見つからない質問がポップアップする場合があります。ここでそれらの質問を探すか、以前に話し合われていないかどうか質問してください。

102
Steven Jeuris

私は(現在)1年と10か月間StackOverflowのメンバーです。この間、私は芸術の訓練された学生になりました:建築、パターン、デカップリング、単体テストの認識、そしてリストは続く可能性があります...しかし、どのような役割SO play???

最初に、それは私の直接の質問に答えました。しかし、SOを探索し始めたとき、私は非常に悪いプログラマーであることがわかりました。私は工芸品の職人になりたいと思って本を購入しましたが、それはC#Unleashed、Learn C#Programming、その他ではありませんでした 規格外 必要な初心者向けテキスト。私はを購入しました。私が発見したスキルの分野をターゲットにした本の種類が不十分であることがわかりました。もちろん、時間をかけてSOの専門家が何を推奨しているかを確認しました。

第二に、SOは、(評判で表される)彼らが何をしているのかを本当に(文法的にも哲学的にも)知っている人々から学び続ける場所を与えてくれました。 SO、CodeReview、プログラマーから得られる洞察には、本からは得られないものがあります。

明らかに、SOは本や他のすべてのWebリソースを置き換えることはできません(ただし、MSDNとSOを1つのコンテンツリソースに結合できれば...);代わりに、SOはこれらの他のリソースを補完します。ただし、最高の教師は残ります経験

12
IAbstract

プログラミングスキルを向上させるための最良の方法は何ですか?

もっとプログラミング。本やウェブページを読むことは二次的です。

あなたはすることによって最もよく学びます。

11
Humphrey Bogart

学習にはいくつかの要素が必要です:

  1. 学習者(もちろんあなたです)
  2. 時間(管理および専用する必要があります)
  3. リソース(SEサイトはほんの一部です)

あなたは良い学習者ですか?学習に十分な時間を費やしていますか?これら2つの質問の答えがyesである場合、ほぼすべてのリソースから学習する十分な可能性があります。

しかし、あなたの質問に答えるために、ええ、私は個人的にSEサイトから多くを学びました。私見、彼らはあなたののみ学習ソースになるべきではありませんが、彼らは有益です。

5
Saeed Neamati

SOおよびP.SEが提供する2つのことは、他の本を読んだり、自分でコードを書いたりすることでは提供しないことです。テストと教育です。

なぜこれはコンパイルしないのですか?

wall
of
code
100
lines
long

そして、誰かが「33行目で、そのコンマはセミコロンでなければならない」と言って、答えを受け入れて続行し、同じ質問を永遠に続け続けると、改善されない可能性があります。

しかし、他の人の質問を読んでいて、答えについて考え、どんな答えが入ってくるか、そしてそれらがあなたが知っていることとどのように比較されるかを見るのを見ているなら、それは本当にあなたを向上させます。お気に入りのエディターにコードを入力し、いくつかのことを試して答えを確認すると、本当に改善されます。そして、あなたが概念を説明しようとし始めたとき(そして人々はあなたが言うことを「明確にする」ためにそこで待っている)それはまたあなたを改善するでしょう。

約30年間、私は自分がトピックを学ぶことはないことを発見しました。それを知っていると信じて、それを教えることに着手したときです。私にとってそれは、開発者としての私のスキルに対する* .seサイトの主要な貢献です。加えて、私が単純な事実を知りたいだけのとき、それは見る(またはたまに尋ねる)ための私の一番の場所です。

5
Kate Gregory

あなたのプログラミングスキルは、ウェブサイトや本を読むことによってではなく、繰り返すことによって最高に改善されます

  1. 現在の知識に基づいてコードを書く
  2. 結果を評価する
  3. 何をすべきか、何をすべきでないかについての評価から学びます。
  4. 1に行く

練習は完璧を作る。ブログや本で見栄えがするものは、ブログのライターが理解していない何らかの理由で、または本の著者がカバーしなかったために使用するのが面倒であることがわかる場合があります。

3
user1249

あなたが自分で答えたように、いいえ、しかしここで時間を過ごすことは、より構造化された学習に役立つ補助です。カバーされていない可能性があるいくつかの概念にギャップがある可能性があるので、スタンドアロンでは依存しません。中級レベルの人のためにコーディングを改善する最善の策の1つは、GitHubまたは他のオープンソースリポジトリに時間を費やして、他の優れた開発者のコ​​ードを読むことです。

2
Turnkey

批判的思考と分析はまだ必要です

それ自体ではありません。学習のソース(本、ブログ、ウェブサイト、SOなど)を作成する唯一の方法は、理解、分析、およびその後の組み込みです。このようなフォーラムで人々が書いているのは福音ではなく、いくつの賛成票があっても、そのように扱われるべきではありません。それが以下であるかどうかを把握するために、レンダリングされた意見について独自の分析を行う必要があります。

  1. 良いアイデア
  2. あなたの状況に適したアイデア

改善する最良の方法

多くの場合、その人に固有です。一部の人々は読書と研究を通して良くなります。一部の人々は遊びと実験を通して良くなります。他の人は自己反省と分析によってさらに良くなることができます。あなたにとって魅力的なものを何でも試して、それがあなたにとってよりうまく機能するかどうかを確認してください。

1
dietbuddha

学習Javaは、stackoverflowについて知ったとき、はるかに簡単になりました。質問はしませんでしたが、Java質問を毎日読み始めました。質問は私の理解の外でしたが、時々誰かが初心者の質問をしました。多くの人が本から読んだ概念について質問しますが、理解できず、ここではるかに理解しやすい答えが得られます。 。

0
Zavior