TIOBE世界编程语言排行榜展现了编程语言的流行趋势,每 个月,都有最新的数据被更新。这份排行榜的数据取样来源于互联网上富有经验的程序员、商业应 用、著名的搜索引擎(诸如谷歌、 MSN 、雅虎)的关键字排名、 Alexa 上的排名等。这个排行榜只是反映了某个编程语言的热门程度,并不代表它是一个最好的编程语言。以下是2009年4月份的榜单:
本学期的Java课程快要讲完了,我一直认为学生如果只是闷头闷脑的学习一门语言(或一门课程)本身,容易一叶障目,需要抬起头纵观业界的一些流行趋势, 了解当前业界流行的编程语言现状,以便把握未来方向。所以我平时也比较注重在课堂上给大家讲一些计算机界的历史发展、IT业界商战故事和当前热点动态。备 课时查了点资料,TIOBE世界编程语言排行榜展现了编程语言的流行趋势,每个月,都有最新的数据被更新。这份排行榜的数据取样来源于互联网上富有经验的 程序员、商业应用、著名的搜索引擎(诸如谷歌、 MSN 、雅虎)的关键字排名、 Alexa 上的排名等。请注意这个排行榜只是反映了某个编程语言的热门程度 , 这并不代表它是一个最好的编程语言或是可以写出某些令人称赞的好程序。 以上转自:caisu.blog.sohu.com/115894108.html ———————————————————————— 类型定义:系统语言通常是强类型和静态类型定义。这就意味着所有变量的类型要在程序中指定,在编译时检查。相反地,脚本语言是最松散的类型定义,完全没有类型声明,并且在运行时进行动态类型检查。 通常,脚本语言,更易学,如果学过c或者c++那么学脚本语言,一个月应该能做点什么。书写方式灵活。 执 行:系统语言的特点是编译的。程序被编译成可执行的二进制。另一方面,脚本语言的特点是解释,也就是,指令被立即执行,不存在一个编译的中间状态。这就意 味着脚本语言是交互式的(你可以在提示符下敲入命令,并且看到结果),这是另一个巨大的胜利。这样完全将编译过程从编辑-编译-运行循环中去掉了。 对工具的依赖更低了,对系统的要求更低了,用记事本就可以写程序了,调试更简单。 速 度:以上三点是脚本语言一方面在速度与效率, 一方面在易用性与表示式的强大性之间进行折衷的典型例子。这就使得脚本语言的执行速度比系统语言慢一个数量级。这就是对脚本语言诽谤最多的方面。性能的降 低不是真正的问题,因为思想是用脚本语言来组合组件,这些组件是用象C 这样的快速系统语言来编写的。所以所有需要运行快速的东西将因为是用快速的语言实现的而运行得快速。脚本语言只用于将东西绑在一起,并且这些通常不是性能 的瓶颈。执行速度上,当然是编程语言更快,不过做web项目,当然是脚本语言,没见过人用c++写。但是,如果执行速度成为瓶颈的话,脚本语言也可以编译成二进制的。比如perl,使用mod_perl进行优化的话。效率可以提高10倍。 以上转自:blog.myspace.cn/e/400801132.htm ———————————————————————— Java,C#是C++后出现的语言,C/C++也是比较早的语言。Java的开发工具有JBuilder、JCreator、Eclipse等,C#的开发工具就是微软的Visual Studio系列,C/C++的开发工具有VC、BCB等。 Java、C#和C++各有个的优点,C++兼容性好,不依赖平台,Java、C#依赖各自的虚拟机(C#的虚拟机是。net framework)运行,离开了虚拟机便不能运行;Java、C#开发效率高;C++运行效率高但是开发比较麻烦。 C/C++:开发追求效率的软件,未来主要的发展方向是嵌入式开发还有一些系统驱动之类的开发。C/C++因为有指针、句柄等存在,所以很灵活(比如可以直接对内存进行操作),比较适合低层程序的开发。 Java :号称“Write once,run anywhere”,之所以说它的可移植性强,是因为它是运行在jvm上的,jvm可以安装到任何的系统。( c++不是不能在其他系统运行,而是c++在不同的系统上运行,需要不同的编码,这一点不如Java,只编写一次代码,到处运行) 现在用的人最多,国内大多数都是做的J2EE。 C#:Windows平台的应用软件,出现的目的只是为了与Java竞争。 实际运用往往根据需要选择,除非是做底层类库开发一般不选C++,因为它开发成本太高,还有用C++的是为了部署简单,例如网络游戏,为了避免每个用户都安装虚拟机就不选用Java或C#,除这些之外,一般选择开发效率较高的Java、C#,这样可以降低公司的开发成本 另外有blog把开发语言比作信仰,很有意思。如下:
原文来自If programming languages were religions,很有意思,可以从宗教的角度来看看各种常见语言的特点。(这里丝毫没有要找出不同语言优劣的意思,每个人都有信仰自由)C是犹太教——很古老而且戒律很多,但大多数人都熟悉并尊重其戒律。问题是很难皈依它,你要么开始就信仰它,要么会认为它简直太疯狂了。而且,一旦事情出了差错,人们就会怪罪于它。 Java是正统基督教——理论上来说它基于C,但它去掉了很多老的戒律,以至于跟原教旨已经大相径庭。另外,它新加了一套严格的教义,追随者们相信这些比原来的教义更为重要。他们认为这是世界上最好的语言,而且会将所有的异端烧死在刑柱上。 PHP是Cafeteria基督教——与Java在Web开发领域进行竞争。它引入了C和Java的一些概念,但只限于它所喜欢的。也许它不像其它语言那样条理清楚,但至少给你了更多自由,看起来还算一个整体。而且不会有下地狱(goto hell)这样的说法。 C++ 是伊斯兰教——来源于C,不仅保持了后者的戒律,还变本加厉加入了一套新的复杂戒律。它是如此地多才多艺,可用于构建任何事物,从弥天大罪到美丽的艺术 品,追随者们相信它才是终极语言,并会被持不同意见的人激怒。更可怕的是,如果你冒犯了它或者是它的创始人,你的生命都会受到威胁。 C#是摩门教——乍看之下,它跟Java一样,不过仔细一看就会发现它被单一组织所控制(很多Java的追随者将其视为恶魔),而且很多概念都不相同。你在暗忖,它也许不错吧,呃。。。希望你不会被Java的追随者们歧视。 Lisp是佛教——没有语法,没有核心教义,也没有让人膜拜的神。就看你的造化了——需要你有足够的悟性。有人说它压根儿就不是一门语言,有的人却认为它是唯一有意义的语言。 Haskell是道教——与其它语言差别太大,以至于很多人怀疑它到底能做什么。其追随者相信它才是通往智慧的正道,只是这些智慧为大多数世俗之人力所不及。 Erlang是印度教——又一种奇怪的语言,看起来没什么用处,但不像大多数其它的现代语言,它建立在“同步之神”的基础上。 Perl是巫毒教——一套神秘的、难以理解的咒语,会让你的灵魂永久地堕落。老板在周五晚上九点吩咐你一项紧急任务,这时就得靠它了。(想起兽族部落的巫毒商店,而且它与萨满教有些类似) Lua是巫术——一种泛神论的语言,容易与不同文化和地区相融合。它的代码非常自由,其中的一些技术在传统语言的用户看来是不可思议的。它与月亮有紧密的联系。 Ruby是新异教主义——不同语言和理念的混合体,可以被看作是一种语言。其支持者群体成长迅速,尽管很多人面带疑色地看着他们,但基本上他们还是善良的,无意于伤害他人。 Python是人文主义——简单、自由,它只需要你具备常识。很多追随者声称,Python帮助他们卸下了其它语言带来的担子,从而再次找到编程的乐趣。有些人还说它就是一种伪代码。 COBOL是古异教主义——很久以前,它曾经统治着大片地区,现在却差不多死掉了。尽管很多人都在其神的仪式中留下了伤疤,直到今天仍然有人追随着它。 APL是山达基教——尽管有很多人声称要追随它,但你总会怀疑它是一个大大的恶作剧。 LOLCODE是阿里乌斯教——它很神秘,产生于互联网,尽管有人在努力地开发和散布,但没人会对它当真。 Visual Basic是撒旦教——可惜你并不是真的需要将灵魂出卖。。。。 |
转载请注明:学时网 » 分析总结理解各种编程语言排行与区别