首页 > 数说 > 关键词 > 编程语言最新资讯 > 正文

现代编程语言大 PK,2020 年开发者关心的七大编程语言!

2020-03-13 08:45 · 稿源:CSDN公众号

声明:本文来自于微信公众号CSDN(ID:CSDNnews),作者:Md Kamaruzzaman,授权站长之家转载发布。

【CSDN 编者按】“如果我们把人类文明想象成汽车的话,那么软件开发行业就相当于汽车的引擎,编程语言就像引擎的燃料。”作为一名开发者,需跟随技术潮流的发展来学习新技术。 2020 年,你有计划新学一门编程语言吗?

本文作者从一名架构师的角度,详细分析了 7 种现代编程语言的优点与功能,你对哪门语言最感兴趣呢?

黑客 代码 安全漏洞 程序

作者 | Md Kamaruzzaman,软件架构师

译者 | 弯月,责编 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

以下为译文:

如果我们把人类文明想象成汽车的话,那么软件开发行业就相当于汽车的引擎,而编程语言就像引擎的燃料。作为一名开发者,今年你应该学习哪种编程语言呢?

学习一种新的编程语言无疑是时间、精力和智力上的巨大投资, 但是学习一种新的编程语言可以提升你的软件开发技术力,促进你的职业发展。

在这里,我将献上一份现代编程语言的列表,这些语言不仅有助于提高你的生产力,而且还可以促进你的职业发展,并让你成长为更优秀的开发人员。这份列表还涵盖了非常广泛的领域:系统编程、应用程序开发、Web开发、科学计算等。

什么是现代编程语言?

“现代编程语言”这个说法本身就很含糊。许多人认为Python和JavaScript等语言是现代编程语言,还认为Java是一种古老的编程语言。实际上,这几种语言大约在同一时间出现: 1995 年。

大多数主流编程语言是上个世纪开发的:七十年代(如C)、八十年代(如C ++)、九十年代(如Java、Python、JavaScript)。这些语言在设计上并没有考虑现代软件开发生态系统:多核CPU、GPU、快速的互联网、移动设备、容器和云等。尽管许多语言中的许多功能都已进行一些改进,如并发等,而且在不断调整自己以适应时代,但它们依然保留了向后兼容性,无法抛弃那些过时的旧功能。

在这方面,Python就做得很好(某种意义上也未必是好事),Python2 和Python3 两者之间有明确的分界线。很多语言常常会为解决同一个问题提供十余种的方法,同时又没有顾及到开发人员的感受。根据StackOverflow的开发人员调查,大多数旧时的主流编程语言在“最可怕的语言”排名都名列前茅:

如果非要在新旧编程语言之间划个界限的话,那么应该是 2007 年 6 月 29 日,也就是第一台iPhone发行的时候。在这之后,编程语言界发生了很大变化。因此,在本文的列表中,我只考虑 2007 年以后的编程语言。

为什么要学习新语言?

首先,现代编程语言充分利用现代计算机硬件(多核CPU、GPU、TPU)、移动设备、大量数据、高速互联网、容器和云的优势。大多数现代编程语言会关注开发人员的体验,比如:

  • 简洁明了的代码(减少样板代码)

  • 内置的并发支持

  • 空指针安全

  • 类型推断

  • 简洁的功能集

  • 降低学习难度

  • 融合所有编程范例的最佳功能

本文列表的许多编程语言都带有革命性地变化,并将永久地改变软件行业。一些已成为主流编程语言,还有一些则有望取得突破。因此选择这些语言作为第二种编程语言是明智的做法。

Rust

一直以来,系统编程语言环境主要由靠近硬件的语言(如C、C ++等)主导。尽管它们可以完全控制程序和硬件,但是它们缺乏内存安全性。即使它们支持并发,使用C/C ++编写并发程序也很困难,因为没有并发安全性。还有一些流行的编程语言是解释性语言,例如Java、Python、Haskell。这些语言具备安全性,但需要庞大的运行时或虚拟机。由于它们的运行时间长,因此Java等语言不适合于系统编程。

许多人曾尝试将C/C ++的功能与Java、Haskell的安全性相结合。然而,Rust才是第一个成功实现了这一点的编程语言。

Graydon Hoare在业余项目中开发出了Rust,他的灵感来自研究编程语言Cyclone。Rust是开源的,由Mozilla与许多其他公司和社区一起领导这门语言的开发。Rust于 2015 年首次发布,并很快引起了社区的关注。

主要特征:

  • 通过所有权和借用概念提供内存安全和并发安全。

  • 内存安全和并发安全在编译时确保,即如果程序代码可以编译,那么内存既安全又没有数据竞争。这是Rust最吸引人的功能。

  • 它还提供了Haskell中元编程的表现力。凭借不可变的数据结构和功能编程功能,Rust提供了功能并发和数据并发。

  • Rust的速度非常快,纯Rust的性能甚至优于纯C。

  • 在没有运行时的情况下,Rust可以完全控制现代硬件(TPU、GPU、多核CPU)。

  • Rust具有LLVM支持。因此,Rust提供一流的与WebAssembly的互操作性,而且Web代码也非常快。

流行度:

自 2015 年首次亮相以来,Rust已被开发人员广泛接受,并在StackOverflow开发人员调查中连续四年(2016、2017、2018、2019)被评选为最受欢迎的语言:

根据GitHub Octoverse的调查,Rust是运行速度第二快的语言,仅次于Dart:

此外,根据编程语言流行度排名网站PyPl的数据,Rust排名第 18 位,并呈上升趋势:

对比Rust提供的功能集,我们就会明白为什么微软、亚马逊、Google等科技巨头相继宣布投资Rust作为一种长期的系统编程语言。

根据Google统计的趋势,在过去的 5 年中,Rust的热度每年都在增加。

主要用途:

  • 系统编程

  • Serverless 计算

  • 商业应用

主要竞争对手:

  • C

  • C++

  • Go

  • Swift

Go

在本世纪初,Google面临两个扩展问题:开发扩展和应用程序扩展。开发扩展问题指的是他们不能仅通过投入开发人员的方式来添加更多功能。应用程序扩展问题则指他们无法开发出一款能够扩展到Google级别的计算机集群的应用程序。

所以在 2007 年左右,Google创建了一种新的编程语言,用于解决这两个扩展问题。两位才华横溢的Google软件工程师Rob Pike(UTF-8)和Ken Thompson(UNIX OS)创建了一种新语言。

2012 年,Google正式发布了第一版的Go编程语言。Go是一种系统编程语言,但与Rust不同,它还具有Runtime和垃圾收集器(几兆字节)。但是与Java或Python不同,这个Runtime包含了生成的代码。最后,Go生成了一个本地的二进制代码,可以在没有附加依赖项或运行时的情况下在计算机中运行。

主要特征:

  • Go具有一流的并发支持。Go不通过线程和锁提供“共享内存”并发性,因为编程难度太大。相反,它提供了基于CSP的消息传递并发性(基于Tony Hoare的论文)。Go使用“ Goroutine”(轻量级绿色线程)和“ Channel”进行消息传递。

  • Go最大的杀手级功能是:简单,它是最简单的系统编程语言。新手软件开发人员只需几天就可以编写高效的代码,就像Python一样。有些大规模的云原生项目(如Kubernetes、Docker)都是用Go编写的。

  • Go还内置了垃圾收集器,这意味着开发人员无需担心C/C++中的内存管理问题。

  • Google投入了大量资金打造Go。因此Go拥有大量的工具支持。新手Go开发人员拥有大量的工具生态系统。

  • 一般,开发人员80%的时间都花在了维护现有代码上,用于编写新代码的时间只占20%。由于其简单性,Go在语言维护方面表现出色。如今,Go在业务应用程序中大量使用。

流行度:

Go一问世就受到了软件开发社区热烈的欢迎。 2009 年- 2018 年,Go一直在TIOBE编程语言排行榜上徘徊。Go的成功为Rust等新一代编程语言铺平了道路。

如今,Go已是主流编程语言。最近,Go团队宣布了有关“Go 2”的消息,这门编程语言的发展会更加稳固。

几乎在所有的流行编程语言排行榜中,Go的排名都很高,已超过许多现有的语言。自 2019 年 12 月以来,在TIOBE指数排名中,Go名列第 15 位:

根据StackOverFlow的调查,十大最受喜爱的编程语言中,Go也位列其中:

此外,根据GitHub的数据,Go也是十大发展最迅速的语言之一:

Google趋势显示,在过去的 5 年中,Go的热度每年都在增加。

主要用途:

  • 系统编程

  • Serverless 计算

  • 商业应用

  • 云原生开发

主要竞争对手:

  • C

  • C++

  • Rust

  • Python

  • Java

  • 相关推荐
  • 大家在看
  • 最新编程语言排名:Python超Java、JS保持领头羊

    Redmonk新一轮的编程语言排名出炉,从使用量上看,Python超越了Java跃居第二,JavaScript仍保持领头羊的位置。统计中对使用量的计算拉取的是Github和Stack OverFlow数据,尽管Python在过去六个

  • TIOBE 8 月编程语言:C、Java 差距拉大,R 语言盛行

    相比上个月,本月 TIOBE 指数整个体变化并不大。C 语言依然保持强劲的增长势头,与第二名 Java 之间差距逐月增大,从上个月相差 1.35% 的份额逐步增长到 2.55% 的差额。

  • 浙江八年级新增Python编程课程 Python语言特点名称来源介绍

    浙江八年级新增Python编程课程是怎么回事?据媒体报道,浙江省今年 9 月份开始的新学期,三到九年级信息技术课将同步替换新器材。其中,八年级将新增Python课程内容。新高一信息技术编程语言由VB替换为Python,大数据、人工智能、程序设计与算法按照教材规划五六年级开始接触。

  • 风变编程:花时间学Python,是对自己未来最好的投资

    谷歌研究主任Peter Norvig曾说:从一开始,Python就一直是谷歌的重要组成部分,并且随着系统的发展和演变,到现在也是如此。如今,很多谷歌工程师使用Python,我们也正在寻找更多掌握这门语言技能的人。数据科学家Rinu Gour也说过一句很有哲理的话:如今是Python的世界,花时间学习Python编程语言将是你对未来最好的投资。接下来,风变编程就带你探寻这些大佬背后隐藏的深意。很多人觉得,Python语言似乎是“横空出世”,突然间就?

  • IEEE Spectrum 评估的最流行语言是 Python

    ​IEEE Spectrum 通过综合 CareerBuilder、GitHub、Google、Hacker News、IEEE、Reddit、Stack Overflow 和 Twitter 八个来源 ,分析了 55 种编程语言的流行度,公布了它的 2020 年度编程语言排行榜:

  • Python进入初中生学习课堂?风变编程助你从后浪中成功突围

    都知道现在Python这门编程语言很火,那它究竟火到什么程度?可能互联网上铺天盖地的Python学习贴不够直观,求职平台上Python相关工资水涨船高,也离我们普通人太远,但——Python被纳入基础教育体系呢?浙江省八年级将新增Python编程课程风变编程得到最新消息,在2020年9月开始的新学期中,浙江省三年级到九年级信息技术课将同步替换新教材,而其中最大的变化是,八年级将新增Python课程内容。同时,新高一信息技术编程语言由VB替?

  • 职场提升新技能,风变编程Python让繁琐的工作自动化

    近年来,随着人工智能的飞速发展,作为人工智能第一编程语言的Python越来越热门,国家政策方面开始推广编程教育,不少企业在招聘条件中都列出了“具备Python技能”的字样。因此,很多比较有远见的职场人士都开始考虑是否要学点Python知识傍身,以备不时之需。Python——自动化办公的魔法钥匙在讲Python之前,我觉得我们需要先了解一下什么是自动化办公?自动化办公也称办公自动化(英语:Office Automation),简称OA,指的是应用?

  • 少儿编程有哪些优势?怎么选择编程培训机构?

    近几年少儿编程的话语声不断,但随着国家和教育部门的认可,让越来越多的家长重视起来并积极的为孩子报名。的确,如果不想被智能化时代所淘汰,就要提早学习与计算机沟通的语言——那就是编程。它不仅是能够与智能时代沟通的有力武器,同时还能培养孩子的自信。一起来看看吧!一、少儿学编程能提高孩子的硬实力——增加孩子掌握更多的学科知识编程作为一门热度居高不下的学科,孩子学习后无疑会为自己的学科知识和相关专业能力加分

  • 积木、编程、遥控三合一,阿尔法蛋编程机甲S1呼啸而来!

    孩子们都喜欢的积木拼装玩具,质量良莠不齐,好的一套价格不菲,而且常要更新换代;想送孩子去乐高培训机构,又生怕挑选到不专业的,一年下来花费上万是常事;少儿编程已纳入中高考,给孩子报一节少儿编程课不下百元,还要考量课程体系是否合理……现在,专为少儿编程启蒙设计的阿尔法蛋编程机甲S1向你驶来——它既是可以变换N套造型的高品质积木,又能通过游戏引导孩子完成科学的编程启蒙,还可以遥控互动、让积木动起来,让孩子在玩的过程中培

  • 币安客服支持8种语言 未来将会更多

    根据欧盟委员会 2011 年的一项研究,42%的消费者承认他们绝不会购买其他语言的产品和服务。这个事实不仅凸显了语言无可争议的重要性,同时强调了它既能获取也能丢失企业成功的机会, 尤其当您想要征服全球商业舞台。有关于客户满意度和保留率的一些相似研究和统计数据证明,为了在商界具有全球竞争力,企业都希望依靠多语种服务台来满足不断增长和越来越多样化的消费群体。币安就在近期上线了7* 24 小时越南语在线客服支持服务。?

  • 极客晨星:少儿编程投资前景好,但利与弊要清楚

    随着社会的发展,互联网的普及,计算机已经成为人们日常生活中必备的生活工具之一,无论是工作还是学习中都是不可替代的。少儿编程开发一直是当下的热门行业,而且社会未来的发展也不会脱离互联网,极客晨星的老师认为:编程要从娃娃抓起,少儿编程的前景很好,但是我们也要区分利弊。另一方面,“编程要从娃娃抓起”成了众多家长的共识,很多家长都把孩子送进少儿编程机构。那么少儿编程主要学什么?目前的行业前景如何?发展趋势

  • 未来是属于拥有编程思维孩子的天下-极客晨星

    近几年编程教育已经深入到孩子们的课本中,学习编程的重要性不言而喻。人工智能与少儿编程受到很多家长们的关注与青睐,积极为孩子报名学习。很多家长表示:让孩子学习少儿编程不仅仅是为了现在的学习,更是为了在未来的智能时代不被淘汰。的确,毕竟未来是属于拥有编程思维孩子的天下!那么,“编程思维”,到底是一种什么样的思维呢?当我们试着从电脑的角度去思考问题时,将问题的解决思路、方法、和手段通过计算机能够理解的形

  • 苹果将为教师提供免费的在线编程课程

    苹果公司在美国当地时间周四表示,将针针对教师推出免费的在线编程课程,同时在现有的学校编程项目增加更多新内容。

  • “宅经济”下,风变编程如何破解传统教育之困局?

    2020年初,受疫情扩散影响,各行各业均受到强烈冲击,传统教育行业也面临前所未有的挑战。从2月开始,多家知名线下教育机构接连宣布停止运营,困局一览无余。而疫情在给传统行业带来困局的同时,也催生了新业态,随着消费者需求从线下向线上转移,持续催热“宅经济”,在线教育也搭上这趟“顺风车”。尤其是在人工智能时代、国家大力支持普及编程教育的当下,以风变科技旗下风变编程为代表的成人在线教育品牌,也受到了更多人的关?

  • 日本研发出智能口罩:可翻译8种语言

    由于新冠疫情,口罩已经成为了一种日常用品。而日本似乎十分热衷于研究不同类型的口罩,例如为了应对夏季的“冰镇口罩”和带微型电扇的口罩,还有为了女性美观研发的“小脸美口罩

  • Linux之父Linus Torvalds:我早就不编程了、工作就是说不

    Linus Torvalds,无可争议的Linux之父,几乎一己之力更新维护Linux内核,绝对的大神级存在。很多人心目中,Torvalds可能是个标准的宅男,闷在家里不停地编程写代码。真的如此吗?近日的欧洲开

  • 鲁大师Q2显卡排行榜:AMD被完全压制

    AMD锐龙在处理器领域春风得意,无论桌面还是笔记本都不断攻城略地,赢得一片AMD YES的叫好声,相比之下显卡业务就太黯淡了,这几年一直被NVIDIA完全压制。鲁大师近日公布了2020年第二季度显

  • 电动牙刷品牌排行榜:颜值实力俱佳的品质排行

    买电动牙刷除了看颜值,还得看实力。现在的电动牙刷型号非常多,要想在众多的型号当中挑选出一款适合自己的,还真不是那么容易,尤其是新手,更是不知道应该从何下手。一些低价电动牙刷,为了用低价吸引用户更是大打价格战,但是实际体验非常差劲!不仅工艺制作粗糙,而且使用的时候噪音非常大,机身甚至会震动到麻手,跟本很难坚持用下去。在此小编整理了一份电动牙刷品牌排行榜,给大家推荐五款颜值和实力俱佳的候选品牌!TOP1 B

  • 字节跳动AI实验室李磊:如何用算法帮助内容在不同语言里互通

    在 2020 世界人工智能大会WAIC“《新一代中国人工智能》全景论文背后的故事及AI产业在中国的发展和世界的领导力”圆桌论坛中,参与撰写论文的七位作者讨论了论文的意义和背后的故事。

  • 平板电脑性价比排行榜来了,为什么Ta的好评最多?

    暑假悄然而至,漫长假期在家是不是有点无聊呢?笔者最近以合适的价格新入手一款平板电脑荣耀平板V6,借此打发日常大多数闲暇的时间,出于好奇心,在拆箱开机之后对它的性能配置以及功能进一步深入了解,最终发现笔者得到的是一款平板电脑性价比排行还不错的智能平板。具体如何不错?请看下文讲解。荣耀推出的这款旗舰级平板电脑荣耀平板V6采用了自主研发的5G芯片麒麟985,从技术上来说超越了大多数智能设备生产厂家,而且这款芯片?

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签