C/C++是措施员必需把握的语言吗
副标题#e#
滔滔长江东逝水,浪花淘尽英雄。虽说是小我私家英雄的时代已经成为已往,但我们仍然不能对这样的模范们有所忘怀,他们是WPS求伯君、CCDOS严援朝、2.13吴晓军、四通利方王志东、CCED朱崇君、UCDOS鲍岳桥等。因为他们不只是成名的优秀措施员,也不只是在写文章时所必需想到的人物,更主要的是他们涟漪了许多批措施员的编程热情,刚强了学会汇编和C就能走天下的刻意和勇气,他们代表着以往中国软件业的光辉。
多年来,我们一直就这样跟跟着,也未曾猜疑过有什么差池的处所。纵然在DOS已成为已往,Windows和Internet垄断天下的本日,我们也未曾猜疑过。
我们能猜疑吗?我们目睹的实例太多了。我们不是看到Linux等操纵系统和很多应用措施的内核都是用C来体例的吗?纵然在高校的计较机或非计较机专业中,C/C++措施设计课程的遍及开设不也是一个极好的证明吗?Norton Utility 首席设计师Enrique Salem不是也认为"每小我私家都该当利用C++"吗?
莫非尚有什么猜疑吗?
诚然,我们不可否定C/C++语言的超凡魅力。然而我们不禁要设问,在Windows风行的本日,用Windows C体例出界面奇特、成果强大的应用措施,你能吗?纵然能,你需要几多时间?
在有很多措施开拓东西可供选择的本日,强调"C/C++是措施措施员所必需把握的语言"莫非就没有人真的敢站出来提出质疑吗?
其实,在网络一统天下的本日,任何应用措施都必需颠末网络的验证。谁的软件好用,谁就会被承认。为了能到达这样的方针,很多Windows措施员都选择了简朴易学、能快速有效地开拓的Visual Basic、Dephi等东西。E_book电子阅读器就是个中一例,它是李晓东用VB设计的。
假如这显得过分惨白无力的话,那么让我们先来看看C语言从已往到此刻的成长过程,看看它为什么这么成长。
众所周知,C语言是在70年月成长的语言,由于其时人们设想一种集初级语言和高级语言利益于一身的语言,于是C语言就降生。基于它的简结、紧凑、利便和机动,它很快就成为国际上遍及风行的语言。
然而,C语言终究是面向进程的语言,数据和处理惩罚数据的措施是疏散的。当对某段措施举办了修改或删除时,整个措施中所有与其相关的部门都要举办相应的修改,从而措施代码的维护较量坚苦。为了制止这种环境的产生,在C的基本上中引用了面向工具的设计要领。它是将数据及处理惩罚数据的相应函数"封装"到一个类中,而利用类数据变量则称为工具。在一个工具内,只有属于该工具的函数才可以存取该工具的数据。这样,其他函数就不会无意中粉碎它的内容,从而到达掩护和埋没数据的结果。这就是C++。虽然,面向工具的C++还支持多重担任、模板、操纵符重载、内联函数界说、预处理惩罚、宏、全局静态类变量、嵌套类界说等等。
C++太巨大了,任何一个利用C++开拓者的企业必将支付更多的本钱,因为优秀的C++措施员是少而又少。基于软件企业化的需要,人们很自然地需要一种简朴易用、面向工具、安详机动的"新一代Windows处事"(Next Generation Windows Services,简写为NGWS)应用措施的语言,于是C#呈现了。它全方位简化了C++的成果,使其具有C++所没有的简朴易学的优势。它既没有C++"悲剧性"的指针观念,也没有雷同"::"、"."和"->"的"愚蠢"操纵。
#p#副标题#e#
因此我们也可以说,C#才是措施员们所必需把握的语言。可是,我们不能忽视这一点,语言总归是措施员的东西,谁具有简朴易用、支持最新技能并能快速有效地举办软件开拓,谁就是措施员的东西。
假如上述的结论还不能接管的话,那么让我们看看此刻C++措施员的困境吧!
就今朝而言,选择C++就意味着选择Visual C++,而不C++ Builder。这是C++措施员第一件让人头痛的事。因为VC与Windows 98/NT同出一炉,沟通成果的Visual C++应用措施编译后,其巨细要比C++ Builder小得多。不只如此,其不变性和完善措施要比C++ Builder要强得多。
可是"Visual C++"这个名字曾误导了许多人,他们认为本身买了一套完全可视的编程系统,雷同于Visual Basic,并在刚开始的几天总这样理想。然而不久,人们认识到他们必需实际编写和阅读C++代码。固然Visual C++领导可以节省时间和提高正确性,但措施员必需领略领导所发生的代码,最主要的,还必需领略Microsoft Foundation Class(MFC) Library的布局和Windows操纵系统的内部事情方法。很多C/C++的DOS平台的措施员把这种事情方法评价为"枯燥且深邃艰涩"的进程。尽量新版本的Visual C++6.0提供了节制台应用措施范例,使DOS措施员能利便地进入MFC应用措施的开拓,但仍然不能从基础上改变上述漏洞。
#p#分页标题#e#
选择了Visual C++,就一定选择MFC,一种措施布局,一种编程气势气魄。但由于MFC是OWL同时代的产品,已经落伍于VCL一个时代了。从开拓出基于ATL的WTL可以反衬出MFC的不敷。这恐怕是Visual C++措施员最窘的处所。
但我们暂且不提MFC过期的难过,单是稍稍地改变一下应用措施的外观,Visual C++已是力有未逮了。譬喻,想要改变控件的字体和配景,你得从头生成一个类,而VB只需变动一部属性。从Visual C++界面设计的网站的火爆可见一斑。
不只如此,Visual C++措施员也时常感想别的一种难过,一个小小的BMP、JPG图片显示,在Visual Basic中垂手可得的事件,到了VC居然需要那么多的代码,并且在数据库应用措施的开拓中还常产生很多一些细微的错误,令措施员们大为恼火。更为甚者,假如有人还想用Visual C++编写Internet/Intranet措施的话,那的确就是自寻烦恼。
固然,一个优秀Visual C++措施的薪水要比其他措施员高。可是,他所耗费的精神不是其他措施员能相比的,他不只需要包袱奋发的培训费,并且还要包袱90%不乐成的概率。这恐怕是想成为Visual C++措施员的人最苦恼的事。
虽然,我们不是劝你放弃利用C/C++语言,相反还十分支持。因为利用C/C++编写的措施布局和算法能被更多人接管,究竟C影响了整整20个年初。可是时过本日,我们还能靠它来"营生"吗?
相信你已经有了本身的谜底。虽然,我们之所以跳出来,是但愿措施员们不光是在这个方面去思考,更主要的是:在我们国度软件成长海潮到来的本日,我们不能再盲从,我们应该存眷软件财富、存眷互联网财富、存眷信息财富。我们也应该有本身的归宿,莫非印度软件大国给我们的启示还不足多吗