Posted on 2007-10-13 21:27
Raylong 阅读(1197)
评论(4) 编辑 收藏 所属分类:
读书笔记
1、程序设计就是对复杂度的管理,复杂度包括:待解决问题的复杂度和所依赖的机器的复杂度。正是这种复杂度的存在,导致了大多数项目的失败。并且据我所知,还没有哪个程序设计语言将主要设计目标放在“征服程序开发和维护过程中的种种复杂度”上。
(下面开始列举了其他语言的种种不足,几乎每本技术书的开篇就是王婆卖瓜的形式出现的,给读者点鼓励嘛,不要被厚厚的砖头般的书吓到。搞计算机的女生的好处是,晚上在你回宿舍的路上,不幸遇见歹人拦路打劫,你只需随便抄起一本书就能把他打个半死。好的技术书不仅能丰富知识,也是居家旅游、贴身自卫的最佳工具。C++本身就很复杂,用复杂的语言描述复杂的问题,对设计者和程序员的要求都很高。)
2、最令我印象深刻的是sun公司在设计Java时的目标:为程序员降低复杂度。好像是在说“我们关注于减少编写出健壮代码的开发时间和难度。”同等功能的C++程序,java只需要一半或者更少的时间。只凭这一点,就能省下大量的时间和金钱。
(这点确实是事实,Java的开发效率比别的语言高不少。我学过一段时间的C++,大概是世界上最复杂的语言吧,很痛苦。初学java时,感觉那个hello world 怎么这么复杂,后来就好了很多,并且不打算再学C++了。simple is good!听说硅谷那边java很热,因为稍微有点规模的公司都有自己的系统,java的跨平台特性导致了这帮家伙玩命地学java。)
3、我们不应该将java仅仅看作是一组特性的集合---有一些特性在孤立状态下没有任何意义。只有在考虑设计,而不仅仅是编码时,才能完整地运用Java的各个部分。而且要按照这种方式来理解Java,必须理解它所涉及的问题以及在程序设计时所伴随的问题。……按照这种方式,直到Java思想意识称为你最自然不过的语言。你需要在头脑中创建一个模型,以加强你对这种语言的深入理解;如果你遇到了疑问,就将它反馈到头脑中的模型并推断出答案。
(为什么这本书是很多人推荐的,学Java的首选教材?就是编程思想!也是我打算重温此书的原因之一。简言之:不仅要知其然,还要知其所以然。汉语比鸟语精炼得多。)