C++ | Progresssion Path
我认识
但我不确定我的发展道路应该是什么。我在找类似的东西——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::optional 、boost::variant 、boost::lexical_cast 、boost::numeric_cast ,使您的代码更安全、更惯用。还可以打开Boost字符串算法库。 - 模板元编程和Boost.MPL下一步:C++模板编程由Abrahams Gurtovoy将有帮助。你可能需要利用boost.preprocessor来处理一些模板内容。
- 了解更多的Boost库,它是一个巨大的存储库,它的所有库都令人惊讶。
我自己还处在最后一部分,所以不能再进一步评论了:)
在每一步,你应该写很多代码,阅读是不够的,你需要实验。程序设计不仅仅是技术性的,程序的体系结构部分在这个领域是非常重要的。
哦,试着加入(如果只是为了阅读)一个开源项目,没有什么比写代码更好的了,当别人评论它的时候会更好:)
首先,好好学习C。我推荐彼得·范德林登的《深层C秘密》。
获取Scott Meyers的"有效C++"副本,并将它的建议提交给内存("更有效的C++"也很好)。
阅读Coplien的"高级C++"。
阅读C++常见问题解答。
在这一点上,阅读Stroustrup的"C++编程语言"。