我了解基本的面向对象编程(OOP)相关主题,RTTI、模板。从Java的集合框架中回到C++,我尝试找到类似的集合并找到了STL,并尝试在我的项目中使用它(虽然我不是非常熟悉)。我进行了搜索并发现像《Accelerated C++》、《Effective and More Effective C++》这样的书籍得到了推荐。
但我不确定应该采用什么样的进阶路径。我正在寻找像这样的东西 - Python-Progression Path:
但我不确定应该采用什么样的进阶路径。我正在寻找像这样的东西 - 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?
- 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.