自己本来是学力学的,工作瞎打误撞的进入CAM领域,整天和编程打交道,抽空写一点和编程有关的入门知识,回忆回忆。
1、 C++ & STL
C++ 现在是不少公司的主流通用开发语言,尤其我的这个行业,看了看 CAX 方向的公司基本都用 C++ ,编程第一关是熟悉语言,大学时我仅学过 C 和 Fortran ,所以对 C++ 除了熟悉几个控制语句外,其他方面了解几乎为零。
自己的 C++ 学习之路是:
a) Thinking in C++ ;看了这本书两遍基本可以用 C++ 干活了
b) C++ Primer ;看了这本后感觉对 C++ 基本了解了
c) Effective C++ & More Effective C++ ;看一段感觉自己进步一大截
d) Inside C++ Object Model , 让你对迷惑你的一些C++细节大彻大悟
e) STL : 侯捷的源码剖析 和 Effective STL,尤为推荐后者,基本将应用stl中容易碰到的一些问题一网打尽
除此之外,看过 C++ 相关的东西就是同事的代码,水木 C++ 版的精华文章,尤其是版主标记的 FAQ ( Frequent Asked Questions )文章严重推荐,林博士的两本书也不错,学一段时间可以看看林博士出的那几道题。还有某高校的 C++ 课件,感觉没什么用,就不推荐了。
学习C++很重要的一点是在实践中学习,很多知识点在实际应用中不注意栽了跟头后理解的才更为深刻。
学完这些,推荐有兴趣的同学可以有问题直接看标准去了,不过搞工程的我觉得没必要读标准,在一些细节语言上死磕。
2、 VC&MFC
在公司打工,除非你做很底层的算法,否则界面交互肯定是有的,所以了解一定的 VC 和 MFC 知识很有必要。
先说说 C++ , VC , MFC 的区别,初学者经常分不清这三个玩意,简单的说, C++ 是一门编程语言, VC 是微软推出的一个编程开发工具, MFC 是一个界面类库,也就是说,这三个概念根本不是一类东西。
我的学习经历是:
a) 看 Programming with Microsoft Visual C++ .NET ,自己先照猫画虎折腾出一些东西看看
b) 看孙鑫的 VC 高级编程 20 讲, 比较费时间,但看完就可以干活了
c) 侯捷的深入浅出 MFC , 结合MFC源码,了解 MFC 的大致脉络
d) VC++ 技术内幕, WINDOWS 核心编程,大块头,挑自己感兴趣的读,譬如线程、内存管理等等
3、 数据结构与算法
惭愧,自己就简单看过北航唐发根的那本教材与 严蔚敏老师的视频,数据结构的知识感觉够用了。 算法方面很惭愧,一直没有下决心读 CLRS 。鄙视自己中……。
4、 设计模式和编程规范
代码的规范可以参考华为的规范准则,写的很详细。例子可参考 MFC 的代码,我的代码布局风格就是模仿它写的。
一些细节问题,譬如变量函数命名,函数设计,全局变量,控制语句等等,可以看 Code Complete 这本书,很不错。
大名鼎鼎的 Design Patterns , 不愧为经典中的经典,我看完了对我们的整个软件工程架构设计有了很清晰地理解,我们工程的代码量是千万量级的(记得刚毕业那会看那些代码库有彻底崩溃的感觉),设计模式中提到的一些思想体现在工程的每一个细节中。
5、 图形学
OpenGL 和 计算机图形学的知识自己了解的很肤浅, OpenGL 看的是红宝书,计算机图形学翻了翻孙家广的那本书。
就说这些吧,自己要学的还很多,过个一年半载的再来写写。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/flymt/archive/2009/06/11/4261754.aspx