为什么很多开源软件都用 C,而不是 C++ 写成

为什么很多开源软件都用 C,而不是 C++ 写成,第1张

简单回答:纯C编写的程序,在当前主流家用电脑上极少见。

--以下是相关知识,原意学习电脑编程知识的朋友可以看一看--

一、windows/liunx/mac等当前的主流 *** 作系统中运行的软件,极少有使用严格的C语言编写的。通俗一点,直观一点区分C与C++,在于,C++有类,有继承,而C没有。谈枝

二、核心思想上面C与C++的不同。

1、C语言编写代码是面向过程的,什么意思呢?就是说编写过程中全盘考虑每一行代码、每一个变量对整体程序前后的影响。高明的设计人员可以使用一些小的机巧,使得程序运行效率得到极大的提高。但随之而来的问题是,代码的易读性、可维护性变得相对困难,特别是复杂的系统。因为某一肆哪处的改变可能使得整个软件不能正常运行。

2、C++语言编写代码是面向对象的,这又是什么意思呢?这是说,在编写过程中,它将任务化分为一个一个小任务。每个小任务只需要知道与它相关的前提条件,初始值,完全这个小任务后给出结果值(或由它去变动相关变量)。有一个关键词叫黑匣子,说的就是,每个小任务与任务外的代码无关,内部的运作就象是一个对外部不可见的黑匣子。这种理念的最大的好处是易读性,可维护性得以提升。当发现运行出现故障,或需要改变设计时,只需要针对性的修正相关的代码即可。某一处的改变影响的往往是一小部分的功能。但任务事务都有两面性,它的缺点就是,程序运行效率可能减低,往往会有多个模块(黑匣子)做一些重复性的工作。

3、为了更好的实现任务的对象化,C++引入了 类,继承。每一个类,就象是生物的一个器官,它对外相对封闭,对内有拥有多种元素,可以有变量、结构、函数等等,甚至界面。

4、随着当前的硬件条件的提升,计算机完成任务的复杂度的提升,程序的可靠性、稳定性成了第一位的,所以,面向对象编程,分组协助方式编程早已成为主流。所以,当前主流程序中,已经没有多少是使用纯C,而不是C++进行编程的了。

三、纯C的应用,在当前,主要在于面向一些早期的智能设备的嵌入式编程。当然,你如果非得找到一些早期的含雹敏编程环境,编写一些小应用,也可能可以在当前的 *** 作系统中运行。比如用TC2.0编写DOS下的程序,这种程度还能在win的命令行中运行。不过功能方面一般是简单到不要不要的。

四、当然,还有很多别的编程语言和环境编写的软件。比如

1、Delphi使用Pascal语言

2、VS中的VB

3、JAVA

4、PowerBuilder 专用语言。

5、Foxpro 用的专用语言

等等……

如果是学习的话我推荐你去看看Linux、FreeBSD系统中与网络有关的那些命令程序扒轿棚的代码,比如ping、tcpdump等等,他们还有很多更强大的开源替代方案,比如mtr,都是学习的好材料。这些程序都追求把一件事情做到极致,所以往往结构清晰却又不会过于简单,你看看光是下载就有wget和curl两大神器够你折腾了。Linux和FreeBSD的这类自带命令虽然功能相同,但往往实春则现方式有很大差别,对比阅读效果甚帆缺好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12434508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存