作者:AJITKUMAR
译者:姜雨生
原文出处:WHATSTATSSURVEYSARESAYINGABOUTTOPPROGRAMMINGLANGUAGESIN
编程语言是人们指导或控制机器的工具,其开发目的在于让操控机器的过程更加简单和顺畅。正因如此,数百种编程语言应运而生。然而,它们的命运却各不相同。一些语言已不复使用,或将在未来几年淘汰。相应地,一些语言将会被充分使用,还有一些崭新的编程语言正在逐渐被人们所接受。本文选取真实可信的调查、统计数据、搜索结果以及薪资等数据,预测年编程语言的发展趋势。这篇文章将帮助初学者选择适合自己的入门语言,并指导资深人士在切换语言和继续使用当前语言之间作出选择。
我通过两个表格总结了过去五年间编程语言的潮流趋势。相关数据来源于—年StackOverflow的调查结果。为了帮助读者更加准确地理解,我将编程语言分为两组,第一组是年以前推出的编程语言,第二组是年以后推出的语言。虽然选择年作为划分界限是随机的,但这对于理解两组语言的发展趋势非常有帮助。表格还列出了这些编程/脚本语言的起源年份与主要用途。
观察结果
从年到年,除了Python以外,所有语言的流行度都在下滑。
Python
Python是过去五年以来唯一不断上升的语言。它是一种通用语言。如果有人希望在年只学习一门编程语言,并想涵盖更多的软件开发领域,可以选择Python。
Java
Java一直在上升,但在年有所下降,原因是Kotlin在Android平台上的普及。Java现在属于Oracle,而谷歌正在推广Kotlin,因此Java面临着很大的挑战。事实上,由于其开发人员基础、框架和遗留应用程序,大量正在使用Java的公司仍会继续使用Java。
C/C++
C和C++仍占有约20%的比例,由于其固有的功能和遗留系统,它将会一直存在。
JavaScript
JavaScript的受欢迎程度,可归因于流行的JavaScript库和node.js等框架的发展。JS是动态网站的语言。由于其活跃的开发者、Mozilla的支持以及对库和框架,它将成为未来几年开发人员的首选。如果有人想要进行Web开发,Javascript几乎是必备的。
R
由于数据分析的增长和普及,近年来,R越来越受欢迎。但与作为通用语言的Python相比,它落后许多,因为Python拥有大量数据科学库和模块的活跃开发人员。因此,如果必须选择一个,可以选择Python而不是R。但如果你希望在数据科学中有所建树,那么同时学习两门语言将是最理想的选择。
RUBY
与PHP一样,Ruby作为建立后端Web开发的编程语言,也面临来自JavaScript甚至Python的竞争压力。因此,对于Web开发来说,Javascript和Python将是一个不错的选择,并将提供比Ruby更好的灵活性。
PHP
年,PHP的流行度急剧下降,这可以追溯到服务器端对Javascript和Python的接受。但如果有人想要进行服务器端Web开发,PHP仍是一个很好的选择,因为它有大量流行的框架,如CakePHP,Codeigniter等。对于其他类型的开发,选择通用编程语言会更好。
OBJECTIVE-C
在Apple转向到Swift之前,Objective-C是Apple软件(如MacOS,iOS等)的主要语言。根据流行程度数据,Objective-C的受欢迎程度在下降,而Swift则在上升。因此,如果有人想成为Apple的开发者,Swift应该是首选语言。
观察结果
Swift
Swift已经取代了Objective-C作为Apple相关软件和应用程序的主要语言。由于苹果公司的支持和推广,从诞生到现在,它的受欢迎程度不断提高,而且苹果公司还将继续推广,所以如果有人正在寻找苹果公司特有的开发工作,那么Swift将是他必须知道的编程语言。这门语言主要针对特定的供应商和产品,所以很少在苹果生态系统之外使用。
GO
Go(Golang)在维护、使用和推广方面越来越受到Google的欢迎。其开发目在于解决一些流行语言的问题,并吸收各种语言的精华。自年以来,Go的人气不断上涨。在谷歌的支持下,它还将持续这一趋势。在未来几年,Go将变得越来越易用,因此可以选择Go作为一门新的学习对象。
KOTLIN
Kotlin正在成为替代Java的Android开发语言,它也受到了谷歌的支持和推动,逐渐受到开发者的青睐,在近年来越来越受欢迎。随着Android的发展,Google的支持,它将成为Android开发人员和学习者的理想选择。Kotlin将成为Android开发中的一门杰出的编程语言。
SCALA
Scala在试图替代Java,然而在开发人员中并没有取得很好的效果。它没有来自任何跨国公司的大力支持,被认为是一种函数式语言,对JVM的依赖并没有提供太大的普及空间。它可能会有稳定的增长,但速度很慢,并且肯定不是初学者学习语言的好选择。
JULIA
Julia旨在拥有C语言的速度和Python的简单。奇怪的是,它在Stackoverflow的调查中并没有受到