我觉得人在学习c++都会经历如下阶段:
1. 好强大的万能语言,我要好好学.
2. 看完几本经典, 对C++的特性自认很清楚, 比如多继承什么的, 仍然认为这是强大的语言.
3. 书看够了,开始写代码了, 这个时候觉得Stl很强大, 开始接触Stl并研究Stl的代码.
4. 开始研究实际项目, 发现不是stl所能涵盖的, 什么进程线程, io, 开始困惑.
5. 为了解决困惑, 研究面向对象程序设计, 设计模式, Ace等,
开始可能觉得这些东西也很强大, 不久发现仅仅解决小问题,居然这么麻烦啊,
而且到处陷阱, 我靠, 这C++还让人用么...
6. 有的人发现了boost, 研究了boost, 打开了c++的另一扇窗.
6. 不过, 不久都开始困惑迷茫, 有的人回到了C, 有的人研究Python,有的C#, 思考如何工作的人就此止步 了.思考语言的人去研究D, Go, cilk, haskell, 甚至matlab, idl, S, R.
7. 思考语言的人可能会有自己创造语言的冲动, 比如试图hack gcc, clang, 但是他的思维已经被java, c#, python, 限制了, 一种for system的语言, 还包含这些特性,只能是C++. 因为C++几乎包含了其他语言的一切.
8. 之后, 也许有人保留着对世界的不满, 设计自己的C++库吧, 按照简洁,高效, OO, 弱耦合,这些原则吧.
也有人颓废了, 发誓从此不写代码...
|