作者ephesians (ephesians)
看板Programming
标题Re: [问题] VM 的问题
时间Sun May 20 13:29:07 2007
※ 引述《[email protected] (walter)》之铭言:
: ==> 在 [email protected] (foolish) 的文章中提到:
: > 语言是语言的事
: > 实作是实作的事
: > 没有人规定发明一种语言只能被用来写在纸上
: > 或大声说出来
: 骑脚踏车出门,有个独木桥要过,只好把脚踏车扛在肩上过河。
: 那脚踏车到底是拿来扛的还是拿来骑的?我还是认为脚踏车是
: 拿来骑的。
: Java 的原意是"write once, run everywhere" 在这想法下,
: 必须要 compile 成 byte code, 然後在 VM 透过一个 engine
: 去跑 byte code。我们写出来的 Java 程式就可以透过网路送
: 到任何有 Java VM 的机器跑。这样的用法如果硬是 compile
: 成 machine code 就无法达成。
: 如果只是用於特定的 case, compile 成 machine code 是可
: 行的。不过 Java 的原意还是"write once, run everywhere"。
: 在 VM 下跑才能享受到 Java 跟其他语言的不同。
可以不用在原意上打嘴炮.
那只不过是根据Java源生的历史,是要做一种WORE的程式,因此弄出一层middleware.
不过,暂时忘掉Java这个名字,暂时忘掉VM与中介码,
假想咱们是另一个时空的人,
我们可以设计出一种新的程式语言,它的程式写法是这样:
class Test { public static void main(String[] x) {
System.out.println("Hello!");
}
它是 *一种新的编译式程式语言,从物件导向式的语法编译为机器码* !!!
这样子不行吗? 非VM不可吗?
说句粗鲁些的话,我爱用gcj把Java程式编译成elf执行档,你管我?
VM是怎麽样的东西大家都知道,你可以不用重覆说明它!
对话中一味地把对方当idiot,讨论串的程度就会维持在浅浅的水平.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.212.245