Welcome

首页 / 软件开发 / C++ / C/C++是程序员必须掌握的语言吗

C/C++是程序员必须掌握的语言吗2008-01-05滚滚长江东逝水,浪花淘尽英雄。虽说是个人英雄的时代已经成为过去,但我们仍然不能对这样的榜样们有所忘怀,他们是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++"悲剧性"的指针概念,也没有类似"::"、"."和"->"的"愚蠢"操作。