原创于【模棱博客】http://www.flammulina.com
这是当今科技驱动世界的常见说法。每个行业都从根本上被技术所改变,商业领袖正在将其作为公司的焦点。
这些技术的核心是编程语言。从来没有让开发人员更进步,编程语言是他们的超级大国。
这就是为什么我们正在寻找2018年最受欢迎和最有影响力的编程语言。对于有抱负的程序员,请考虑这是您的课程列表。对于当前的开发人员来说,这是一个提升技能并使自己在未来十年内获得宝贵价值的机会。
在考虑顶级编程语言时,需要考虑数百个指标,但我们关注的是一些最权威的指标:
Tiobe编程索引
几十年来,Tiobe(软件质量公司)已经生成了最流行的编程语言的索引。他们每月更新此列表,从全球数百个来源获取数据。有关如何计算Tiobe指数的更多信息,请参见此处。
Indeed.com
作为全球最大的求职搜索引擎,Indeed代表了对大多数按需编程工作的良好衡量。我们查看了Tiobe Index上前50种编程语言的职位空缺数量。
GitHub上
GitHub是当今使用的最大的代码存储库之一。每年他们都会创建一份年度回顾报告,分享有关其程序员社区的统计数据。我们引用他们的度量标准“Pull Requests Opened”作为语言流行度的另一个指标。
在本文中,我们还尝试预测编程语言的未来。我们使用各种各样的资源来预测增长最快的语言,最有影响力的语言以及最有可能失去知名度的语言(这会让您大吃一惊!)。当然,所有这些见解都有争议,但如果你想保持领先地位,它们值得考虑。
我们进入吧。以下是2018年最流行的编程语言,以及有关代码未来的预测。
最流行的编程语言
上图显示截至2017年12月最受欢迎的20种编程语言.Tiobe Index就像市场份额一样; 百分比是一种语言所占的“市场份额”。所有语言总计100%。
Tiobe的因素包括全球专业开发人员,培训课程和第三方供应商等。大部分信息来自分析搜索引擎结果。这是对Tiobe指数如何产生的解释。
小编也是一名从事了6年java开发的全栈工程师,花了近一个月整理了一份较适合18年学习的java干货,送给每一位学习java小伙伴,加java学习qq群领取:818464711
根据Indeed.com,该图表列出了最受欢迎的工作。我们从Tiobe Index获取了50种最流行的语言,并搜索了“(”语言名称“)Developer”。我们将语言的名称放在引号中,以使我们的结果更准确。
有意义的是,最流行的语言拥有最多的职位空缺。然而,在前20名中看到不太受欢迎的语言(如Apex(Salesforce母语))很有意思。这可能表明这些语言的受欢迎程度呈上升趋势。
Github年度回顾 为我们提供了来自社区的15个拉取请求。拉请求是正在写入的代码量的指示符。
根据OSS-Watch的说法,“拉取请求是一种向开放式开发项目提交贡献的方法。”Javascript在GitHub上占有很大的空间,拉动请求的数量是第二领先语言的两倍多。
2017年,Python通过pull请求超越Java成为第二大最流行的语言。更多关于Python的上升。
顶级编程语言,解释
是什么让顶级编程语言如此受欢迎?我们将深入研究五种顶级语言,以了解它们的使用方式以及人们喜欢它们的原因。
Java占据了至高无上的地位
根据Tiobe的说法,自从90年代中期创建以来,Java一直是最受欢迎的第一或第二语言。许多世界上最大的公司都使用Java来构建桌面应用程序和后端Web系统。如果你了解Java,你很可能不会急于工作!
Java有如此受欢迎的因素有很多:
可移植性 – 由于与平台无关的Java虚拟机(JVM),Java几乎可以在每个系统上运行。Java也是最流行的Android语言,因此绝大多数Android应用程序都是用Java构建的。
可扩展性 – 詹姆斯总督有一句名言:“当网络公司成长,他们成为Java商店”.Java是为了扩展性而构建的,这就是为什么它在企业和扩展初创公司中如此受欢迎(Twitter从Ruby转向Java以进行扩展目的)。由于Java是一种静态类型语言,因此使用较少的错误进行维护更快更容易。它也向后兼容,这意味着即使在发布新版本之后,旧版本的语言仍然可以完美运行。对于那些每次新版本出现时都会担心重写代码的企业来说,这是一个很大的缓解。
大型社区 – 由于拥有庞大的用户群,Java的普及有助于确保其未来的普及。借助庞大的Stack Overflow和GitHub社区,开发人员可以找到他们可能遇到的几乎任何问题的帮助。加上其可移植性,开发人员知道投资Java将长期支付股息。
如果您是Java开发人员,请查看Stackify Retrace和Prefix工具,以便准确了解代码的用途。
C编程语言
C是最古老,最流行的编程语言之一,这得益于其近乎通用的可移植性以及Tech最大品牌(包括Microsoft,Apple,Linux和Oracle)的早期采用。C也是汽车,电子和其他设备中嵌入式系统最流行的语言。从我们的手机到闹钟,我们今天接触的几乎所有内容都受到 – 不是直接用C语言编写的影响。
为什么它今天仍然是一种流行的编程语言?首先,它本质上是一种可移植的汇编语言。它几乎适用于所有系统,并且可以在尽可能低的机器上运行。
C还具有完全符合操作系统和嵌入式系统(如汽车仪表板)的功能。由于其相对较小的运行时间,C非常适合保持这些系统的精益。
任何程序员都将从学习C语言中受益。在线编写和共享的许多算法都是用C语言完成的。它本质上是编程语言的“通用语言”。像C ++和C#这样的C衍生产品也是前5种最流行的语言之一,再次强调了C今天仍然具有的影响力。
Python正在崛起
在过去的15年中,Python的普及率稳步上升,几年前终于打破了Tiobe指数的前5名。这是因为Python是当今一些最令人兴奋的技术中的主要语言。机器学习,人工智能(AI),大数据和机器人技术都严重依赖于Python(Robotics也依赖于C在系统编程中的应用)。网络安全是我们这个时代最重要的软件挑战之一,也是由Python推动的。
令人惊讶的是Python的简单学习方式。它现在是大学中最受欢迎的入门语言,经常被经验丰富的开发人员选为第二或第三语言。
JavaScript继续占主导地位
由于无处不在的Web浏览器,JavaScript已经成为世界上最流行的编程语言之一,并且在拉取请求方面在GitHub上排名第一。JavaScript有一些值得注意的抱怨(稍微更多内容),但JavaScript已经针对较新的语言保持自己的地位,并将继续在网络上发挥重要作用。
JavaScript允许开发人员向网页添加交互式效果。它通常与HTML一起使用,但是Web应用程序完全用JavaScript构建变得越来越普遍。由于其简单性和速度,更多初创公司和技术企业开始通过Node.js框架在后端使用JavaScript。
Ruby是初创公司的最爱
Ruby是科技创业公司中最受欢迎的语言之一。许多硅谷独角兽都建立在Ruby之上,包括Airbnb,Twitch,GitHub和Twitter。Ruby on Rails是一个运行Ruby的全栈Web应用程序框架,它的受欢迎程度得到了支持(也许可能依赖于它)。
出于多种原因,Ruby深受开发人员的喜爱。首先,Ruby有一个非常简单的漂亮语法,允许开发人员用更少的代码完成更多工作。其次,感谢Ruby on Rails,让Web应用程序正常运行所花费的时间比其他框架要少。这就解释了为什么初创公司如此喜欢这种语言:它使着名的创业公司咒语“快速行动,破坏事物”。
Ruby的缺点是它的可扩展性。Ruby是一种动态类型语言,它使其非常灵活,适用于原型,但难以大规模维护。随着Ruby应用程序的增长,该语言的动态特性掩盖了代码错误的来源并占用了计算资源。这就是Twitter从Ruby切换到Java的原因。
“TWITTER最初是使用RUBY构建的,但是切换到了JAVA,因此它们可以更容易扩展”。摄影:AARON DURAND
2018年编程语言预测
现在,我们已经在最流行的编程语言看起来现在,我们要采取预测什么来在2018年及以后的自由。
根据前几年的趋势,我们相信顶级编程语言列表每年的变化不会那么大。但风在哪里?让我们试着瞥一眼未来。
增长最快的语言
每年,Tiobe指数都将增长最快的语言称为“年度语言”。最近的获奖者是Go(2016),Java(2015)和JavaScript(2014)。
Tiobe将在接下来的几周内获得新的年度语言,但他们的网站上说候选人是Kotlin和C.这是一个有趣的二分法,C是最古老的语言(1987年),Kotlin是最新的语言(2011年) 。让我们看看每种语言。
Kotlin
2017年对于JetBrains的静态类型编程语言Kotlin来说是重要的一年。除了接收良好的印刷机之外,Kotlin还被命名为Android平台的官方开发语言。这是一个巨大的推动力; 根据StackOverflow的说法, Android不仅是最受欢迎的移动开发平台,也是Windows桌面和Linux背后第三大最受欢迎的开发平台。
Kotlin受欢迎程度有几个原因,其中最重要的是它与Java的100%互操作性以及运行在Java虚拟机上的事实(Java是另一种官方Android语言)。Kotlin还编译成JavaScript,使其在前端和后端开发方面都非常通用。期待在接下来的几年中听到更多有关Kotlin的信息,如果可能的话,请花些时间将它添加到您的曲目中(这非常简单)。
C编程语言
我们已经讨论过为什么C几乎可以运行这个世界,但是这个最新推出的受欢迎程度背后的原因是什么?就像我们之前提到的,C是嵌入式系统的完美语言,坦率地说,如今所有的东西都变成了嵌入式系统。C是物联网设备的顶级编程语言之一,包括可穿戴设备和汽车仪表板。随着越来越多的产品变得“聪明”,我们将看到C的使用继续扩大。
最有影响力的编程语言
编程语言的普及是一回事,但哪些语言在未来几年中影响最大?
确定某种语言是否具有“影响力”的一种方法是查看基于它构建的技术(参见Python和C)。另一种方法是查看语言解决内在软件问题的能力。为了开拓新局面,让我们关注后者的定义。
我转向软件工程师和编程语言爱好者Jake Ehrlich,感谢他对最有影响力的编程语言的看法。
“个别问题往往比任何一种特定语言都更有影响力,”埃利希说。“现在我们面临的最大问题是摩尔定律的终结。”
摩尔定律表示,计算能力将每18个月翻一番,并且几十年来第一次,计算机芯片制造商无法跟上步伐。这意味着软件开发人员需要找到一种方法来制作具有相同计算处理能力的强大Web应用程序。
Ehrlich引用的另一个硬件问题是功耗。“电池并没有变得越来越好,”Ehrlich说道,尽管越来越多的设备在它们上运行。“所以现在我们需要制造尽可能节能的硬件和软件。”
Ehrlich建议,解决这两个挑战的一个解决方案是使用本地语言。“事实证明,提高速度和响应能力的同类功能也使我们能够编写更节能的代码。”
Ehrlich认为,随着硬件试图赶上,我们将看到像Go,Swift,Rust等本土语言的转变。
“WEBASSEMBLY为开发人员提供了更多的WEB选择,可能会损害JAVASCRIPT的重要性。”
JavaScript失去意义?
我还问过艾利希他认为在2018年开始失去意义的语言。
“哦,这个很容易,”他说。“JavaScript的。”
在过去的几年里,Javascript已经上升到圣经的流行程度,所以很容易说语言的轨迹无处可去但却有所下降。
但还有其他因素与JavaScript相悖。首先,Ehrlich说,WebAssembly的改进为开发人员提供了更多的语言选择。
“许多语言很快就会有WebAssembly后端,”Erhlich说。“之后JavaScript将开始消亡,因为人们将使用他们的首选语言进行客户端Web开发。”
尽管后端使用的JavaScript越来越多,但基于JavaScript的软件并不多。“与C,C ++,Java,C#,PHP不同,……不会留下那么多的遗产,”Ehrlich说。
再加上JavaScript使用起来令人困惑,只要有更好的Web选项可供使用,开发人员就会跳槽,这也就不足为奇了。