时间:2022-10-09 18:12:09 | 浏览:1926
C 和 C++ 的没落,不仅是因为 CPU 时钟周期的关系,而且因为关系到了开发者的时间
全球大约有400万C和C++程序员,很可能是最大的社区了,约占20%的市场份额,不亚于Java,甚至还要更多一些(C和C++一起)。它们也是当前主流语言中最古老的语言之一,应用于重要行业。C和C++在工业与其他领域如物联网/嵌入式系统/机器人的协同方面非常重要,由于协同效应,它们的应用甚至还在增长。
C++ 是一门出色的语言,出现的C++11与14标准,以及 C++17 标准,使其改进速度比以往都快的多。令人吃惊的是,其语法与其他“现代”语言越来越接近,例如Python。C语言是当前IT技术的坚实基础。C和C++的编译器、优化器、调试器以及IDE的工艺水平都是一流的。
有兴趣一起学习c/c++编程的小伙伴可以私信小编交流哦
全球代码中,20%是C和C++
但是,如果有一天你想写一段简单且可重用的代码,并且希望能够通过一个串行端口发送一串“Hello World”的字符。
问一个python开发者。他会写$ pip install pyserial,并在几分钟内,他就能给出一个解决方案。
问一个C++开发者。首先在C++中没有类似pyserial的模块。C++号称对底层非常擅长。最接近的答案可能是Boost.Asio里面的串行端口了(这是StackOverflow上得票最高的答案)。然而仅仅下载Boost就可能花费比实现python方案更多的时间,并且它要求在一个异步框架中使用串行端口,对于这个任务来说,有杀鸡用牛刀之嫌。证据是在这个简单项目中要添加数百个文件。此外C++程序员通常必须手动添加IDE的包含路径,或者在项目中设置。
相反,python的pyserial库只有少数几个文件,并且有意思的是它大部分上是用C实现的。使用C++为这个串行端口的“Hello World”创建一个可复用的组件将要花费更多的努力,并且你需要在每台电脑上都需要安装一次Boost。
我绝不是在说Boost很差,实际上它非常出色。但是显然在C和C++开发过程中,低效率仍然存在。
在追求语言的潜力以及计算资源效率方面,「不要为你不使用的东西付出(don’t pay for what you don’t use)」的格言显然是正确的;但是在开发过程方面却是完全误导的。相比较其他开发语言,C和C++的开发过程是低效的。并且 C++ 是付出代价最高的编程语言。就是说,作为开发者,我们使用C和C++时不得不花费不少宝贵的时间,却不对我们的产品产生价值,相对于用其他语言开发的同事处于竞争劣势。
因此最大的问题不是语言本身,而是开发工具以及其生态系统。首先,对于不同的编译器和不同的选项以及库文件,构建系统(build system)差异非常大。更糟糕的是,不同的构建系统不仅与操作系统相关,也与编译器相关。
幸运的是,这种情况下CMake就派上用场了。严格意义上来说,它不是一个构建系统,只是位于构建系统上层的一个工具,能够为各种不同的构建系统输出配置文件。CMake是跨操作系统项目的事实标准,而在单操作系统项目上的使用也越来越多。它很成熟并且强大,以很快的速度持续改进。新的项目如CLion IDE,直接使用CMake作为唯一支持的构建系统。这是一个很好的做法。虽然脚本的语法可以做的更好,但是平台一致性比任何其他因素重要的多。我认为C和C++社区普遍选择CMake,对每个人都将是巨大的胜利。向比特神祈求在每个项目中都能够找到CMakeLists.txt。
其次,但是更重要的是C和C++依赖管理器的缺失。Python中有pip,Java有Maven,Node有NPM,Ruby有bundler,Rust有cargo……不,apt或者类似的东西不是依赖管理器,否则这些语言不会提供自己的依赖管理器。在未来几年内C和C++最终将减少到一些非常核心的组件,就像今天的汇编一样。这将是C和C++语言走向没落的最终原因。
真正的威胁:Rust与Go
由于解释型语言和动态语言的不断进步,虚拟机与即时编译的进步在运行速度上创造了惊人的成绩,例如PyPy;支持C和C++生态系统的一些最好的技术如LLVM也促成了这些语言工具。但是,真正的威胁来自于现代编译型语言,如Rust或者Go,它们学习了计算机语言几十年的优势,又没有需要维护的代码库。它们的语法有着非常便捷的特点(简单、并发、安全…),除此之外,依赖管理也很简单。简单的deps管理能够创造指数级别的循环增长。仅仅通过声明或者引入GUI、AI、graphics、server、serialization、ORM 等你需要集成到项目的库,你可以轻松地建立Rust或者Go应用程序、库或者系统。尽管C或C ++可以预期得到更好的性能,但是使用C或C++建立一个相同的项目需要花费更长的时间。
不管语言如何改进,只要这个问题没有被解决,我心爱的C和C++语言的未来就是悲观的。而开发出这样一个生态系统,那么它们不但不会下降,甚至会接管非传统领域,如Web应用和移动应用。
但是不管怎么,我心爱的C++大爷还是C++大爷,我是不会放弃的!有兴趣一起学习c/c++编程的小伙伴可以加小编的交流群466572167一起研究学习C++哦!
智通财经APP讯,莱尔科技(688683.SH)发布定增股票预案,本次发行股票募集资金总额不超过1.44亿元,主要用于“新材料与电子领域高新技术产业化基地项目”及“佛山市大为科技有限公司新建项目(12000吨新能源涂碳箔项目)”。
支付宝小程序开发,先要注册一个小程序账号,然后在根据平台要求进行制作开发。htm)点击“立即接入”按钮,可使用现有支付宝账号直接扫码登陆支付宝小程序开发者平台。代码包下载是在平台上下载小程序代码包,自行通过支付宝开发者工具上传代码并通过支付宝小程序平台完成小程序审核、小程序发布操作。
以上就是关于“字节跳动小程序”的相关介绍,若有什么不清楚的可以咨询西部数码,小程序开发,无需懂技术,直接套用小程序模板,可视化拖拽编辑。完成小程序功能、内容等所有设置,提交平台审核。想要小程序制作发布更便捷的话,可以通过小程序制作神器,无需懂技术,直接套用小程序模板,可视化拖拽编辑,一键快速生成。
虽然孩子在家可以上网课,写作业,可以正常学习,但是孩子不可避免地染上了一个坏习惯——沉迷电视看动画片,抱着手机看视频玩游戏。因为疫情,今年的寒假史无前例的长,学校、幼儿园迟迟不开学,孩子宅在家无所事事。
最新泄漏信息表明,大疆(DJI)正在开发全新的 FPV(第一人称视角沉浸式)无人机,允许用户在其室内飞行。可靠的线报提供者 @DealsDrone 和@OsitaLV 提供了关于一架更小、更紧凑的无人机的泄露图片和细节,这架无人机可能会在。
近期,国内新冠肺炎疫情呈点多面广频发等特点,同时“五一”假期临近,节假日期间人员密集出行、流动性大,疫情防控形势严峻。为切实做好节日期间(即日起至2022年5月18日)我市新冠肺炎疫情防控工作,现将有关要求通知如下。
瑜伽培训app开发,瑜伽教练培训学校软件开发,瑜伽教练培训平台开发,瑜伽私教课程预约APP开发平台瑜伽培训教学app开发,瑜伽培训教学软件开发,瑜伽培训教学系统搭建,瑜伽培训教学定制软件开发,对于不少用户来说,如何在室内健康运动成为大难题,
红洞数字藏品平台(简称红洞数藏)是一个区块链数字收藏电子商务平台,红洞数藏网站系统提供IP内容数字资产发行、销售等配套服务。 于2021年12月5日在2021中国元宇宙峰会上正式发布。红洞数藏网站系统是新的数字藏品在线交易平台,在这里浏
红洞数藏商城平台是一个区块链数字藏品电子商务平台,提供IP内容数字资产发行、销售等配套服务。 红洞数字藏品将于2021年12月5日在2021中国元宇宙峰会上发布。同期将向用户开放期内测,文化艺术、时尚、 游戏和电子竞技将陆续发布。 供经
在区块上,数字加密货币分为两类:原生硬币和代币。 前者,如比特币、Qtum等,都有自己的主链,利用链上的交易来维护账本数据; 后者,如 BOT、INK 等,附加在现有区块上,并使用智能合约记录账本。 代币可以分为同质化和非同质化两种。