世界上一共有多少种编程的语言?我们先试着数一下: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. 编程语言排名的长期趋势
我们先看一下目前排名前十名的编程语言近15年的热门程度。
Java和C语言牢牢把握住了排名前两位,并把其它语言远远甩在后面。2005年的时候,C语言一度超越了Java成为第一,然而也就是一眨眼的功夫,C语言又被重新反超。相同的事情发生在2013年和2015年。
C++在十几年前,和前两名的Java及C语言都有得一拼,然而在2005年时,它跌入了第二军团,且十几年没有翻身。
想一直霸占排行榜榜首,难度有点大,也说明编程软件竞争激烈,更新换代非常快。
这张图大概反映了编程语言的演化历史,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君,酷爱Matlab和Python编程,擅长图像识别和多媒体处理。不定时po一些自己在科学、工程计算编程中总结的经验教训、小技巧、实用工具和好玩的东西,欢迎关注~