软件开发的思考
前日整理书柜,发现近2年购书80多本,,,看过50%的也就30余,真的是浪费啊。从unix内核设计到
webservice,从软件工程、模式到温博格的丛书。唉,需要节制一下了。
写一些自己的感想:
1、语言,基础规则很重要,万丈高楼平地起,没有基础,就象现在很多人吵着学mfc一样
c++基础都没有,拿mfc入门,,,结果就是感觉门槛怎么这么高,,若干时间还是没想法,
更别提动手做事了。拿标准c++写个console程序,比什么都强,gui就是外壳。有了语言基础
才能提设计,提模式,提迅速掌握库的使用。可是很多人不想慢下来。
2、动态语言、要掌握一种,python 、perl 、ruby、lua等流行的学一种就行,
动态语言就是比解释型(java、c#)的高级语言还高级的语言,实现原型,临时的任务
系统管理,处理领域知识什么的会很方便的,用perl写一个读入文本文件,逆向输出的程序
只要不到20个字符的一行就可以了,这个生产效率就不说了吧。缺点就是执行时比一些语言要
来的慢些,但绝大多数任务是不重要的。
3、c++与java or c#,c++是最复杂的,简单点说,如果熟悉c++的话很多语言的设计,规则,常规问题都
可以明了,我从java转到c++做项目时,突然发现明白了许多原来一知半解的点,这个只能意会了,有些
java的设计,初看很奇怪,事实是从c++得来的方案。。。例如泛型模板。
虚拟机的语言是包装过的c++,至少是把内存管理包装了,这可真方便了,所以这里就只需要关注设计
了,各种模式在这里相当容易识别出来,加之企业应用编程难度不大,为了扩展性,便于修改,弹性化,
就使得框架层出不穷,模式用的淋漓尽致。
4、了解,使用,精通 unix、linux,好处不说了,见《unix 编程艺术》
5、模式这个东西,不是学出来的,是用出来的,可能有本好书看的十分明白,但如果不用很快就忘掉了
,当你不断在应用中使用,东西就是你的了,学模式最快的方式,是研究框架,j2ee,语言细节不复杂且
编程技巧不需要很高。
6、程序应用大概有这几种,企业应用,行业应用,科学计算,多媒体,嵌入式,辅助工具(插件)
有些要熟悉数据库,有些要对行业熟悉,有些要算法精通,有些要底层熟悉。看你自己长处和兴趣
来发展。
7、有些基础还是多了解的好,比如操作系统设计,,编译器设计,,数据库概念。。都清晰了有好处。
webservice,从软件工程、模式到温博格的丛书。唉,需要节制一下了。
写一些自己的感想:
1、语言,基础规则很重要,万丈高楼平地起,没有基础,就象现在很多人吵着学mfc一样
c++基础都没有,拿mfc入门,,,结果就是感觉门槛怎么这么高,,若干时间还是没想法,
更别提动手做事了。拿标准c++写个console程序,比什么都强,gui就是外壳。有了语言基础
才能提设计,提模式,提迅速掌握库的使用。可是很多人不想慢下来。
2、动态语言、要掌握一种,python 、perl 、ruby、lua等流行的学一种就行,
动态语言就是比解释型(java、c#)的高级语言还高级的语言,实现原型,临时的任务
系统管理,处理领域知识什么的会很方便的,用perl写一个读入文本文件,逆向输出的程序
只要不到20个字符的一行就可以了,这个生产效率就不说了吧。缺点就是执行时比一些语言要
来的慢些,但绝大多数任务是不重要的。
3、c++与java or c#,c++是最复杂的,简单点说,如果熟悉c++的话很多语言的设计,规则,常规问题都
可以明了,我从java转到c++做项目时,突然发现明白了许多原来一知半解的点,这个只能意会了,有些
java的设计,初看很奇怪,事实是从c++得来的方案。。。例如泛型模板。
虚拟机的语言是包装过的c++,至少是把内存管理包装了,这可真方便了,所以这里就只需要关注设计
了,各种模式在这里相当容易识别出来,加之企业应用编程难度不大,为了扩展性,便于修改,弹性化,
就使得框架层出不穷,模式用的淋漓尽致。
4、了解,使用,精通 unix、linux,好处不说了,见《unix 编程艺术》
5、模式这个东西,不是学出来的,是用出来的,可能有本好书看的十分明白,但如果不用很快就忘掉了
,当你不断在应用中使用,东西就是你的了,学模式最快的方式,是研究框架,j2ee,语言细节不复杂且
编程技巧不需要很高。
6、程序应用大概有这几种,企业应用,行业应用,科学计算,多媒体,嵌入式,辅助工具(插件)
有些要熟悉数据库,有些要对行业熟悉,有些要算法精通,有些要底层熟悉。看你自己长处和兴趣
来发展。
7、有些基础还是多了解的好,比如操作系统设计,,编译器设计,,数据库概念。。都清晰了有好处。
posted on 2007-07-16 10:07 康国庆--thinkinlove 阅读(557) 评论(7) 编辑 收藏 举报