background image

修改、增加了许多 API 增加了许多新东西,程序设计的思维也发生了重大的变化。如果开发人员未能随
时补充新知识,仍用旧的方法开发系统,就会横生困扰。这其实是很严重的问题,MS 的 WebCast 做的
非常好,在帮助技术人员跟上新技术方面 MS 做的比 SUN 要好许多。

         目前微软有提供一套开放原始码的

.NET VM , 名 为 Share Source Common Language 

Infrastructure,简称 SSCLI,代称 RotorSSCLI 仅供爱好者研究使用,不做商业发行(微软商
业版的.NET VM .NET CLR)。SSCLI 可以在 FreeBSDWindowsMac OS X

 

等平台上执行。

        为了让.NET 能够摆脱微软的控制,除了由 Novell/Ximian 资助的 Mono 计划之外(Mono 是西班

 

牙文 猴子 的意思), GNU(自由软件基金会),也有一个 DotGNU Portable.NET 的类似计划。如
果 Mono 和 DotGNU 
Portable.NET 等计划能成功,那么.NET 的跨平台才能显露曙光,现在有许多的 Linux 发行版本都内
置了 Mono

 

平台,如 Novell Suse Linux

 

系列操作系统。

        .NET 以后是一定会流行的,至少会在 Windows 和 Linux 上成为主流。Linux 和 Mono 得到 Novell
公司的大力支持,相信在不久的将来 .NET 将在 Linux 平台称为开发的平台。为了让 Java 能够跨
进.NET 的世界,有人设计了.NET VM 上的 Java VM “

, IKVM.NET”正是这样的一套 Java VM。仗着

Java VM 和.NET VM 有许多相似之处,IKVM.NET 在设计上就可以取巧,许多机制(例如垃圾收
集)直接利用底下的.NET VM,不需要自己完成。有了像 IKVM.NET 这样的 VM,Java 就可以跨
到.NET

 

平台上,不失为一个扩展势力的好方法。

        为了抢夺市场,Java 和.NET 阵营均使出浑身解数。Java 阵营近来的脚步似乎加快了,这是好现
象。而.NET 阵营更是使出许多绝招,提供下面的工具:
   
        Visual J#:如果是 1.1.4 或更早以前的 Java 程序,可以直接利用 Visual J#,来将 Java 的原始码编
译成.NET 的 MSIL。这样的编译,成功率可以达到近 100%  

   
        程序转换工具:如果你的 Java 程序并非 1.1.4 以前的古董,而是用到 Java 
2 的许多新特色,那么你可以利用微软提供的程序转换工具(例如 JLCA),来帮助将 Java 程序转成.
NET 程序,达到鲸吞的效果。这些工具通常可以将八九成的程序代码转换成功,但是许多地方仍须

 

手动调整。我们可以期待,未来版本的此类工具会更强大,转换的成功率会更高。
   
        程序合作工具:既有的 Java 程序不可能一朝一夕改写成.NET,而转换工具也不是 100%成功,
那么如果能让既有的 Java 程序继续运作,而鼓励大家新的程序改用.NET 平台,并慢慢换掉旧的 Java
程序,达到蚕食的效果。这个时候,程序代码合作工具就很重要,负责架起 Java 旧系统和.NET 新系
统之间的沟通桥梁。例如:Microsoft .NET and J2EE Interoperability Toolkit,就是这样的工具