CSDN博客

img tfisher

C语言, 值得终身使用的编程工具(一)

发表于2004/7/9 12:34:00  2265人阅读

 

 

做职业程序员10来年了,其中的酸甜苦辣真是只有过来人才能体会。身处计算机技术高速的发展的时代中,确实感觉累,特别是在选择编程工具时,新的语言和可选择的语言太多。若立志作为一个职业的并愿意深入研究的程序员,我建议选择C语言。

记得高中开始计算机普及教育时,就学过一些简单的basic,在绿色屏幕的apple上画了两个字。大学学工科,第一门计算机语言是FORTRAN,后来又自学了C,谭浩强的C语言可是最抢手的书,根本就借不到,也买不到。毕业设计用TC2.0在一台286的机器上做一个有限元分析的前处理程序,有一定的C基础。毕业后开始从Foxpro开始,又做VB。到96年前后C++JAVA开始兴起,考虑再三,投入了C++的怀抱。原因有几点:1. JAVA做为一种解释执行的语言,运行效率实在不敢恭维,而自己面临的问题主要是大数据量的处理,肯定就不能选。2. 当时非常多的书和文章都在批驳C的弱点,结构差、可维护性差、不严格、不适合做大型项目。3. 所有的C++书都说C++C的超集,不仅有C的所有优点,避免了C的缺点。其中的面向对象机制能够解决软件工程面临的问题,很适合做大项目。

投入C++的怀抱后,就开始全力投入,C++的相关书籍买了一大堆,封装了很多小工具,链表、文件访问等等,脑子里都是类、封装、继承、多态、模板等等。当时可选择的编译器也不多就是VCBC。当时还有一本很经典的书《C++编程思想(Think in C++)》(可惜现在看来,这本书不能称作“思想”,只能叫“C++语法大全”。),也开始用C++来做一些大项目。

随着C++的学习和应用的深入,问题来了,C++的语法太多,真的需要这么复杂的语法吗?曾经有一个系统需要从VC移植到SOLARIS下,这个系统并没有涉及各平台特殊API的调用。在VC下编译得很好、完全符合C++语法的程序到SOLARIS下面无论如何编译通不过。同样有些在SOLARIS能通过的东西在VC下却不行。后来一查资料才知道由于C++太复杂了,各种编译器对C++实现很不相同,还有若干问题编译器没有解决。而C的语法相对很简单,实现相对容易,并且多年来变化不大,也很稳定。原来自己只关心了语言本身,而忽略了在实际中语言是不能单独存在的,它必须在编译、连接、库以及相应的平台上才能工作。

在这期间LINUX等开放源码系统逐步在国内兴起,我发现很多重要的开发源码系统(包括很大型的系统)全部都是C语言为主写的,例如LINUX内核、APACHEMYSQLGCC等等。而且很多操作系统、数据库、中间件甚至是重要的应用系统(银行、电信等)都是以C语言为主写成的。这使我对C语言不适合处理大型系统的结论产生了怀疑。C语言难道隐藏了一些我不知道的秘密吗?

0 0

相关博文

我的热门文章

img
取 消
img