C++进程路径


C++ | Progresssion Path

我认识basic OOP-related topicsRTTI, Templates。从Java' Collection Framework中恢复过来,我试图在C++中找到这样的集合,找到了STL,并试图在我的项目中使用它(尽管我不知道它们的进出)。我搜索并找到了一些推荐书,比如《江户记》1(5)。

但我不确定我的发展道路应该是什么。我在找类似的东西——python进程路径:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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?
  • Discover list comprehensions
  • Discover generators
  • Incorporate map, reduce, filter, iter, range, xrange often into your code
  • Discover Decorators
  • Write recursive functions, a lot
  • Discover itertools and functools
  • Read Real World Haskell
  • Rewrite all your old Python code with tons of higher order functions, recursion, and whatnot.
  • Annoy your cubicle mates every time they present you with a Python class. Claim it could be"better" implemented as a dictionary
    plus some functions. Embrace functional programming.
  • Rediscover the Strategy pattern and then all those things from imperative code you tried so hard to forget after
    Haskell.
  • Find a balance.

  • 这是一个棘手的问题,因为你真正需要的是变得擅长你所做的事情,因此没有权威的列表存在。

    有人说…

    • 读梅耶斯的Effective C++和苏特的C++ Coding Standards,如果你是一个初学者,你不太可能理解所有的东西,所以要不时地读它们(这也是一种很好的疫苗)。
    • 是时候介绍STL(它是一颗神奇的小珠子),学会使用它的算法,而不是手工制作所有的东西,如果可能的话,直接跳到C++ 0x版本。
    • 在混合中加入Boost,一开始是柔和的:boost::optionalboost::variantboost::lexical_castboost::numeric_cast,使您的代码更安全、更惯用。还可以打开Boost字符串算法库。
    • 模板元编程和Boost.MPL下一步:C++模板编程由Abrahams Gurtovoy将有帮助。你可能需要利用boost.preprocessor来处理一些模板内容。
    • 了解更多的Boost库,它是一个巨大的存储库,它的所有库都令人惊讶。

    我自己还处在最后一部分,所以不能再进一步评论了:)

    在每一步,你应该写很多代码,阅读是不够的,你需要实验。程序设计不仅仅是技术性的,程序的体系结构部分在这个领域是非常重要的。

    哦,试着加入(如果只是为了阅读)一个开源项目,没有什么比写代码更好的了,当别人评论它的时候会更好:)


    首先,好好学习C。我推荐彼得·范德林登的《深层C秘密》。

    获取Scott Meyers的"有效C++"副本,并将它的建议提交给内存("更有效的C++"也很好)。

    阅读Coplien的"高级C++"。

    阅读C++常见问题解答。

    在这一点上,阅读Stroustrup的"C++编程语言"。