我最喜欢的编程语言是C++

来源:互联网 发布:八戒商标查询软件 编辑:程序博客网 时间:2024/06/02 21:05

记得程序员大本营的一张盘说: 真正的程序员使用C++, 聪明的程序员使用delphi. 1990,我刚开始学习编程时,觉得计算机的世界真奇妙, 我竟然用BASIC能输出神气的文字, “HELLO! xuyan”,我的名字在上面了!当我用BASIC按照书上的例子写了一个飞机与宇宙飞船的游戏代码时,我期待的是象街机上的雷龙一样的精彩界面, 可失望的是他不但没出来,连声音都没有!后来我请教老师, 他说这个BASIC不支持对硬件的操作,我当时问他,什么语言支持?他说C, 汇编呀都可以! 原来我的自由被编译器剥夺了, 老师告诉我,最大的自由是机器码, 不用受任何限制! 下来我就自己对照Intel 的字节码书写指令,没想这个在去年做驱动程序时, 竟然为我解决一个难题打下了坚实的基础. 我对C语言没什么兴趣,先学的C++, 当时用的BC3.1, 整整155.25寸软盘. 现在的80后的年轻人连3.5寸的软盘看见的人都很少了,何况5.25! 在学校学习VC的时候很茫然,整整花了3个月才搞会了VC, 以后学什么VFP, PB基本都是一个星期就适应了,写个模块出来.以后语言都是拿起就会,FORTRAN, DELPHI, C#, JAVA ! 曾经一段时间发现JAVA很流行,所以就去学写JAVA, 很多面向对象的概念很清楚,反过来看C++,原来C++里面也有,只是没有体会到而已, 有人批判C++不是一个纯面向对象的语言,看看Bjarne.stroustrup 0x10和孟研的对答, 就知道C++包罗万象: 结构化编程,面向对象编程, 范型编程, SOA等等. 我总结出来我喜欢C++因为:

C++是喜欢自由的人使用的. 我是一个喜欢自由的人,尽管我生活在社会这个大监狱”,但是我喜欢自由,C++给我最大的权利和自由去控制计算机的硬件. 也许有人会说汇编最自由, 但是我会说,是因为下一个理由.

C++是软件工程的实施的好工具.我是一个懒人, 我还没勤奋的象裘伯君那样把自己关在房子3个月用汇编写了一个WPS, 因为我懒, 我怕重复, C++的继承, , 模板为我提供了偷懒的办法,所以我喜欢C++.

C++是高效的语言. 我们知道一个语言的效率有2层含义: 一个是写出的代码执行效率,一个是开发效率, C++的代码执行效率没有汇编和C, 这就是OS采用C书写的原因. 开发效率肯定没有现在的高级语言如python,lisp甚至于JAVA/VB/DELPHI. 但是高水平C++的书写的代码是C语言的执行效率的95%,就是说只是慢5%. 那么他们的效率究竟差多少. 而开发效率上,开发效率主要取决于项目经理的管理水平,而不是语言上的这点优势! 从综合效率来看,C++的效率最高.

C++的编译器提供强大的功能. 我们知道,新手往往是被编译器所控制,而高手是控制编译器,其中一个例子就是Andrei Alexandrescu 在他的<Modern C++ Design > 一书中将编译器的特点用的出神如化. 对待高手的挑战就是BUG, 如何做到BUG, 很多高级语言的只能靠测试人员的大量的穷举测试! 而一个C++的程序员完全可以指挥编译器将运行期的错误在编译器就可以排除, 将业务逻辑的BUG转化成编译器检测, 这是登糖入室的另一境界!看看那个VB, 你不小心把个变量名的字母写错了,编译器还傻呼呼的不知道! 直到用户有一天用到某个功能,然后弹出一个ERROR对话框, 不知道客户还人为你是高手吗? C++的编译器有很强大的功能能帮我实现将业务逻辑错误转换成编译错误,所以我喜欢C++.

C++的注重原理. 这么多年,我做项目很注重原理, 虽然C++比其他语言麻烦,比其他语言多写4,5句代码,但是换来的是对底层更深刻的理解,同样在使用PB,我们解决了4,5PB高手解决不了问题,还有在工作中解决的多少别人不能解决的问题,归根到底是原理的理解. 而其他高级语言的人大多是在表面上,只知道HOW,不知道WHY, 所以碰到网上没有答案的难题时束手无策! C++是一种挑战,在能力强的人面前,显示出了能力. 在那些弱者跟前,他们觉得C++太难了,太复杂了!

C++锻炼了一个人的学习能力. C++可以使程序员的思维发达,逻辑严密,所以数学系的人更适合做程序员. 想问在做各位,VB/DELPHI需要多长时间,如果你会VC的话, ,二星期足够你能在开发队伍中中等以上的开发速度. 我层见过一个delphi玩的很熟悉的程序员,学了一年VC,写不出一个模块来,或者说他没学会!

尽管现在什么语言对我来说都是工具吧了,而且项目中采用何种语言是架构师和项目经理根据项目情况决定的. 但是我还是要说C++是我最喜欢的编程语言!尽管他访问数据库比较繁, 但是一些程序日内本的程序还是在采用PROC/C++访问ORACLE. 还有效率更高的OCI, SQL serverDB LIBRAY,这些都是最高效率的API接口. 随着LOKI, BOOST, ACE等库的崛起,我们做C++的效率更高了, 其他语言在实现设计模式时,写了很多代码,C++只要几句甚至一句就足够了!够比如LOKIsinglton, factory, C++的世界原来这么宽广!

 
原创粉丝点击