2010-12-08 4 views
5

私はbasic OOP-related topicsRTTI, Templatesを知っています。 Java' Collection Frameworkから戻って、私はC++でそのようなコレクションを見つけようとしましたが、STLが見つかりました(私はそれらを知らないけれども)私のプロジェクトでそれを使用しようとしています。私は検索し、Accelerated C++, Effective and More Effective C++のような本のための推薦を見つけました。C++ |進路パス

しかし、私は何が私の進路になるはずです。私はこのような何かを探しています - Python-Progression Path

def apprentice(): 
    read(diveintopython) 
    experiment(interpreter) 
    read(python_tutorial) 
    experiment(interpreter, modules/files) 
    watch(pycon) 

def master(): 
    refer(python-essential-reference) 
    refer(PEPs/language reference) 
    experiment() 
    read(good_python_code) # Eg. twisted, other libraries 
    write(basic_library) # reinvent wheel and compare to existing wheels 
    if have_interesting_ideas: 
    give_talk(pycon) 

def guru(): 
    pass # Not qualified to comment. Fix the GIL perhaps? 
  1. 出会うlist comprehensions
  2. 出会うgenerators
  3. 組み込むmap, reduce, filter, iter, range, xrangeをしばしば
  4. 発見がDecorators
  5. は、再帰関数を書くあなたのコードの中に、たくさん
  6. 高階関数、再帰、およびその他もろもろのトンと3210
  7. 発見itertoolsfunctools
  8. 読むReal World Haskell
  9. リライトのすべての古いPythonコード。
  10. Pythonクラスであなたを紹介するたびにあなたのキュービクルメイトを悩ませます。それは辞書「 」といくつかの機能を実装した「より良い」ものであると主張します。関数型プログラミングを受け入れます。
  11. Strategyパターンを再発見し、all those thingsを命令コードから再入力して、 ハスケルの後を忘れてしまいました。
  12. 残高を見つける。まずC.で本当に良い取得
+2

あなたは質問タイトルとC++タグでC++を持っているが、 、その問題ではC++と何も関係していないようです。それを考えてみると、何が問題なのですか? –

+1

暗黙の質問は「C++の学生のためにこのリストに相当するものは何ですか? –

+0

@Charles Bailey:質問を更新しました。 –

答えて

3

あなたが本当に必要とするものが、あなたがしていることをよくしているので、権威のあるリストは存在しないので、難しい質問です。

言われていることは...

    ・マイヤーズ
  • 読むEffective C++とサッターによってC++ Coding Standardsが、あなたが初心者なら、すべてを理解して、その時間までの時間からそれらを再読み込みしそうじゃない
  • 時間(それはまた、良好なワクチンです)可能であれば、すべてを手作りで作る代わりにアルゴリズムを使うことを学ぶ
  • ブーストを柔らかく始めて柔らかく組み込む:boost::optionalboost::variantboost::lexical_castboost::numeric_castあなたのコードはより安全で慣れています。また、Boost String Algorithmsライブラリを突き抜けます。
  • テンプレートMeta ProgrammingとBoost.MPLは次にあります:AbrahamsのC++ Template Meta ProgrammingがGurtovoyを支援します。いくつかのテンプレートにBoost.Preprocessorを利用しなければならないかもしれません。
  • 詳細Boost Librariesは巨大なリポジトリであり、そこにあるすべてのライブラリが驚くほどです。私はその最後の部分ではまだ自分自身だ、そう先に進むにコメントすることはできません:)

    各ステップで、あなたは多くのコードを記述する必要があり、読み取りが十分ではなく、あなたが実験する必要があります。

プログラミングは技術的なものではなく、この分野のプログラムのアーキテクチャ上の部分は非常に重要です。

ああ、オープンソースのプロジェクトは、何もコードを書い勝るものはありませんし、他の誰かがそれを:)レビューするとき、それは良いでしょうしようとすると(読むために場合のみ)参加

0

私はピーター・ファン・デル・リンデンによる「ディープCの秘密」をお勧めします。

Scott Meyersの "Effective C++"のコピーを入手し、それをメモリにコミットします( "More Effective C++"もかなり良いです)。

Coplienによる "Advanced C++"を読んでください。

The C++ FAQをお読みください。

この時点でStroustrupの "The C++ Programming Language"を読んでください。

+6

Cでうまくいくことは、C++で避けるべき悪い習慣を実際に教えているかもしれません。 –

+0

@マークB:同意。私は間違いなく将来のC++学生のCの習慣を​​教えないでしょう。 – Puppy

+0

C++のもののいくつかがひどく遅いことを発見したときに、Cの習慣が後退するのは良いことです。 –

関連する問題