Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3735
  • 博文数量: 4
  • 博客积分: 305
  • 博客等级: 二等列兵
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-04 13:10
文章分类
文章存档

2012年(4)

我的朋友
最近访客

分类: Python/Ruby

2012-08-01 09:50:21

如果你要在浏览器里运行多种语言,就不可避免地需要两种/更多种语言间的互操作——然而语言之间差异巨大,互操作往往会很困难——你需要仔细设计两种语言 的语言特性、库和类型系统使得互操作容易。微软是很少几个做成的公司——所以 IE 可以同时运行多种语言(装了插件连 Perl 都可以),因为它们的类型系统都统一到 COM 的 Automation 对象里去了。

但是语言的特色会让统一的类型系统难以实作—— 比如 ASP 虽然可以用 JS 写,但是 VBS 里很好用的 Request.Form('xxx') 在 JS 里就必须写成 Request.Form('xxx').item。此外 VBS 不支持结构化异常而 JS 支持,两者混用势必出问题。

此外,因为需要多语言互操作,对它们的性能优化就会很困难。目前 JVM、.NET 之类的字节码运行时是最好的解决方案,但是字节码显然不适合脚本语言。

因此现在的软件环境通常都只支持一种脚本语言,包括浏览器。回答完毕。
阅读(205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~