全球旧事资料 分类
程序员的迷失虚拟机”Java程序员的迷失论“虚拟机”
虚拟机技术现在非常热门,人们认为它可以完成一切事情。人们热衷于让JVM可以运行Ruby、或其它一些热门语言,PHP以及支持像JavaFX之类的技术。这种现象是好是坏JoeWi
chester以自己的经历来论证了对此的看法。在Java出现之前我一直是Smalltalk注:Smalltalk被公认为历史上第二个面向对象的程序设计语言,和第一个真正的集成开发环境。的爱好者。从Smalltalk转向Java的经历,到现在依然让我记忆犹新,从一门语言转向另一我依然记得当你真正掌握这门新语言时所到达的门语言并不是一件轻松的事情。临界状态,掌握一门新语言往往需要花费数月甚至数年的时间,经过这段时间的历练,你才能做出真正优秀的设计,以及知道如何最好的应用它的哪一个模式,如何避免错误发生,以及如何进行性能调优等等。最近因为工作需要,我要回过头来看一些以前的Smalltalk代码,这时我发现,在经历过这一段学习Java编程的阶段后,我已经很难清晰的理解过去自己所编写的Smalltalk代码,很明显,我肯定不能再称自己是一个合格的Smalltalk程序员。说这些只是为了表达我的一个观点:我认为每个人只可能精通一门编程语言,换句话说,如果你什么都精通,其实也就说你什么都精通。我喜欢一个只有一门语言、漂亮简单的“扁平结构”世界。在这样一个世界中,程序员之间交流会变得更加轻松,每个人可以彼此分享共同的经验,而且不也不用来回的在不同的语言之间跳来跳去。当Java第一次面世的时候,曾经有些虚拟机方面的家伙进行一些没有前途的尝试:让Java运行在Smalltalk虚拟机上。尽管他们拥有一个非常酷的叫做通用虚拟机U
iversalVirtualMachi
e,UVM的技术,但是归根到底,这实际上还是一个保护Smalltalk地盘的反抗行为。从理论上说这可能是一个好的思路,人们不再用必须学习一种新的语法就可以体验新语言的好处但是实际上并非如此,使用Java本地接口JNI编程来使两者联系起来是一件令程序员非常痛苦的事情,这简直就是一场噩梦,程序员在编程的时候要陷入很多麻烦,例如在不同语言类型之间存在很多数据类型转化的问题。要想在Java下进行Smalltalk编程,或者在Smalltalk下进行Java编程,你需要非常精通两种语言,而且你需要拥有一个非常发达的大脑来调试虚拟机注册表和大量设置DOS堆栈的个数。数年以来,微软的家伙一直在抨击Java程序的速度慢,它们认为Java程序是解释型字节码,而不是完全编译好的,这也是人们怀疑Java性能的一r
好听全球资料 返回顶部