文档介绍:作者:
日期:2000-10-27 8:45:27
JAVA无用论
2000-10-24
写这篇文章的目的
学了一些关于Java的东西,个人认为它很不好用。为了减少上当人数
特写此文。
尽管 java 宣称它是100%面向对象,而C++不是。但是宣称100%面向
对象本身就不是什么面向对象的思想。面向对象的本质目的是提高生
产率。讨论一种语言是否100%面向对象就好像讨论我们的社会性资性
社一样滑稽。其实学习面向对象不一定非要使用java不可。我反而认
为120%面向对象的C++是不错的选择。
Java号称跨平台,其实这是只一个梦想,也不妨用骗局这个词来形容
。软件的移植性仅仅和虚机相关吗?照此理论是不是可以说符合IA32
体系的软件在任何IA32体系上都能正常运行。那我怎么没看见SCO:
:lf 在 NT上运行?显然,除了虚机,软件二进制规范(执行文件格
式、连接方法)、运行时间库和系统调用也是软件移植问题因素。而
java规范中显然不包括完整的运行时间库和系统调用,甚至二进制规
范也有不兼容的地方(比如本原接口和固有接口)。软件总不能脱离
它的运行环境,不兼容就从这里开始。
要提高软件生产效率。应当认认真真的研究系统结构、二进制规范、
系统调用结构才是解决问题的方法。靠概念游戏这种投机取巧的方法
是行不通的。
我说java不好,甚至不必对其侧目,你信吗?我估计信的人不多。我
只是想说“上当之后别怪我没说”。
另外如果您在Java中发现了甜头也不妨告诉我。互相学习吗:)。
Java究竟是什么?
Java是一种虚拟硬件系统结构,是一种软件二进制规范,是一种编程
语言。当我们看到Java一词时,它可能表达上述三个含义钟的任何一
个。尽管这三个东西可以独立存在,不过实际上他们总是在一起出现
。所以也很少有人分的那么明确。使用Fortran语言编写Java虚机上
的代码理论上是可行的。但是有谁乐意做这件事呢?
作为虚拟硬件体系结构,
Java虚机和ALPHA、PowerPC、SPARC、IA32、51、960是同一概念上的
东西。也许您会奇怪?他们怎是同样的东西呢?IA32不就是PIII、PI
V那一大块吗?其实不然、我们知道386、P5、P6、P7的内部结构非常
不同。属不同的微体系。但是他们实现了相同的IA32指令集合。IA32
也不一定非要通过硬件实现,通过软件也可以。这种软件CPU产品广
泛出现在操作系统和CPU密集软件的开发、调试工具上。主要用于在C
PU出现之前调试软件。Java指令集同样也可以通过硬件实现。只是在
半导体工业激烈竞争的时代,没有大公司(含SUN)愿意把这么做。
SUN常常说M$很害怕java。他们之间的确存在很强的竞争关系。倒不
是Java高级语言的问题,我认为是Java二进制规范和 Windows操作系
统存在竞争。不妨考察Java中的(.class文件格式、装入方法、执行
过程、JDBC接口、J3D接口)和Windows中的(PE文件格式、DLL文件格
式、装入、连接方法、ODBC、Direct3D)。就知道竞争多么强烈。和N
T/IA不同。。在NT/IA
中是分离的产品。
人们