为什么很多开源软件都用C而不是C++写成
展开全部
简单回答:纯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 用的专用语言
等等……
--以下是相关知识,原意学习电脑编程知识的朋友可以看一看--
一、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 用的专用语言
等等……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询