范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

为什么永远不会有语言取代CC?

  数以百计的  C/C++ 替代品将会出现,但 C/C++ 将永远与我们同在!
  每个 CPU 都带有一种称为 ISA(指令集架构)汇编的电路语言。ISA 程序集是一种硬件语言,由基本数据操作、数学计算和结构化编程(即 jmp)的操作组成。但是,为每个计算需求编写汇编代码无疑是耗时的,因此过去的程序员发明了对人类友好的语言和编译器。
  计算机科学家先驱 Dennis Ritchie 为 Unix 操作系统的研发需求实现了 C语言。在这段时期,整个计算机技术领域都在进行基础的最初建设,所以几乎所有的程序员都使用 C 语言来构建早期的计算程序,比如编译器、操作系统、数据库软件和网络程序。后来, C++扩展了 C 语言,保留了 C 语言的性能特点,一门具有更多开发人员特性的新的编程语言诞生了。
  在 20 世纪 20 年代,程序员实现了 C/ C++的备选品,如 Go、D、Rust 和 Carbon,它们具有 C/ C++从未提供的各种特性。但这些语言仍然只是 C/ C++的备选品,而不是替代品,原因如下:
  C 和 C++是基础语言
  如果我们追根溯源当今活跃在我们生命中的每一款计算机程序,总会发现它们诞生自 C 或 C++。想想你现在在做什么,你可能在谷歌 Chrome 上读到这篇文章,Chrome 开源浏览器(Blink 渲染引擎、V8 和浏览器应用程序)是用 C++写的。假如你在 GNU/Linux 上运行 Chrome,Linux 内核是用 C 写的。MySQL,最流行的关系数据库管理系统,是用 C/ C++写的。所有流行的操作系统都为内核函数提供了核心 C 或 C++ API。
  即使存在稳定的 C/ C++替代方案,许多程序员仍然喜欢用 C 或 C++进行系统编程。在大多数情况下,程序员选择 C++是因为它是与操作系统级 API 通信的最佳语言。例如,谷歌用 C++编写了Flutter引擎:
  Flutter 引擎使用 C/ C++应用 GTK 库函数,截图由作者提供
  数十年来,计算领域的大多数核心组件都使用 C/ C++作为实现语言,C/ C++语言也长期维持着语言语法的标准。打造 C/ C++的替代品就像在所有的建筑工程完工之后改变房子的地基。
  C 和 C++完全控制我们所写的内容
  在编写源代码时,C/ C++可以自由地处理程序资源。例如,C/ C++允许你直接分配/释放用于存储数据元素的物理内存。C/ C++提供了一种使用本机操作系统级线程的方法,而不是像 Go 那样管理单独的并发运行时。C/ C++没有提供自动内存管理(垃圾回收)特性,因此程序员应该谨慎有效地防止内存泄漏。看看 Meta 的 Folly 库源代码是如何实现手动内存管理策略的:
  Meta 的Folly库使用了手动内存管理功能
  自动内存管理和内存处理的限制无疑是使语言变得现代、高效和更抽象的好方法,但是这些特性会在语言运行时产生性能开销,并降低程序员的自由度。
  C 和 C++不限制内存访问,提供手动的内存管理操作,让程序员按照自己的意愿控制程序,从而把自由给了程序员。当你用 C/ C++编写程序时,你的源代码将有效地执行你指示的操作,就是这样。
  C 和 C++确实又快又高效
  一个特定程序的效率取决于两个主要因素:程序员使用的算法的时间复杂度和二进制程序的效率。毫无疑问,我们可以控制算法的复杂性,因为我们可以通过更新源代码来改变它们。另一方面,二进制文件是编译器生成的,因此我们无法轻易从这方面提高效率。
  但是,我们可以选择一个能够生成快速有效的二进制文件的编译器。GNU 编译器生成特定于平台的二进制文件,而不嵌入专用的运行时环境。C 编程执行模型使用crt0汇编指令段中定义的最小启动代码。看看下面的例子,Linux 上的 crt0 部分:
  在 C 语言中 main 函数之前执行的启动代码
  C++无疑是一门复杂的语言,但它不像 Python和 Golang那样提供更高的抽象。此外,它还为你提供了一种使用首选标准语言版本(即 C++ 14)进行编译的方法。因此,自现代 C++特性使 C++开发复杂化以来,你可以只使用 C++中最小的特性。C++已经有 30 多年的历史了,并且从早期计算时代开始就对其性能进行了优化。
  C 和 C++是学术友好型语言
  程序员编程通常始于职业生涯的不同阶段。一些程序员在他们上学的时候就使用第一台计算机设备学习编程。然而,大多数程序员都是在大学期间提高他们的编程技能的。幸运的是,几乎所有的大学都是为了让学生有机会学习计算机程序如何与硬件组件一起工作而开始教授了 C 语言编程。我写了以下文章来进一步解释计算机程序是如何与硬件连接的:
  编写优化代码前需要知道的5件事
  这些事实有助于您以优化的性能给硬件和程序员留下深刻印象
  后来,大多数大学教授 C++的数据结构和算法基础知识,而不使用 C++的复杂部分。大学生通常在学习了与算法相关的课程后,就会进入竞争激烈的编程领域。大多数有竞争力的程序员都喜欢 C++,因为它速度快,内置的最优数据结构可用性高,语法少。
  Rust 无疑是一种很好的语言,具有内存安全、高性能和内置特性,但是 Rust 语法对于第一次编写代码的开发人员并不友好。对于工业用途来说,如果你的团队希望获得类似 C 语言的最小的高效代码和类似 python 的开发环境,Go 是一种很好的语言。但是,对于学术用途来说,Go 的抽象太过简单,并且不能与传统的伪代码保持一致,所以学术讲师永远不会用 Go 来替代 C/ C++。
  下面的文章解释了为什么每个程序员都应该用 C 语言开始编程:
  为什么每个开发人员都应该使用C语言开始编程
  你可以从任何一种语言开始编程——但是从C开始有更多的好处!
  现代替代方案仍然需要 C,它们专注于不同的目标
  如前所述,所有 POSIX 操作系统和非 POSIX 操作系统(即 Windows)都提供了一个 C 库来处理内核操作,因此从 C/ C++调用内核特性很容易,因为我们不需要编写特定于语言的绑定或第三方包装器。一些操作系统甚至预先包含 GNU C/ C++编译器和调试器来促进 C/ C++的开发。如果我们使用 Rust 和 Go,需要特定于语言的第三方绑定来与操作系统 API 通信。现代替代语言仍然提供了调用 C 代码的方法。例如,Go 提供Cgo特性来调用 C 代码。
  几乎所有的 C/ C++替代方案都力求用与 C++截然不同的语言语法来提供缺少的 C++特性。
  如果程序员在寻找 C/ C++的替代方案,他们通常会期望一个平稳且耗时较少的迁移过程。
  此外,他们也不期望学习一门新语言来为他们不喜欢的 C/ C++特性找到解决方案。
  程序员们针对低层次编程用例设计和改进了 C 语言,没有一种现代语言是完全针对 C 语言的目标而创建的。C++使 C 语言更具有未来感,并自低级编程阶段进行了提升。Rust、Go、D 和 Carbon 都是 C/ C++的备选品——而不是替代品,这些备选品都有自己的未来目标。
  下面的文章解释了为什么每个程序员在他们的职业生涯中都需要学习 C++语言:
  为什么每个程序员都应该在他们的职业生涯中学习C++
  掌握C++并不是一件容易的事,但是一旦你做到了,你将获得无价收益
  结语
  以前的程序员在 C/ C++进化时期书写了我们的计算机历史。他们用 C 和 C++构建操作系统内核、编程语言、数据库系统、移动操作系统和网络软件。多亏了 C/ C++,现在几乎所有的现代 Web 服务都能工作。例如,最流行的 Web 服务器软件,如 Apache HTTP 和 Nginx,就是使用 C/ C++作为实现语言。以前的程序员几乎用 C/ C++编写了所有流行的内部网络浏览器和网络软件组件。Web 开发人员喜欢选择 Java 和 Node.js 用于 Web 服务,但 Java 和 Node.js 都是因 C/ C++而来的。
  一些程序员认为像 Rust、Go、D 和 Carbon 这样的流行语言可以替代 C/ C++。同时,一些程序员考虑使用这些语言作为 C/ C++的备选品,认为它们在未来可能取代 C/ C++。这些现代语言是为特定的目的和需求而设计的——而不是取代 C/ C++。
  微软创建了 TypeScript,但我们仍然使用 JavaScript。Jetbrains 创造了 Kotlin,但我们仍然使用 Java。数以百计的 C/ C++备选品出现了,但程序员仍将使用 C/ C++,因为重写面向 C/ C++的计算机历史是不现实的。这并不意味着 C 和 C++是最好的语言——在某些方面(例如复杂性、内存安全性等),备选语言可能比 C/ C++更好,但它们无法进入 C/ C++的领域,因为以前的程序员用 C 和 C++编写了整个现代计算机历史。
  感谢你的阅读。
  原文链接:
  https://levelup.gitconnected.com/why-modern-alternative-languages-never-replace-c-c-cbf0afc5f1dc
  译者介绍:冬雨,小小技术宅一枚,现从事研发过程改进及质量改进方面的工作,关注研发、测试、软件工程、敏捷、DevOps、云计算、人工智能等领域,非常乐意将国外新鲜的 IT 资讯和深度技术文章翻译分享给大家,已翻译出版《深入敏捷测试》、《持续交付实战》。

植发前的这些重要事项,大麦植发告诉你!本网3月17日讯很多朋友以为植发手术完了就万事大吉,其实,植发后还有很多注意事项。今天,大麦植发就和大家来说说植发前那些重要事项。毕竟,它们也会影响着植发手术的成功成功哦。01适合太极拳被瞎胡搞,最终害人害己资本的介入,恶意的炒作,急功近利的心态,坑蒙拐骗,太极已经失去了愿天下豪杰延年益寿不老春,不徒作技艺之末也的初心。自封大师,开宗立派,什么第一人,掌门人,守门人,关门弟子,大弟子,世界冠军谢杏芳走进清远分享心得暂时失败不可怕,最可怕的是放弃如今年轻人接触的社会面更广阔,选择也更多,但做好一件事,更需要足够专注。16日下午,在本届省运会羽毛球赛开幕之际,广州籍羽毛球世界冠军谢杏芳在清远体育中心与现场观众讲述冠军故事分享欧足联俱乐部积分排名拜仁居首,曼城次席,利物浦第三直播吧3月17日讯欧足联官方更新了各支俱乐部欧足联积分,拜仁位居榜首,曼城次席,利物浦第三,以下为具体榜单1拜仁132分2曼城132分3利物浦123分4切尔西123分5皇马112分拜登出尔反尔,台积电建厂计划泡汤,可能要人财两空了!美国是科技水平最先进的国家,无论是航空航天芯片还是计算机技术,都有着绝对领先的优势,强大的技术实力也推动了美国经济的发展,让其成为了财富最多的国家。但美国今天的强大,其实是多年来通害人终害己!芯片卡脖子局面将扭转?国产芯计划强势反制国内科技领域被卡脖子卡得最严重的是哪一板块?在街上随机采访十个人里,相信有九个人都会回答半导体芯片。作为科技行业众多研发方向的核心技术,半导体产业几乎支撑着整个科技行业的发展。电视七彩云南亲子游(第一天)DAY1晋城市新郑机场昆明机场大理火车站翠湖公园大理火车站(夜晚2332火车)早晨0640乘坐晋城城际大巴郑州东高铁到新郑机场城际大巴,山西省晋城市人民的福利,晋城到郑州周六日完全七彩云南亲子游(第二天)DAY2大理古城崇圣寺三塔三塔倒影公园夜逛大理古城火车很准时,准点到站,早晨的大理风比较大,大家都在添加外套大理火车站到达大理古城8公交车路,全程约18。06公里,火车站出站口直接五个倒霉蛋的幸福生活中,还有哪些小伙伴如果平时在体育版面出现五个人的照片,一般都是转会的消息。不过仔细一看,显然这些人转会的几率不大。因为狂飙在继续?从李铁被带走调查至今,一次性的涉出这么多球员尚属首次,在吴兴涵口中全德赫亚战胜贝蒂斯后,滕哈赫对我们说比赛现在才真正开始直播吧3月17日讯德赫亚在接受MUTV采访时表示,夸赞了球队对阵贝蒂斯时的防守,同时他还透露主教练滕哈赫在赛后对球员们说的话。对我们来说,奖杯很重要,德赫亚说。我认为教练已经向外界上海足坛掀起反腐扫赌风暴!多名申花球员被传带走,球迷给出答案日前,根据多位媒体人透露,中国足坛反腐再来一波,他们暗示申花多人跟秦升参与赌球,已经被相关部门带走调查。当有球迷问记者李璇,到底是哪几位申花球员跟着秦升赌球,李璇表示她们有纪律不能
禁赛6场罚款20万!39号裁判为何安然无恙?姚明该不该一碗水端平大快人心,拍手叫好,CBA官方开出了重磅罚单,严惩恶犯许钟豪,被禁赛6场罚款20万。同时CBA官方也要求浙江广厦加强球队思想教育,让参赛人员学会尊重对手,公平比赛的观念,以及维护C山西晋级季后赛,广东后程乏力,北控掉出前十二,CBA排位更新CBA第三十四轮结束了全部比赛,重头戏中,辽宁101比82复仇稠州,重返积分榜第一,北京首钢97比81击败北控,送同城兄弟北控掉出前十二,广东101比120不敌广州,领先北京只有一澳大利亚为什么在这个时候再次挑衅中国?澳大利亚再次挑衅中国我们知道,这两年,澳大利亚挑衅中国被反制之后,消停了一阵子。最近中澳之间发生的一连串新的事件,使已经冷淡的两国关系再次恶化。堪培拉3月10日宣布,将增加军事人员清朝末期的中国边疆要塞乌鲁克恰提要塞清朝末期,苏格兰人莫理循在中国旅行。当他到新疆考察时,看到和俄国土耳其斯坦接壤的乌鲁克恰提要塞后,非常感慨。他这样说在所有中亚的地图上,乌鲁克恰提要塞的地位都很重要。我仔细地查看一宇宙文明的等级划分在很多的科幻小说当中,都将我们地球作为一个完整的个体去和其他的星球做比较,比如说世界上的国家都有着发展中国家和发达国家的区别,那么如果星球之间有文明的话会怎样的划分呢?让我们来详细MIUI13今年表现怎么样?更稳更快,至少不会拖小米冲击高端后腿了如果说去年国内手机厂商谁最高光,我相信很多人会把这票投给小米,在2021全年都是有不错的表现其中在Q2季度也是超越苹果首次拿下了全球手机销量第二的好成绩秋季时隔三年回归的小米MIX一加天玑8100新机曝光三段式按键消失泯然众人了一加在去年的时候有几件大事,回归到了OPPO旗下成为其独立自品牌,自主打造的氢OS系统也逐步更换为了OPPO全力主推的ColorOS,这代表着曾经独树一帜的一加也成为了大众的一员,OPPO良心之作,骁龙778G5000mAh128GB仅1489元,还有6400万三摄谈到性价比手机,你首先会联想到哪个品牌,估计屏幕前的不少网友都说是小米,因为早期的小米,以性价比为立身之本,推出了非常多脍炙人口的性价比神机。不过最近两年,为了发展的需要,小米也开新风空调终于开始普及了,入手奥克斯四季新风空调体验。前言,因职业原因,新风空调推广经验大家好,我是林老师,我们又见面了。作者由于在4年前就从事过新风空调的推广工作,那个时候去了很多国内空调大厂,对于新风空调,大家都抱有怀疑的态度,同3月显卡行情显卡行情持续走低,如非刚需建议再等等,全部的行情我会坐在表放到最后,有需自取。RTX3050价格2200起,跌了50推荐,鲁大师23万左右,性能比RTX2060弱一点,优点性能不足Uzi躺赢拿下首胜BLG官博炸锅,Uzi表现不佳赛后吐露心声令人泪目北京时间3月14日,LPL春季赛BLG与UP的焦点战正式打响!本场比赛Uzi继续首发出战,在双方鏖战三局后,BLG以21的大比分击败UP,拿下最后的胜利!Game1首局前期虽然Br