C与C++《精通Unix下C语言与项目实践》读书笔记(8)

简介:
不拘一个遍程序系列程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国。
宝宝图片:超可爱的小宝宝 博客
 
 
第1回 回评论读者展迷茫,出《笔记》浪子释疑惑(八)
作者:朱云翔,胡平(朱朱胡工作室)

1.4 为什么是C语言编程,而不是Java编程

现在Java特别流行,Linux也特别流行,在Linux下运行Java程序或在Linux下搭建网站也特别流行,但是Java是跨平台的语言,在WindowsLinux下编程都差不多,所以Java编程是Java的一亩三分地,不是Unix/Linux的责任,本笔记不涉及这方面的内容。
编程浪子:不在其位,不谋齐政。

1.5 为什么是C语言编程,而不是C++编程

未注册的游客BOBO:我认为,C++C语言的升级版本,应该比C高级,而且C++具有面向对象功能,设计起来肯定要比模块化设计更便捷、更爽快、更牛B,所以我们应该顺应时代的潮流,使用最新版更高级的C++编程。也就是说,凡是用结构的地方,就应该使用类;凡是模块化的功能就应该封装;凡是功能相同的就应该继承;凡是功能有差异的就应该多态。就像“子曰”中唱的那样,咳咳(BOBO清清喉咙,然后优雅的唱到):
C++的中心思想是个类,类的意思是,代码模块不累,代码重用不累,代码升级它也不用累,若以类为本体,表现在具体的行为上,come on everybody一起来,对功能封装,对共性继承,对差异多态,对数据模板,对错误用异常 ……”
编程浪子:STOP!这里是C语言培训课,等我下次做C++培训在欢迎未注册的歌手到来歌手到来。
Unix绝对支持C++编程的,但是应用的项目特别少,教材中之所以在Unix下使用C而不是C++语言编程,是出于以下两个原因的考虑:

1.5.1 大势所趋

首先,目前很多行业的Unix应用系统使用C语言设计,比如在银行的核心系统等,这样招工时提供的岗位大多数也是UnixC语言开发工程师。
其次,很多出名软件的二次开发只提供了C语言接口,或者C语言接口流传最广。比如SYBASE数据库提供的ESQL,比如Oracle提供的PRO*C,又比如MySqlC语言API等,虽然在C++中可以使用,但毕竟提供的是C规范。
再次,Unix本身提供的系统调用就是C接口的,系统调用是在操作系统编程的基础,所有对系统的操作最终都将由系统调用来完成。
所以,目前在Unix下使C编程是大势所趋,这种趋势不是一两个人就可以改变的,作为Unix编程大军中普通的一员,我们所做的就是随波逐流,紧随大众的脚步,别人不拐弯,我们就走直路。现在都用C,我们就为C摇旗呐喊,但是一旦C++成了Unix下开发主流,我们就应用义无反顾的投入C++的怀抱,绝不多停留一刻。

1.5.2 C语言也可以圆满设计满足要求的程序

如果说C是匕首C++是宝剑的话,双方互有优缺点,C++程序不一定就能设计出优秀的程序,C语言也不一定不能面向对象分析,关键看程序员本身的素质。
比如说很多人用VC++C++Builder编程浪子:可能绝版了,悲伤一个先),但是基本上只是自动产生一个函数,然后在函数中插入代码,这种程序与C语言有什么区别?只不过在函数调用时,一个直呼其姓,比如函数调用“侯赛因()”,一个在姓氏前增加名字而已,比如“萨达姆·侯赛因()”,毫不悲伤的说,很多同学对C++的认识仅仅停留在封装阶段!
与之相反的是采用C语言也可以应用面向对象思想分析程序、设计程序和编写程序,比如朱朱胡工作室论文《基于过程语言的面向对象程序开发》。

1.5.3 本次学习的东西在CC++中都可以使用

本次我们学习的编程都是Unix下最基本的应用,或者是生产实践的设计经验,比如系统调用等,虽然是C语言规范,但是C++照样可以调用!所以,C++爱好者照样可以使用C++编译器。
编程浪子:(奸笑!)我骨子里其实是C++爱好者,下次有空我们朱朱胡工作室开坛授C++课罗。



 本文转自 zhuyunxiang 51CTO博客,原文链接:http://blog.51cto.com/zhuyunxiang/162520,如需转载请自行联系原作者



相关文章
|
23天前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
163 0
|
23天前
|
安全 算法 程序员
【C/C++ 文件操作】深入理解C语言中的文件锁定机制
【C/C++ 文件操作】深入理解C语言中的文件锁定机制
31 0
|
29天前
|
算法 程序员 编译器
C++与C语言的差异:编程语言之间的奥秘探索
C++与C语言的差异:编程语言之间的奥秘探索
41 0
|
1月前
|
C语言 数据安全/隐私保护 C++
嵌入式中如何把C++代码改写成C语言代码
嵌入式中如何把C++代码改写成C语言代码
28 0
|
7天前
|
C语言 C++ 数据格式
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
|
11天前
|
开发框架 .NET 编译器
【C++】C++对C语言的关系,拓展及命名空间的使用
【C++】C++对C语言的关系,拓展及命名空间的使用
|
24天前
|
存储 安全 编译器
【C/C++ 基本数据类型】C++ 基本数据类型深度解析与C语言对比
【C/C++ 基本数据类型】C++ 基本数据类型深度解析与C语言对比
56 0
|
30天前
|
Unix Linux C语言
【C/C++ 跳转函数】setjmp 和 longjmp 函数的巧妙运用: C 语言错误处理实践
【C/C++ 跳转函数】setjmp 和 longjmp 函数的巧妙运用: C 语言错误处理实践
19 0
|
30天前
|
安全 Unix Linux
【C/C++ 字符串】探索C语言之字符串分割函数:strtok和strsep的区别
【C/C++ 字符串】探索C语言之字符串分割函数:strtok和strsep的区别
15 0
|
30天前
|
存储 Shell C语言
【C/C++ 字符串与整型转换函数】探索C语言中的字符串和整型之间的转换函数
【C/C++ 字符串与整型转换函数】探索C语言中的字符串和整型之间的转换函数
15 0