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

编程语言迎来取代潮,JavaPythonCC谁最危险?

  数百种编程语言层出不穷,关于谁优谁劣的争议也未曾断过,但为何总有这种争论的出现,本文作者直击要害地解析道:「答案很简单,因为我们懒。当大家学习了一种编程语言或技术之后,就希望围绕这种编程语言或技术建立一个舒适区,然后待在舒适区内固步自封」。
  不过,在竞争日趋激烈的环境下,这样的做法显然不可取,那么,未来极具潜力的编程语言到底有哪些呢?不妨通过本文的数据对比一探究竟。
  我喜欢阅读有关编程的提问和解答。最近,我经常看到以下这类问题:
  哪种技术会取代 JavaScript? Kotlin 有机会取代 Java 吗? Rust 会取代 C++ 吗? 哪种语言最有希望取代 C?是 D、Go 还是 Rust?
  我特别喜欢最后一个提问,因为提问题的人非常确信 C 语言会被取代,还给出了备选答案。我认为,自从学术论文《Energy Efficiency across Programming Languages》(《编程语言的能耗》:https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/paperSLE.pdf)发表以来,这类问题的讨论越来越频繁。我认为,所有这些问题最终都可以归结为一个常见的问题:将来我们会使用哪些编程语言?
  在本文中,我将引用上述论文的一些结果,并分析一些其他的统计信息,看看能不能找到这个问题的答案。首先申明,我会尽可能抛开个人偏见,保持客观。下面,我们首先来看一看这篇论文。
  # 《编程语言的能耗》论文
  如果看过上述论文,你可能对下面这张表格不陌生:
  编程语言的比较,来源《编程语言的能耗》论文
  我见过很多次,各大社交媒体平台上都有人分享这张表格,相信几乎无人不知。但是,在深入研究结果之前,我想先分享一些背景信息。
  关于论文得出的这些结果,首要问题是这些结果是如何测量的。普遍接受的测量 CPU 性能的方法是基准测试。论文的作者也针对多种编程语言实施了基准测试,他们采用了 10 个不同的编程问题,然后通过这些语言解决这些问题,统一采用了"计算机语言基准测试游戏"中定义的算法。下表给出了这些算法及其数据大小:
  CLBG 的程序库
  此外,他们还根据下表中给出的范例对编程语言进行了分类:
  然而,性能测试并没有考虑到编程范式,重要的是编程语言的类型:编译型、解释型,还是使用了虚拟机?编译语言、虚拟机语言和解释语言之间存在明显的性能以及能耗差异。因此,他们针对各个类别,采用这些算法进行测试,这种做法是正确的。
  下一步是执行计算机语言基准测试。他们分享了几个问题的结果,我们来看一看。
  两个 CLBG 的结果
  能耗的测量以焦耳为单位,时间以秒为单位。而比率是能耗与时间的比值,得出的是计算语言的能耗近似值。另外,各个语言名称旁边还有上下箭头。箭头代表在根据执行时间对这个表进行排序的过程中,该编程语言上升或下降了多个位。双线箭头是同样的意思,但顺序是根据内存使用情况的峰值决定的。
  当我在社交媒体上看到上面分享的第一个表格时,我认为执行时间的顺序也很重要,只不过他们没有分享。但实际上他们专门做了执行时间的分析。根据我们对指标的了解,例如在二叉树问题上,C、C++ 和 Rust 给出了最好的结果,但是从内存的角度来看,Rust 的性能稍差。另一方面,fannkuch-redux 基准游戏中的 C 也有着相同的表现。二者没有明显的区别。
  fasta CLBG 的结果
  另一方面,fasta 基准游戏向我们展示了一个完全不同的表格。各个语言的性能表现得越来越模糊。但这些都是针对特定的情况,因此我们可以分析一下其他结果。
  这篇论文还比较了各个类别下的语言,因此你可以比较一下编译类型以及解释类型下各个语言的表现。下面给出了这三个类别的语言的测试结果。
  不同语言之间的度量衡比较
  有关这篇文章的讨论到此为止,如果你感兴趣,可进一步阅读论文。最终,我们得到的就是下面这张表格(前面分享过):
  从最终结果来看,似乎 C 语言在能耗和性能方面的表现最优,内存除外。但其实它的内存表现也不错。
  其次是 Rust 和 C++。因此,我们可以说 C 和 Rust 是最优选择。然而,这几种语言不支持面向对象编程。(你可以认为Rust支持面向对象编程,但它只支持接口(或 Rust 语言中的特征),而不支持面向对象编程结构)。
  对于使用面向对象编程的各个公司来说,易用性也很重要。老实说,C、C++ 和 Rust的使用难度都不低,你必须考虑生命周期、动态分配等问题。因此,除了编译语言、虚拟机语言和解释语言之外,我们应该把面向对象这个类别也考虑进来。但是,其实前三个类别中也存在很多差异和模糊性。如果将易用性和实现结构也考虑进来,那么结果将变得更加模糊。
  到此为止,我们比较了这些语言的能耗、内存需求和测试所需的时间。然而,我们不能仅通过这些指标来决定哪种语言最优。但是,如果添加的指标过多,结果就会变得过于复杂,无法选择出一种最优的语言,或每种类型中的最优语言。
  这里,我建议改变一下策略,让我们假设人是非常有逻辑的。通常经济论文会做这样的假设,尽管人类并不是特别有逻辑。但是,让我们假设人类非常有逻辑,而且很挑剔。那么,我们如何才能选出最优语言呢?首先,我们需要分析编程语言的使用趋势。如何测量?网上保存了大量代码,其中大部分都保存在私人代码库中。我们知道所有开发人员在遇到软件问题时都会使用搜索引擎,因此我们可以看看搜索引擎的统计数据。
  # Google 的统计结果
  Google 的趋势分析工具是向所有人开放的。我曾使用这个工具来获取有关编程语言的 Google 搜索统计信息,但其中存在一个限制:只能获取 5 个搜索关键字的数据。因此,首先我们来看看排名前三的语言(C、C++ 和 Rust)以及 Java 的结果。
  Google 平台上自 2004 年以来, C、C++、Rust 和 Java 的趋势
  Java 的使用量似乎超过了其他编译语言,但 Java 本身的使用量在逐年下降。C 和 C++ 的结果非常接近。但是,Rust 的使用量非常低。这可能是因为它是一种新语言。
  公平地说,虽然相对于 C 和 C++ 来说,Rust确实很新,但它是2010 年 7 月发布的,已经过去12年了,这期间并没有太大的起伏。这个结果与上述论文给出的结果有很大的不同。下面,除了Java之外,我们再挑选 4 种不同的语言:Kotlin、Javascript、Python 和 Go。
  Google 平台上,自 2004 年以来,Java、JavaScript、Python、Go、Kotlin 的趋势
  这次呈现出的流行趋势又变了。Python 最初的流行度很低,但如今已成为炙手可热的编程语言。Java 和 JavaScript 排在第二位。如今的榜首是 Python,下面我们再比较一轮。
  Google 平台上,自 2004 年以来,Python、JavaScript、Ruby、Swift 和 TypeScript 的趋势
  看来最终的赢家是 Python!尽管如此,我们还是应该尽可能客观。上述,我们只分析了一个搜索引擎的统计数据,下面,我们来看一看 TIOBE 指数。
  # TIOBE 指数
  TIOBE 是一家专门评估和跟踪软件质量的公司。你可以通过他们的网站了解更多相关信息(https://www.tiobe.com/)。他们的主要服务是测评软件代码库的质量。
  他们创建了一个名为TQI(TIOBE Quality Indicator,TIOBE 质量指标)指标,下图是该指标的一些示例。
  该公司创建了一个编程语言指数,名叫"TIOBE指数"。他们利用这个指数,根据搜索引擎的流行趋势来衡量编程语言的性能。
  该指数最新的结果如下:
  这与Google流行趋势给出的结果非常接近。然而,根据这个指数,C是排名第二的编程语言,这有点出乎意料。此外,TIOBE还有一个编程语言性能的历史表,如下所示:
  很明显,在很长的一段时间里,编程语言一直是 Java 和 C 的天下。后来,Python 流行起来,跃居榜首。我们需要注意,关键在于,流行趋势是不断变化的。以前 Java 是第一,如今变成了 Python。
  那么,我们应该如何衡量编程语言未来的潜力呢?
  # 未来的可能性
  在过去的 10 年里,机器学习和人工智能一直是热门话题。Python 是此类数值运算的最佳选择,因为它有一个很好的 C API。如果你非常注重性能,那么可以将 Python 与 C、C++ 结合起来。在这种趋势下,根据 Google 搜索引擎和 TIOBE 指数的结果来看,Python 是如今使用最广泛的编程语言。
  然而,这并不意味着 Python 的地位保持不变。最近,有一些编程语言展现出了更好的性能,很有可能会取代 Python,比如 Rust。亚马逊和 Facebook 已经宣布他们改用 Rust 来开发内部的命令行界面工具。另外,Linux 6.1 版本之后,内核也包含了 Rust。近来 Rust 的呼声很高,如你所见,它的排名在一年之内从第 26 位上升到了第 20 位。
  那么,我们究竟该如何预测未来呢?
  # 答案
  很抱歉,虽然我们花费了大量篇幅讨论了这么多,但实际上这个问题毫无意义。我们不是政客,没有人给我们预算或金钱支持这些技术趋势。
  那么,我们为什么要不停地比较呢?为什么我们要狂热地支持一种语言或一种技术呢?答案很简单,因为我们懒。我们学习了一种编程语言或技术,就希望围绕这种编程语言或技术建立一个舒适区,然后呆在舒适区内固步自封。
  为什么有人如此狂热地支持 C 和 C++?因为他们不想学习 Rust 这样的新语言。而反过来,有人狂热地支持 Rust,是因为他们不想学 C 和 C++。
  说到底,编程语言只是工具,就像螺丝刀一样。在需要使用圆头螺丝刀的时候,你就不能一意孤行使用一字螺丝刀。你需要根据实际的情况做决定。没有任何一种编程语言能够取代一切,成为终极编程语言。你需要根据当前岗位的要求,选择使用正确的工具。
  原文链接:medium.com/codex/the-programming-language-s-of-the-future-24af5cfa8479

警惕食物不耐受,让宝宝远离未知风险!喝牛奶就拉肚子吃鸡蛋就皮肤痒?要小心了!这很有可能是食物不耐受了!今天就来详细聊聊什么是食物不耐受,如何有效避免,远离那些看不见的伤害。食物不耐受症是一种对摄入某些特异性食物而出现痛风患者要运动适度训练是核心痛风和高尿酸血症的患者经常被告知要多运动,有利于降尿酸,为此,患友退休工程师钱先生几乎每天坚持跑步5公里,此外,他规范服药,火锅肉汤啤酒等避而远之,没想到痛风还是复发了。为啥越运动丁彦雨航作出决断打破传言,吉林队缺钱吗,茶壶居然这么卖头条创作挑战赛吉林队缺钱吗,一个茶壶这么卖一个优秀篮球的联赛生态,肯定有良好的延伸周边。联名款篮球和袜子,球星号码的球衣,赞助商联动的篮球鞋和服装,各个球队的吉祥物玩具都是很好的周满江红冲上中国影史票房第七,票房黑马却争议不断?春节档票房冠军究竟值得看吗?昨日,满江红成中国影视票房第七词条登上热搜,引发网友热议。作为春节档票房势头最猛的电影,张艺谋导演的满江红一路高歌猛进成为春节档票房第一,冲上中国影史票房第七名。但是影片外却争议不上海籍运动员历史首次参加全国单板滑雪平行项目冠军赛近日,20222023赛季全国单板滑雪平行项目锦标赛在河北省张家口市崇礼区密苑云顶滑雪场举行。上海运动员钱雨萱由锦标赛32强成功进入冠军赛,在众多优秀选手中突出重围,获得全国第26山东高速女篮不敌内蒙古农信女篮,遭对手双杀,暂列A组积分榜第6位齐鲁网闪电新闻2月13日讯山东电视体育频道消息,日前,20222023赛季WCBA常规赛第二循环继续进行,山东高速女篮5688不敌内蒙古农信女篮。此役,内蒙古女篮全员都有得分进账,腿伤加重复出被迫再推迟,脆弱的威廉森三个赛季合计就打了114场2223赛季NBA常规赛已经进入了下半程的争夺,鹈鹕队目前正在为一张季后赛门票而战,因为伤病的原因,鹈鹕队遭遇一波10连败,排名也是从西部第四跌到西部第十,最近鹈鹕队取得3胜1负排一图读懂广东百千万大会!看省直代表多级书记如何接招百县千镇万村高质量发展工程自2022年12月召开的广东省委十三届二次全会上提出,后被写入今年的广东省政府工作报告,已成为广东谋求高质量发展的强引擎。2月13日,广东召开省委农村工作46岁的广州演员赵奔,戏里是阿娇女婿,现实中是广东喜剧团副团长在外来媳妇本地郎当中,康家在最近几年多了两对新人,五年前,康家的长孙康天庥与巴西籍华裔罗飞雁走到了一起,在康天庥婚后不久,康家的小姑康而丽也嫁给了列家村的富二代列有银,然而相对于康那些来自中国的电竞世界冠军们,都经历过些什么?图片来源ESL官方社交媒体。中新网北京2月13日电(记者王昊)在北京时间13日凌晨结束的2023IEM卡托维兹星际争霸2总决赛中,中国选手李培楠(IDOliveira)夺得冠军。意西甲巴萨10黄潜继续领跑,佩德里破门制胜虎扑02月13日讯北京时间2023年02月13日0400,比利亚雷亚尔在西甲迎战巴萨。上半场佩德里推射破门首开记录,科奎林因伤离场。易边再战,楚克乌泽破门但越位在先进球无效,剩余时
时隔五个月香港将再次举行国际七人橄榄球赛新华社香港2月6日电(记者韦骅)中国香港橄榄球总会6日消息,自去年11月之后,香港将于3月31日至4月2日再次举办国际七人橄榄球赛,中国香港男子及女子代表队将同时在世界七人橄榄球系团队出境游重启,扬州3月预计出现小高峰,泰国最受青睐现代快报讯(记者顾潇文摄)2月6日起,试点恢复全国旅行社及在线旅游企业经营中国公民赴有关国家出境团队旅游和机票酒店业务。记者从扬州多家旅行社和在线旅游电商了解到,前往旅行社咨询出游洪湖市汊河镇实现招商引资开门红1个月签约3个亿元以上项目总投资额过8亿元近日,洪湖新引力农业科技有限公司投资1。8亿元的淡水渔业三产融合项目落户洪湖市汊河镇,并实现当日签约当日开工,刷新汊河镇招商引资和项目落地速度。该项目建成投产后,年产值约1。5亿元生气见人品,细节见修养,低谷见格局,利益见人心孔子说从前的时候,我听到一个人讲话,我就相信了他的行为。现在,我不光要听一个人讲什么,还要去观察他的行为。正所谓画虎画皮难画骨,知人知面不知心。在这个真真假假的世界,到处都是虚虚实瑞丽守护国门三年的边境小城,春暖花开后最值得去的地方云南省德宏傣族景颇族自治州瑞丽市,一个西南地区的边陲小城,却在疫情期间多次登上热搜。只因它抗下的实在太多了!作为一座边境城市,瑞丽拥有长达169。8公里的边境线,从地图上看,瑞丽差世界上最重要的燃料告急!将影响全球经济对全球经济来说,没有比柴油更重要的燃料了,它为卡车公共汽车轮船和火车提供动力,为建筑业制造业和农业机械设备提供动力,也是家庭的取暖燃料。由于天然气价格高企,有些地方甚至开始用柴油发16岁进国家队,19岁成世界冠军,朱雨玲的职业生涯到底有多传奇?2018年的瑞典公开赛,伊藤美诚先后将刘诗雯丁宁斩落马下。当时她距离冠军宝座仅仅一步之遥。人们把所有的目光都放在了当时被誉为天才少女朱雨玲身上。希望她能够扛起大旗,挡住伊藤美诚夺冠2023年一份详细的GoogleSEO指南!什么是搜索引擎优化?搜索引擎优化(SEO)是一种持续优化网站以在有机搜索结果中获得更高排名的做法,重点关注流行的搜索引擎,例如Google。GoogleSEOSEO不仅仅是优化你的超全攻略市售骁龙8中端机大盘点!优缺点及详细介绍文小伊评科技为了打压联发科,高通将在去年刚刚发布的骁龙8处理器直接下放到了中端市场,一举成为了手机行业的明星芯片,其风头已经盖过了去年联发科发布的天玑8100处理器,成为了最炙手可动态萌趣漫画已全集上线!虹猫蓝兔萌趣漫画虹猫蓝兔教宝宝识字已经在小明太极一直看掌阅等漫画平台全集上线了,可爱萌趣漫画,一次看个够。小明太极旗下看漫APP页面展示识别上图二维码,可直接观看汉字是一种很有特点狂飙大嫂口红大汇总!不愧是大哥的女人最近大家都在热追的一部电视剧狂飙,不少姐妹喜欢上了张译扮演的欣欣子,也有姐妹喜欢上了大反派高启强,但是小编最喜欢的还是大嫂陈舒婷。简直是气场全开,魅力四射!那今天就跟小编一起看看大