哪种编程语言最值得花时间学习?

世界上一共有多少种编程的语言?我们先试着数一下:Java, C, Python, VB, Matlab, Fortran, LabVIEW…只是随便一说,就脱口而出这么多如雷贯耳的编程语言。

然而我们的时间和精力终究是有限的,充其量只能把少数几种语言学的精通,那么究竟学习哪种编程语言最好呢?3M君在这里基于TIOBE编程语言排行榜,为大家详细分析一下。

TIOBE 编程语言社区排行榜是互联网行业内一个著名的网站。它每个月更新一次,给出编程语言的流行趋势。排名采用著名的搜索引擎例如谷歌、MSN、雅虎、维基百科、YouTube等进行计算。

这个排行榜可以用来检查你的编程技能是否与时俱进,也可以在学习新编程语言时作为一个选择依据。(以下软件logo来自网络,表格数据来自http://www.tiobe.com/tiobe_index)

1. 编程语言排行榜Top20榜单

表中第一列是目前最新的排名,第二列是一年前的排名,第三列是目前跟一年前相比排名的变化趋势。

第1名:Java

Java是编程语言的头牌红人。它是一门面向对象的编程语言,简单易用、开源免费、语言结构严谨、运行效率高,适合快速开发网站。利用这些优势,它在第一次互联网浪潮兴起时,成功地抓住了大趋势,站上了风口。

Java在计算机史上影响深远,它在吸收C++语言各种优点的同时,摒弃了C++里复杂的指针、继承等概念。它能很好的实现静态面向对象编程,并可以把复杂的编程用优雅的方式表现出来。

第2-4名:C/C++/C#

C语言通过干掉晦涩的汇编语言上位,赢得了当时程序员的欢心。因为出名较早,许多C语言程序在企业或研究所里面一直默默的传承,至今还有很多人使用,真是出名要趁早啊。

用C语言编写较复杂程序时,程序员需要考虑的东西很多,很容易出错、效率也比较低,于是就产生了C++。C++在C的基础引入了对象的概念,但代价是增加了编译器的复杂程度。

Java的崛起意味C和C++的日渐衰败。为了和Java相抗衡,微软公司新推出了C#。那个#号看起来像不像四个+号?暗示C#是把C++升级到C++++。C#和Java类似,是面向对象的高级程序设计语言,继承了C/C++的许多方面的特点,同时去掉了一些C/C++的复杂性。

第5名:Python

Python是一颗耀眼的新星,是当前脚本的标准。Python很容易学习,因此无处不在使用它。它是一种代表极简主义的语言,有非常简单的语法。使你把精力集中于解决问题,而不是去编程本身。在科学计算方面,Python在性能和方便程度上,大有取代Matlab地位的趋势。

第6名:PHP

PHP的中文名叫做超文本预处理器,是一种通用开源脚本语言。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法,可以更快速地执行动态网页。PHP使用广泛,主要适用于Web开发领域。

第7名:JavaScript

3M君第一次接触Javascript的时候,还以为它是Java的变种呢。其实,Java与JavaScript是由不同公司开发的不同产品。Java是SUN公司推出的面向对象的网络程序设计语言,适合开发网络应用程序。而JavaScript则是Netscape公司为了扩展浏览器的功能而开发的产品。JavaScript是一种网络脚本语言,常用来为网页添加各式各样的美观浏览效果和动态功能,被广泛用于Web应用开发。

第8名:Ruby

Ruby是一门年轻的、面向对象编程和面向对象程序设计的脚本语言。近年来发展迅猛,号称有取代头牌红星Java的趋势。Ruby和Perl及Python两类语言属于一个大类,与C,C++,C#,java是不同大类。

第9名:Perl

Perl 被认为是一种拥有各种语言功能的梦幻脚本语言。最重要的特性是内部集成了正则表达式的功能。Perl追求的是也是极简主义,解决一般的问题它用几行代码就可以完成,稍复杂的问题代码也不会超过一屏。但正因为Perl的灵活性,许多Perl程序的代码令人难以阅读。

第10名:Visual Basic .NET

Visual Basic.NET是基于微软.NETFramework之上的面向对象的编程语言。Visual Basic .NET语法特点是以英文单词为基础标识,以及与自然语言极其相近的逻辑表达。

2. Top21-50编程语言排名

下面是排名20到50的编程语言:

3. Top50-100编程语言排名

下面是排名50到100的编程语言,那画面太多我不敢看:

(Visual) FoxPro, 4th Dimension/4D, ABC,ActionScript, APL, Avenue, BBC BASIC, bc, Bourne shell, C shell, cg, CL(OS/400), Clojure, Common Lisp, cT, Elixir, EXEC, Forth, Hack, Icon, IDL,Inform, Io, J, Julia, Korn shell, Mathematica, Mercury, ML, Moto, MQL4, MS-DOSbatch, NATURAL, NXT-G, OCaml, OpenCL, Oz, PL/I, PostScript, PowerShell,Programming Without Coding Technology, Pure Data, Smalltalk, SPARK, Stata, Tcl,thinBasic, Verilog, VHDL, Z shell

4. 编程语言排名的长期趋势

(1) 排名前十名编程语言的热度

我们先看一下目前排名前十名的编程语言近15年的热门程度。

Java和C语言牢牢把握住了排名前两位,并把其它语言远远甩在后面。2005年的时候,C语言一度超越了Java成为第一,然而也就是一眨眼的功夫,C语言又被重新反超。相同的事情发生在2013年和2015年。

C++在十几年前,和前两名的Java及C语言都有得一拼,然而在2005年时,它跌入了第二军团,且十几年没有翻身。

(2) 编程语言排行榜每年的年度冠军

想一直霸占排行榜榜首,难度有点大,也说明编程软件竞争激烈,更新换代非常快。

这张图大概反映了编程语言的演化历史,Ruby被不少人看好。

(3) 目前排名前十名编程语言的崛起历史

Java在1996年崛起,并在几年间迅速攀升至第一。C和C++语言是老牌强者,一直被追赶,只被Java超越过。C#仍然没有追赶上Java的脚步。Python在2001年崛起。

再看看曾经的强者Lisp和Ada,目前排名已跌出了前20名。在互联网界里,逆水行舟,不进则退啊。

5. 科学计算的编程语言

最后,让我们看看适合科学计算的编程语言的排行情况。

(1) 科学计算中最热门的两种编程语言里,Python目前排名第5,远超Matlab,也许是因为Python不光可以用来科学计算还可以干别的。Matlab排名只在18,是时候该学点Python了!

(2) 适合做统计的编程语言中,R语言不出意外上榜了。R内置多种统计学及数字分析功能,且绘图时可直接加入数学符号,比其他统计学编程语言有更强的面向对象功能。

另外上榜的还有统计三剑客软件之一的SAS,至于三剑客之二的SPSS和State没上榜也许是因为它们只是界面操作。

(3) C和Fortran这哥俩,编程语句不如Python和Matlab简洁。但大学课程里,一般会把他俩作为编程课的第一门语言,所以熟悉它们的人最多。

很多老一辈都用这个编程,可能工作第一天的时候,老前辈们会扔你一个C或者Fortran写的千行甚至万行代码。我猜你是不会闲的蛋疼把他们翻译成Matlab语句的(有那个时间不如去看欢乐颂呢),只能在前辈们的C或Fortran基础上继续发扬光大。

C除了做科学计算之外还可以干点别的,因此总排名一直在前面,而Fortran只能做科学计算,已经被其他科学计算软件远远抛在了后面。当复合型人才的重要性啊。

(4) 不过呢,请注意上面排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

没有最好的编程语言,只有最适合自己、最适合待解决问题的编程语言。

(END)


科学计算编点程 3M君,酷爱MatlabPython编程,擅长图像识别和多媒体处理。不定时po一些自己在科学、工程计算编程中总结的经验教训、小技巧、实用工具和好玩的东西,欢迎关注~ 科学计算编点程 3M君,酷爱Matlab和Python编程,擅长图像识别和多媒体处理。不定时po一些自己在科学、工程计算编程中总结的经验教训、小技巧、实用工具和好玩的东西,欢迎关注~
经验分享 程序员 微信小程序 职场和发展