阅读更多

21顶
0踩

编程语言

转载新闻 蔡学镛:2008编程语言走势解盘

2008-02-02 16:00 by 副主编 QQbyte 评论(33) 有16679人浏览
农历新年前,许多大师或老师会对名人、股市、甚至国家的运势做出各种分析,这倒是让我灵光乍现,想利用这段时间概略地分析今年编程语言的可能发展。

Java类语言:Java似乎会逐渐走下坡。J2ME会受到Google Android、Adobe Flash Lite、.NET Compact Framework的影响;J2SE的对手则是.NET和AIR;J2EE在中小型网站受到PHP、Ruby-on-Rails(RoR)很大的冲击。幸好,目前大型企业好像还是买J2EE的帐。

在J2ME和J2SE方面,未来似乎可以用JavaFX奋力一搏;在J2EE方面,也有Groovy/Grails可以抵挡RoR。尤其目前大家怀疑PHP和RoR只适合用在中小型网站,大型企业网站似乎还是用J2EE比较安心,Groovy/Grails可以保障大家在J2EE上既有的投资。如果你是Java爱好者,最近有点想改用RoR,那么你可以去看看Grails,或许你会因此想继续留在Java阵营。

PHP语言:因为PHP对初学者相当友善,所以过去这几年使用者数量增加快速,但是似乎已经到达瓶颈,这可能是RoR造成的。随着RoR推出新版,PHP会受到更大的挑战。连开发工具厂商CodeGear都在2007年推出Ruby和PHP的开发工具,显见这两个语言似乎都会逐渐走入企业市场。

Python语言:Python早就移植到.NET和Java,2008年会持续推出修订版本,而且也会推出全新的Python 3000。Python 3000不以相容于2.x版为目的,而是要运用过去培养出来的经验,彻底翻新Python。目前Python编程员的需求也已经超越Perl。

Perl语言:目标远大是一件好事,但目标远大却没有足够的资源可以完成目标,就会陷入绝境。Perl 6就是这样的例子,它比.NET更早提出,但这几年下来,.NET已经从1.0进入到3.5,Perl 6却连1.0都还没诞生。Perl擅长文字数据处理,但是在大部分语言都支持Regular Expression,加上文字数据大量XML化之后,Perl的优势已经消失大半。

Ruby语言:Ruby可能会在2008年推出2.0,加上2007年底已经推出的RoR 2.0, Ruby整个就是一股挡不住的气势。可能在2008年底之前,Ruby在TIOBE的排行榜上就会超越Perl,只剩下Python和PHP这两个对手了。

JavaScript语言:Web应用蔚为主流,而JavaScript又是浏览器的标准语言,所以这几年来相当受到重视。在Adobe推出AIR,Mozilla推出Prism之后,JavaScript可以开发出「某些种类」的桌面应用,JavaScript的用途变得更广。而JavaScript的兄弟ActionScript,随着AIR的推出又会更受欢迎一些,但是Silverlight的推出,又会抵销ActionScript成长力道。

C语言:系统语言方面,C语言的地位还是一样重要,C++则会慢慢走下坡;D语言崛起,将会接收相当多原来C++的使用者,而Delphi则是一蹶不振,当年Delphi/Kylix跨Windows/Linux的美梦已然消失。

D语言:多年来,D语言平均一个月推出两个版本,改版速度相当快,在2007年1月推出1.0版后,不出几个月,又推出2.0版。1.0版持续做bug修订,尽量不加新特色,2.0版则继续进行实验性的翻修。虽然D语言1.0才正式推出1年,但已经成为相当受欢迎的系统语言,可惜至今仍然没有很好用的IDE。

Lua、PowerShell、Erlang语言:可说是未来几年窜升力道最强的潜力之星,但都还不至于成为主流语言。Lua是相当小的语言,适合嵌入其他的环境中,和其他语言一同使用,根据TIOBE开发语言排行榜数据显示,这几年Lua越来越受到重视,尤其2007年Lua更是往上猛窜二十几个名次,由此可见Lua的需求大增。随着Windows Vista系统的出货,未来几年PowerShell会成为相当重要的系统管理语言。目前的多核心环境、网络分布式计算、容错的需求,则让Erlang持续受到重视。

Roughly Drafted Magazine的报导指出,在2007年第三季,Apple iPhone在美国的Smartphone市场占有率已经到达27%,超过Windows Mobile。继美洲和欧洲之后,2008年iPhone会在亚洲开始贩卖,并推出第二代机种,也预计在2008年推出SDK(软件开发工具包),让我们可以为iPhone写原生(Native)程序。

所以,如果你需要为Smartphone开发应用,除了考虑Windows Mobile之外,你也必须思考是否要用Objective-C语言开发的MacOS应用了(iPhone使用精简版的MacOS X)。

转换语言的成本通常很高,所以一年之内,各个语言通常不会有太大的兴衰变化,这篇文章其实是描述以2008为中心,前后数年期间各类编程语言的整体状况;把时间拉长,发展态势会比较明显,不受到短期震荡的影响,预测未来就不至于太过离谱,让大家当作未来选择语言的参考。

作者简介:
蔡学镛-技术顾问
清华大学资讯工程硕士,曾任华硕集团软件工程师、元智大学信息系讲师、美商欧莱礼出版社技术编辑、台湾微软特约专栏作家
来自: cnoug.net
21
0
评论 共 33 条 请登录后发表评论
33 楼 zhoushudong 2010-05-06 03:14
你们连蔡学镛是谁都不知道,还乱评论,你们去看看他的书就知道他说的是不是近乎真理了
32 楼 force 2010-04-06 23:19
yztxlty 写道
作者简介:
蔡学镛-技术顾问
清华大学资讯工程硕士,曾任华硕集团软件工程师、元智大学信息系讲师、美商欧莱礼出版社技术编辑、台湾微软特约专栏作家

白这么一堆头衔出来害人!!

说得都是什么话,冲着自己是硕士就瞎忽悠人,用个醒目的标题来抢读者的视线!!!
鄙视这种胡说八道的行为,遗害初学者~~~~~~~
[/color]

yztxlty 写道
作者简介:
蔡学镛-技术顾问
清华大学资讯工程硕士,曾任华硕集团软件工程师、元智大学信息系讲师、美商欧莱礼出版社技术编辑、台湾微软特约专栏作家
[color=darkred]
白这么一堆头衔出来害人!!
说得都是什么话,冲着自己是硕士就瞎忽悠人,用个醒目的标题来抢读者的视线!!!
鄙视这种胡说八道的行为,遗害初学者~~~~~~~
[/color]

yztxlty 写道
作者简介:
蔡学镛-技术顾问
清华大学资讯工程硕士,曾任华硕集团软件工程师、元智大学信息系讲师、美商欧莱礼出版社技术编辑、台湾微软特约专栏作家
[color=darkred]
白这么一堆头衔出来害人!!
说得都是什么话,冲着自己是硕士就瞎忽悠人,用个醒目的标题来抢读者的视线!!!
鄙视这种胡说八道的行为,遗害初学者~~~~~~~
[color=olive][/color]

确实是
31 楼 DavidL 2008-02-28 09:27
另外,如果自己没做过什么大项目不要急着下结论。我搞过很多大的项目,包括OS,compiler,才了解到以前的自己的一些论断是错误的,真正搞过内核,搞过各种不同东西,了解很多之后,你的视野宽阔了,得出的结论就不同了
30 楼 DavidL 2008-02-28 09:22
我觉得还是说的很中肯的,怎么成了忽悠初学者呢??
29 楼 yztxlty 2008-02-27 15:11
作者简介:
蔡学镛-技术顾问
清华大学资讯工程硕士,曾任华硕集团软件工程师、元智大学信息系讲师、美商欧莱礼出版社技术编辑、台湾微软特约专栏作家

白这么一堆头衔出来害人!!

说得都是什么话,冲着自己是硕士就瞎忽悠人,用个醒目的标题来抢读者的视线!!!
鄙视这种胡说八道的行为,遗害初学者~~~~~~~
[color=olive][/color]
28 楼 beckrabbit 2008-02-05 20:37
很标题很党,很清华很硕士。
27 楼 garyzhangmin 2008-02-05 10:47
有一点是肯定了,专注精通一个语言要比来回选择不同语言进行学习来的强
不要轻易放弃,除非你彻底决定不在需要他,没有最强的语言,只有最强的
技术就是这个意思
26 楼 Ab.Yann 2008-02-05 09:31
java挺好的啊.
25 楼 carlosbdw 2008-02-05 09:00
java 开源?
java就算开源也必败无疑,因为java不适合人类阅读和思考。
24 楼 metaphy 2008-02-04 17:48
这哥们前几年还看好net看衰J2EE过;;这次.net怎么都没有了?
23 楼 cowoo 2008-02-04 16:56
等于什么都没说,标题党而已。
22 楼 caihemm2 2008-02-04 16:51
哪个语言,可以像java一样开源,就有可能超过java,
如果不是肯定不成。
因为一个人的力量实在有限。
当初2个大佬早就delphi,可谓很猛
但是现在看看delphi,基本快成无人问津了。
java的魅力在于开源。
编程语言,只是表达方式不一样而已,说到底都是机器语言的shell。
看谁包装的更加适合人用,更加适合项目管理如此而已。
21 楼 flynetcn 2008-02-04 14:23
个人不喜欢ruby的原因是那是日本人引以自豪的东西,
个人不喜欢python的原因是它对空格太敏感,不如C类语言的括号匹对方便。
20 楼 carlosbdw 2008-02-04 13:47
不管什么语言,编写类库的大部分都是外国人,中国程序员只是用。
大家一起来写ruby类库吧,现在还有不少空白。
19 楼 bio1984 2008-02-04 00:09
为什么就没有一种统一的语言呢?搞这么多语言出来干什么不明白?学起来也费劲。都怪SUN太废材了,老是被别人追赶!
18 楼 CoderDream 2008-02-03 17:27
所有MS的语言的都没有说!
17 楼 sytemper 2008-02-03 16:48
作者的意思是java的竞争对手越来越多,不进则退啊
16 楼 zjumty 2008-02-03 14:08
我也不同意"Java似乎会逐渐走下坡"的说法. 看看java社区依然如火如荼!
15 楼 myhouse0 2008-02-03 12:52
我们应该轻语言重技术
14 楼 Protoss 2008-02-03 12:44
Java似乎会逐渐走下坡,谁告诉你的?真不知道那几个头衔你是怎么弄来的

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 我rails的开始

    开始是看了csdn上的【蔡学镛:2008编程语言走势解盘】,然后开始关注ruby on rails,在网上找了一个《ruby中文教程》看了看,看的很快,大概3天的业余时间就看了一遍。安装了ruby1.8.6,用scite做编辑器,试验性的把...

  • 患者发生输液反应的应急预案及护理流程(医院护理资料).docx

    患者发生输液反应的应急预案及护理流程(医院护理资料).docx

  • chromedriver-win64_121.0.6105.0.zip

    chromedriver-win64_121.0.6105.0.zip

  • chromedriver-win64_120.0.6099.35.zip

    chromedriver-win64_120.0.6099.35.zip

  • php+sql成绩查询系统(系统+论文+答辩PPT).zip

    php+sql成绩查询系统(系统+论文+答辩PPT).zip

  • 这是一个使用java开发的简单帝国古典象棋游戏.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

  • 医院骨科资料:关节镜患者健康教育.docx

    医院骨科资料:关节镜患者健康教育.docx

  • chromedriver-win64_121.0.6139.0.zip

    chromedriver-win64_121.0.6139.0.zip

  • Java Swing实现的生命游戏.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

  • html匀速轮播案例js代码

    js代码

  • 用C语言开发的基于文件存储的图书馆管理系统.zip

    C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

  • (基于C语言版的YoloV3-tiny的口罩检测包含口罩VOC数据集).zip

    C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

  • chromedriver-win64_117.0.5857.0.zip

    chromedriver-win64_117.0.5857.0.zip

  • HPC集群性能测试工具-Clusbench-2.0.git845e7c8.x86-64.run

    Clusbench 是曙光开发的HPC性能测试工具,目前Clusbench支持主流X86平台(如Intel,AMD,Hygon)linpack基准测试、内存stream测试、dgemm测试、hpcg测试、IB带宽和聚合通信(alltoall)测试,且支持批量单机测试和整体(联机)测试。 自1.5版本起,Clusbench内置了测试需要的MPI并行库、运行时依赖,以及针对各个平台优化的linpack、stream、dgemm、hpcg、alltoall等程序,无需依赖于外部软件包即可完成测试。 当前最新版本为Clusbench-2.0,支持CentOS7.x/8.x、RedHat7.x/8.x、NFS3.x/4.x系统。

  • html网页制作案例分享

    HTML个人简介网页案例简介 目的: 向初学者展示如何使用HTML语言创建一个基本的网页,用于展示个人信息。 案例内容: 一个HTML文档,包含以下部分: <!DOCTYPE html>:文档类型声明,标识HTML5文档。 <html>:根元素,包含整个网页内容。 <head>:包含文档的元数据,如字符集声明和文档标题。 <body>:包含网页的主体内容,用户可以直接看到的部分。 标题(<h1> 和 <h2>):用于展示网页的主要标题和子标题。 段落(<p>):包含文本段落。 无序列表(<ul> 和 <li>):列出个人信息,如姓名、年龄和职业。 关键点: HTML的基本结构和语法。 如何使用不同的HTML标签来组织内容。 文档的标题和元数据的重要性。 技术实现: 使用文本编辑器创建一个新的HTML文件。 编写HTML代码,包括文档声明、结构和内容。 保存文件,并使用浏览器打开以查看效果。 学习目标: 理解HTML文档的基本构成。 学习如何使用HTML标签来创建和格式化网页内容。 掌握基本的网页制作技能。

  • numpy-1.26.4-cp39-cp39-win-amd64.rar

    numpy-1.26.4-cp39-cp39-win_amd64.whl由于从官网下载文件较慢,所以在此提供下载,本文件对应Python311版本为轮子文件,可通过pip安装

  • chromedriver-win64_118.0.5974.0.zip

    chromedriver-win64_118.0.5974.0.zip

  • linux下基于c语言实现,采用tcp协议的基于socket套接字通信的在线英语词典系统.zip

    C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

  • chromedriver-win64_116.0.5815.0.zip

    chromedriver-win64_116.0.5815.0.zip

Global site tag (gtag.js) - Google Analytics