2008年12月TIOBE编程语言排行榜发布,在前十名的榜单中,PHP上升一位,排名第四;C#上升一位,与上月排名第六的Python交换位置;Javascript上升一位,排名第九;Delphi下降两位,排名第十。本期榜单中,前三甲依然被Java、C、C++牢牢占据。
这是2008年TIOBE编程语言排行榜的最后一期,C和C++由于连续多月的强劲表现,可能成为2008的年度语言候选。
C语言
自1978年贝尔实验室正式发布C语言以来,C以简洁紧凑的风格,面向过程的编程方式,丰富的数据结构和强大的底层控制能力获得迅速发展到上世纪80年代,C语言已经成为最受欢迎的编程语言;许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的的威力,象PC- DOS 、Linux等就是用这种方法编写的;到上世纪90年代,C已经成为计算机专业学生的首选教学语言,并成为一代程序员主要工作语言。
90年代中期,随着PC的普及和C++等面向对象语言的出现,人们渐渐把视线转移到PC应用软件上,程序员们也开始习惯用面向对象这种更高级方式思考和解决问题;大家对C强大的底层控制能力失去兴趣,因为那些复杂的代码已经可以交给编译器去实现,底层的操作已经完全可以交给类库和操作系统API去进行。C语言逐渐失去了主流编程语言的位置。
进入21世纪,随着个人电子消费产品和开源软件的流行,C语言再次焕发生机。由于C在底层控制和性能方面的优势,使之成为芯片级开发(嵌入式)和Linux平台开发的首先语言;在通信、网络协议、**、3D引擎、操作系统、驱动、单片机、手机、PDA、多媒体处理、实时控制等领域,C正在用一行行代码证明它从应用级开发到系统级开发强大和高效。
C++
C++
上世纪80年代初,贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士发明并实现了C++(当时叫C with Classes,有类型的C语言),一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性:虚函数、运算符重载、多重继承、模板、异常、名字空间(这些特性在今天看来每一项都如此熟悉),80年代末,C++开始以一门面向对象语言的高级语言的独立姿态出现在程序员面前,大家被面向对象的编程思想打动,发现原来需求中的问题可以如此脉络清晰,程序设计也可以如此简单高效;更重要的是,C++在效率和平台方面并不比C差(C++与C的效率往往相差在正负5%之间,有人认为在大多数场合C++ 完全可以取代C语言)。面向对象的编程思想开始席卷整个开发领域,标准模板库(STL)和微软的VC++平台推波助澜,C++开始流行起来。
1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 14882-1998。C++成为有国际标准的编程语言。但由于长时间的演变和改进,C++变的过于复杂和庞大,即使有多年C++开发经验的程序员也不能完全掌握整个C++体系;直到现在,只有少数几个编译器能完全符合这C++的ISO标准(严格的说,事实上,至今为止没有任何一款编译器完全支持ISO C++)。
90年代中期到本世纪初,由于Java、C#等新一代面向对象语言的出现和硬件成本的降低,C++受到了很大的冲击,多数C++程序员开始选择迁移到Java这样更简洁先进,学习成本更低,社区支持更好的平台,C++在系统级开发和应用软件领域的王者地位也每况愈下。
这样的情况在08年有所改观。从TIOBE编程语言排行榜上看,自今年4月起,C++开始强势反弹,在9月重新跻身前三甲,并牢牢占据第三名的位置达四个月之久。与Java、C#相比,C++在效率方面的优势是基于虚拟机编译的语言无法比拟的。时至今日,C++依然是系统底层、服务层、游戏开发等面向高效的系统级应用开发的强者。
这样的情况在08年有所改观。从TIOBE编程语言排行榜上看,自今年4月起,C++开始强势反弹,在9月重新跻身前三甲,并牢牢占据第三名的位置达四个月之久。与Java、C#相比,C++在效率方面的优势是基于虚拟机编译的语言无法比拟的。时至今日,C++依然是系统底层、服务层、游戏开发等面向高效的系统级应用开发的强者。
长期趋势
其他编程语言
排名21到50的编程语言,排名第29位的Erlang语言以并发和多核计算擅长,在提倡云计算的今天值得我们关注。
| Position | Programming Language | Ratings |
|---|---|---|
| 21 | ActionScript | 0.490% |
| 22 | MATLAB | 0.483% |
| 23 | FoxPro/xBase | 0.395% |
| 24 | Fortran | 0.389% |
| 25 | Ada | 0.386% |
| 26 | Transact-SQL | 0.342% |
| 27 | Prolog | 0.272% |
| 28 | RPG (OS/400) | 0.247% |
| 29 | Erlang | 0.241% |
| 30 | NXT-G | 0.230% |
| 31 | Awk | 0.228% |
| 32 | LabVIEW | 0.209% |
| 33 | Haskell | 0.187% |
| 34 | ML | 0.184% |
| 35 | Objective-C | 0.155% |
| 36 | Focus | 0.155% |
| 37 | Groovy | 0.149% |
| 38 | Smalltalk | 0.144% |
| 39 | Euphoria | 0.143% |
| 40 | CL (OS/400) | 0.142% |
| 41 | Alice | 0.140% |
| 42 | Tcl/Tk | 0.140% |
| 43 | Scala | 0.129% |
| 44 | Caml | 0.124% |
| 45 | Bourne shell | 0.123% |
| 46 | Q | 0.108% |
| 47 | Forth | 0.106% |
| 48 | Natural | 0.104% |
| 49 | APL | 0.089% |
| 50 | R | 0.086% |
下面是排名51-100的语言:
ABC, AD, Algol, Alpha, Applescript, AspectJ, Beta, Boo, C shell, cg, Ch, Clean, cT, Curl, Dylan, Eiffel, Factor, Felix, Fortress, Icon, IDL, Inform, Io, Lingo, MAD, Magic, Maple, Mathematica, MOO, MUMPS, Occam, Oz, PILOT, PL/I, Postscript, PowerBuilder, PowerShell, Progress, REALbasic, Rebol, Revolution, REXX, S-lang, SIGNAL, SPSS, SuperCollider, VBScript, Verilog, VHDL, XSLT
编程语言类别
下图给出了编程语言类别的一年变化趋势,我们可以看到面向对象语言和函数式语言的一些变化
| Category | Ratings December 2008 | Delta December 2007 |
|---|---|---|
| Object-Oriented Languages | 55.7% | +1.2% |
| Procedural Languages | 40.4% | +0.1% |
| Functional Languages | 2.8% | -0.7% |
| Logical Languages | 1.2% | -0.6% |
| Category | Ratings December 2008 | Delta December 2007 |
|---|---|---|
| Statically Typed Languages | 59.8% | +4.3% |
| Dynamically Typed Languages | 40.2% | -4.3% |
转载于:https://blog.51cto.com/hong7/120093