首页编程语言编程语言发展阶段

编程语言发展阶段

cysgjjcysgjj时间2024-03-17 18:11:23分类编程语言浏览27
导读:现在的编程语言越来越多,为什么C和C++ 还没有被现在的时代淘汰呢?现在的编程语言越来越多,为什么C和C++ 还没有被现在的时代淘汰呢?要谈这个,首先要明白,硬件结构不发生根本性变化,c语言就不会淘汰,也就是冯诺依曼体系不淘汰,c语言就不淘汰。大概量子计算机普及了才能淘汰C语言。计算机语言里,除了汇编语言,也就C语言比较接近计算机底层……...
  1. 现在的编程语言越来越多,为什么C和C++ 还没有被现在的时代淘汰呢?

现在编程语言越来越多,为什么C和c++没有被现在的时代淘汰呢?

要谈这个,首先要明白,硬件结构不发生根本性变化,c语言就不会淘汰,也就是冯诺依曼体系不淘汰,c语言就不淘汰。大概量子计算机普及了才能淘汰C语言。计算机语言里,除了汇编语言,也就C语言比较接近计算机底层。而所有的解释型语言,都需要一个底层语言实现解释器,所以解释型语言无法完全替代编译型语言。c语言作为一个普遍使用又历史悠久的编译型语言,是底层软件离不开的。它的不可替代性,是因为硬件结构限制。

1.编程语言越来越多,但是并没有越来越好。

2.几乎所有操作系统都是c语言写的,游戏引擎,也用c和C++写,怎么淘汰?

编程语言发展阶段
图片来源网络,侵删)

3.它们的替代者还未出现。反倒是很多其他编程语言的替代者很多。

小编断言,只要还有编程语言在,C语言和C++就很难被淘汰。

计算机的编程语言的发展可分为三个阶段

编程语言发展阶段
(图片来源网络,侵删)

首先是机器语言,本质上是计算机CPU可以直接识别的指令***。芯片之争的时候,我们知道了CPU的雏形是集成电路。根据电路的开关信号的变化进行运算是编程语言最朴素的理论基础。实际编程时,使用二进制的0和1进行编码,编写一个计算机可以运行的Helloworld的程序,其实就是0和1排列组合。有密集恐惧症的人程序没写完,就先疯掉了。机器语言毕竟让机器理解的,与人类思维方式还是有很大区别的,因此记忆起来非常的麻烦。现在能懂这种编程语言的程序员是国宝级的存在。

其次汇编语言,用一些程序员容易理解和记忆的字母单词来代替一个特定的指令。譬如:“ADD”表示数字逻辑上的加减,“ MOV”表示数据传递等。有了汇编语言,程序从此有了可读性。尽管编程是方便了,汇编语言依然没有摆脱机器的束缚,程序员要根据不同的CPU学习相应的汇编语言,通常情况我们还是称汇编语言为低级语言。

再其次高级语言,高级语言是参照数学语言而设计的近似于日常会话的编程语言。高级语言独立于机器,程序员在编程时也只需关注问题本身。

编程语言发展阶段
(图片来源网络,侵删)

了解了上述背景之后,咱们再回到题主的问题。题主说的编程语言越来越多中的编程语言是高级语言,为了解决特定问题而生。大家常说的JavaPythonPHP、GO、R语言等包括C++都是高级语言。

C语言比较特殊,它兼具了汇编语言的高效,高级语言的灵活,常常被称为中级语言。鉴于此C语言被广泛的应用到对处理速度要求比较高的应用场景,也有很多高级语言的编译器最初都是由C语言编写的。C++被看做是带类的C语言,受到广大程序员的欢迎。

总之,其他高级语言一般情况是为解决具体业务问题而生,C或者C++在一定程度上是支持他们的基础语言,且没有更好的替代。

最后,题主跟屏幕前的您了解了么?

我是@代码Go说科技 ,码农的视角看科技,带给大家不一样的感受。欢迎大家阅读评论转发加关注。

此C/C++是不可缺少的。虽然我个人认为C/C++在不远的将来应用会越来越少。但是作为一个在面向过程和面向对象方面都比较完善的语言来说是不可不学的。

同时我认为C/C++灵活的内存管理,复杂的对象结构是磨练一个程序员耐心和调试能力以及对程序结构对象关系全局的把握的最好方法。当你为了一个内存泄漏,而调试半天都不通的时候。这个时候就需要你的耐心,和"旁门左道"的调试工夫,更需要有对程序全局的把握。所以当你过了C和C++这一关你就等于过了"少林十八铜人阵"。真正真正是有少林寺的工夫了。

优势

①无运行环境的拖累

在运行[_a***_]、Python等应用前你需要安装对应的运行环境或虚拟机,然而常见操作系统自带C/C++运行环境,你可以发布C/C++程序给小白用户使用,这也是桌面应大多用C++开发的原因之一。

②直接调用操作系统原生API

操作系统都提供原生C语言API,在C++中你可以直接调用这些API函数。你也可以用C++的抽象能力实现类库的核心功能然后提供C语言接口编译成动态库方便J***a、Python、Lua等语言调用。

③析构函数精确控制成员的生命周期

比如说一个对象打开了一个文件,可以在对象的析构函数中关闭这个文件,这样就将文件的生命周期与对象生命周期绑定,我们不用显式调用文件的close方法,从而达到对象销毁时自动关闭文件的目的,C++中的std::lock_guard类在管理锁***时有异曲同工之妙。


[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/10197.html

语言C++编程语言
金融科技创新基地揭牌-金融科技创新试点城市 c语言编程视频教学app