右栏
欢迎您:游客!请先
登录
或
注册
风格
恢复默认设置
|
展区
文件集浏览
图片集浏览
Flash浏览
音乐集浏览
电影集浏览
|
搜索
|
社区游戏中心
曙海教育集团论坛
→
开发语言培训专区
→
JAVA语言开发
→ (五).NET VS Java将有更好的动态语言支持
新的主题
投票帖
交易帖
小字报
下一主题 >>
<< 上一主题
共有
8893
人关注过本帖
树形
打印
主题:(五).NET VS Java将有更好的动态语言支持
wangxinxin
小
大
1楼
个性首页
|
博客
|
信息
|
搜索
|
邮箱
|
主页
|
UC
加好友
发短信
等级:青蜂侠
帖子:
1393
积分:14038
威望:0
精华:0
注册:
2010-11-12 11:08:23
(五).NET VS Java将有更好的动态语言支持
Post By:2010-12-11 10:25:34
以下内容含脚本,或可能导致页面不正常的代码
<font face="Times New="New" Roman="Roman" "><font size="4">象Python和Ruby一类的动态语言,有着表达能力强大的语法,更易于读、写和维护,对快速开发极具建设性。微软(Microsoft)和升阳(Sun Microsystems)已经认识到业界不断增长的对于动态编程的兴趣,</font></font><a href="http://www.eweek.com/article2/0,1895,2001138,00.asp" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">计划将更多有关动态语言的特性</font></font></a><a href="http://www.eweek.com/article2/0,1895,2001138,00.asp" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">集成到各自的托管平台上。</font></font></a> <font face="Times New="New" Roman="Roman" "><font size="4">微软开发人员</font></font><a href="http://blogs.msdn.com/hugunin/default.aspx" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">Jim Hugunin</font></font></a><font face="Times New="New" Roman="Roman" "><font size="4">透露雷蒙德(微软所在地区)的WA软件公司正在增强.NET平台,以简化动态语言的开发。Hugunin是IronPython ——一个.NET平台上的Python实现的开发者,他说.NET通用语言运行库(Common LanguageRuntime)将被扩展以加入对于动态语言特性的附加支持,同时也会增加供语言创建者使用的框架组件。微软希望新的特性和现存的IronPython源代码(作为一种参考实现)能够鼓励开发人员将其他流行的动态语言带到.NET平台上。目前几种有用的动态语言特性已被加入.NET2.0中,其中较突出的是</font></font><a href="http://blogs.msdn.com/joelpob/archive/2004/03/31/105282.aspx" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">轻量代码生成和DynamicMethod方法。</font></font></a> <font face="Times New="New" Roman="Roman" "><font size="4"> Hugunin对PowerShell(微软的下一代命令行架构)带来的机会也很热心。PowerShell在.NET技术之上提供了一个精炼的动态语言,具有顶级的功能以及其他令人期待的特性。PowerShell还提供了对于简化通常计算任务的代码库及实用程序的广泛选择。Hugunin希望在VisualBasic和IronPython中能够使用绝大多数这类功能,为用户提供更多的选择。</font></font> <font face="Times New="New" Roman="Roman" "><font size="4"> 在我的</font></font><a href="http://arstechnica.com/guides/other/msh.ars" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">PowerShell简介(那时叫Microsoft Command Shell微软命令行外壳)里,我指出在语法中缺少对类的定义(definingclasses)的支持是对该语言最严重的限制之一。通过让用户能够运用一种象Python一样优雅、凝练的动态语言,利用PowerShell库的强大功能,微软可以为开发人员提供兼具这两个方面优点的工具。</font></font></a> <font face="Times New="New" Roman="Roman" "><font size="4"> Python不是唯一在.NET上开疆拓土的动态语言。加拿大软件开发人员John Lam正在开发</font></font><a href="http://www.iunknown.com/articles/2006/03/16/third-drop-of-rubyclr" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">RubyCLR</font></font></a><font face="Times New="New" Roman="Roman" "><font size="4">,一个允许开发人员使用Ruby建立.NET应用程序的桥接软件。其他已移植到.NET的动态语言包括Lisp (Rob Blackwell的</font></font><a href="http://www.lsharp.org/" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">L#</font></font></a><font face="Times New="New" Roman="Roman" "><font size="4">)和Smalltalk (SmallScript公司的</font></font><a href="http://www.smallscript.org/Community/community_home.asp" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">S#</font></font></a><font face="Times New="New" Roman="Roman" "><font size="4">)。</font></font> <font face="Times New="New" Roman="Roman" "><font size="4"> 升阳计划扩展自己的Java平台以提供更强的动态语言支持。在一个不同寻常的声明中,升阳Computational Theologist(计算问题专家)Gilad Bracha承认,“我们已经注意到有人希望使用Java以外的语言编程”。</font></font> <font face="Times New="New" Roman="Roman" "><font size="4"> 升阳一直在努力改善动态语言支持,并计划在Java标准版第6版中包含一个JavaScript实现。为了简化Java虚拟机上的动态语言开发,升阳已提交了一个</font></font><a href="http://jcp.org/en/jsr/detail?id=292" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">JSR (Java Specification Request</font></font></a><font face="Times New="New" Roman="Roman" "><font size="4">),描述了一个叫做invokedynamic(意为“被动态调用的”)的新的字节码操作,Bracha称之为“松散类型的虚调用”。升阳也计划加入对动态元编程设施的支持(运行时代码生成机制,类似Lisp的宏和Python的元类)。虽然有几种动态语言已经在Java虚拟机上可用,包括</font></font><a href="http://jruby.codehaus.org/" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">JRuby</font></font></a><font face="Times New="New" Roman="Roman" "><font size="4">和</font></font><a href="http://www.jython.org/Project/index.html" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">Jython</font></font></a><font face="Times New="New" Roman="Roman" "><font size="4">,新的特性仍很重要,因为它们将简化动态语言的开发过程并扩大其可存取的功能范围。动态元编程是一个特别激动人心的特性,在</font></font><a href="http://www.linuxjournal.com/node/8080" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">领域特定语言的设计(domain-specific language design)方面有很大潜力。</font></font></a> <font face="Times New="New" Roman="Roman" "><font size="4"> 一些热衷动态语言的人也对</font></font><a href="http://www.parrotcode.org/" target="_blank"><font face="Times New="New" Roman="Roman" "><font size="4">Parrot</font></font></a><font face="Times New="New" Roman="Roman" "><font size="4">感兴趣。Parrot是一个特别为动态语言设计的开源虚拟机,最初构想为Perl6的基础。它有一些很动人的特性,包括一个可以极大地简化语言开发过程的内建语法引擎。虽然Parrot离完善还很远,一些基于Parrot运行的语言已经处于不同的开发阶段,包括Python, Ruby, Tcl, Lisp, basic等的移植版本。Perl6开发人员宣称Parrot最终会为脚本语言提供比JVM或.NET更好的性能,但Parrot仍处于开发早期,所以该说法尚有争议。Parrot和其他较突出的虚拟机在架构上有几处重要不同,特别是Parrot是基于寄存器(register-based)的,而Java的字节码与.NET的通用中间语言是基于堆栈的(stack-based)。</font></font> <font face="Times New="New" Roman="Roman" "><font size="4"> 昨天(2006年8月9日)Parrot发布的0.4.6版本(译注:目前为0.4.8版,2007年1月16日发布)包含了部分Ruby(译注:Ruby已经从Parrot退出,已在开发自己的虚拟机)和Javascript实现,语法引擎和抽象符号树生成器的改进,新的存取全局变量的操作码(opcodes),以及错误修正和其他一些改善。</font></font> <font face="Times New="New" Roman="Roman" "><font size="4"> 托管语言平台有很大潜力支持现代动态语言,尤其在性能(在某些情况下IronPython比标准实现快1.5倍)、互操作性、广泛的开发库支持等方面。已被广泛使用的开发平台,象.NET和Java,将扩展功能以满足动态语言日益流行的需求。微软和升阳将继续加强其对动态语言社区的投入,Parrot也将迎头赶上,提供另一个健壮的开源选择。</font></font>
说明:
上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.
支持
(
0
)
中立
(
0
)
反对
(
0
)
单帖管理
举报帖子
使用道具
|
引用
|
回复
下一主题 >>
<< 上一主题
返回版面帖子列表
(五).NET VS Java将有更好的动态语言支持
回复标题:
上传附件:
签名
:
不显示
显示
RSS2.0
Xhtml无图版
Xslt无图版
Copyright © 2000 - 2009
曙海
教育集团
Powered By
曙海教育集团
Version 2.2
页面执行时间 0.01758 秒, 3 次数据查询