我觉得想要学好C++这门语言,不但要学好理论上的知识,还要多多的实践在空闲的时间,去看一些关于C++书籍,相信里面的内容会给大家带来有用的信息的。
而且,对于上点规模的工程,为了构建OO系统,在OOA、OOD阶段,设计 者需要极高的水准.而以OOP为一典范亦作为OOP代表的C++在语法语义的设计上明显采用为了功能而不惜增加设计复杂度的策略.然而这一切的复杂,自然带来了好处,包括系统的可扩展性、可重用性等.
这里好象存在一层很微妙的关系,上规模的系统为了可扩展性、可重用性等优点选择OO方法学,然而在OOA、OOD阶段就需要极大的投入(也许在00方法学中,A和D在软件工程中的地位体现的更明显吧~).
这个世界关于语言之间的讨论可能时刻进行着,个人一直认为:
1.首先每种语言有自己的适用领域,就应用而言,没有必要将语言勉强的拿到一起比较. 构建企业信息系统,自然会选择Java、dotNET或其它的方案(事实上,这种系统一般应 该多种语言协同开发,以获得部件性能最佳).可能多种语言同适合某个项目,那么具体就自己裁决了.
譬如做一个信息管理系统,选择C++书籍的绝对很少,PB或Delphi、VB都是不错的选择.在初学习阶段"因爱而选(更多的具有偶然性或者与身处环境有关)"、对于开发者基本是"因用而选".在成熟后,"因用而学"我感觉是根本也是最实际的指导原则.。#t#
2.关于语言复杂度的问题:语言是工具,是不需要也不能太复杂的.我一直支持语言应该朝专业化(这里指针对义务和特定应用场合)和简单化方向发展.这才是语言的本质之所在.业务是软件实施的根本.对于软件开发着来说很多情况下,业务是最难搞定的。
或者说,用软件来真实细致安全的模拟业务是很困难的.前几天,学籍管理科的老师还跟我说,他们的一个学籍管理软件让两个研究生不断的完善.三年才算[完全符合他的业务要求].如果你只是耳闻某某语言何等的复杂、难学而学之,那么可能你错了~就个人而言,为了技术而技术是不可取的:)
3.然而这个世界是现实的,不如你想象的那样.并不是所有领域都有简单、强大、贴近业务 的语言.在这个层次上说,对于献身企业级信息应用系统开发者.Java、C#、Object-Pascal等的确是福音~~然而在系统软件和其它对性能、控制程度要求较高的如 工控系统、高性能计算,实时系统。
军用软件等领域可就缺不了C++(C)(不过这些领域 明显的专业知识占绝对部分的重量).可见,紧从语言上说,C++书籍依然占据着一片天地. 严格来讲,C是作为C++的一竞争对手出现的(不管这些了:))。
市面上其它的C++书籍可牛车载,我感觉除了《The Design And Evolution Of C++》是异品,值得一读.其它的不建议花太多的时间,哪怕是Bjarne Stroustrup、Stanley B.Lippman等的作品.自然,你有时间读更好,反正我现在有点后悔,当初只顾多,不顾深读,反复读.经典的书不在本数多,在于每本读的遍数多.一经验之谈,BBS上经常有人,在介绍COM技术书籍时,想也不想的指出。
入门级<<Inside The COM>>.是这样的吗?我想,正如Dale Rogerson所说,将这本书完全看懂,你就是COM专家了~~书中,作者很多话可能你没有注意到,因为你还不懂之,对之没感觉,一遍翻下来,感觉 哦~~简单~全看了 :) 这些书,跟国内的很多书籍最大的不同就是 国内书籍的作者写的出,可能自己还不懂:)Copy什么资料上的:)?