鸳剿 发表于 2025-5-29 19:50:39

.net 跨平台也是一句谎言

我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。 》(http://www.cnblogs.com/hack/archive/2010/05/30/1747513.html)的标准,那.net的跨平台也当之无愧是一句谎言。
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?
c语言的编译器,几乎是所有新平台都有的。因此从这点上看,c语言的程序,比其他任何语言更加容易跨平台。
当然,java这类语言也是有优势的:
1。一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。
2。捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。
有专家说:java不是跨平台,java就是平台,这很好的定义了java的特点。有了java,你只需要等待java平台在新平台上移植。这还不错吧!只是,java不是一个平台,而是多个平台。你需要在这个java平台移植到另一个java平台。所以,可怜的程序员,还是逃不出移植的命运!
第二个主题:java是不是注定低效率?
java的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。
中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少,效率会有不少的变化。而实际上java是基于堆栈机器来设计,这和我们常见的基于寄存器的本地机器是差异比较大的。总体来说,这是一种虚拟机的设计思路。
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译,有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到java编译器那么简易。
因为二次编译器太复杂,那么建议只是在安装程序的时候编译一次,而不类似java那样运行就编译。并且我觉得,一次痛苦,总比多次低效率要舒服多了。而且,我实在想不明白java的机制,为什么非要那么蛋疼,在同一个平台下重复编译。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

损注 发表于 2025-10-13 23:03:45

很好很强大我过来先占个楼 待编辑

眺愤 发表于 2025-10-30 09:35:11

谢谢分享,试用一下

申倩语 发表于 2025-11-22 11:59:49

感谢分享,学习下。

替攀浮 发表于 2026-1-17 08:20:11

很好很强大我过来先占个楼 待编辑

锺冰洁 发表于 2026-1-20 20:06:19

收藏一下   不知道什么时候能用到

任静柔 发表于 2026-1-21 11:40:39

鼓励转贴优秀软件安全工具和文档!

酝垓 发表于 2026-1-21 19:48:46

感谢分享

晚能 发表于 2026-1-22 14:14:47

懂技术并乐意极积无私分享的人越来越少。珍惜

鞭氅 发表于 2026-1-23 16:30:35

感谢发布原创作品,程序园因你更精彩

琉艺戕 发表于 2026-1-24 08:51:23

谢谢分享,辛苦了

役魅肋 发表于 2026-1-27 07:55:50

感谢分享,学习下。

羊夏菡 发表于 2026-1-28 08:28:23

很好很强大我过来先占个楼 待编辑

昝梓菱 发表于 2026-1-29 20:44:48

感谢,下载保存了

瞧厨 发表于 2026-1-30 07:12:11

东西不错很实用谢谢分享

莘度 发表于 2026-2-1 02:28:20

谢谢分享,试用一下

碣滥 发表于 2026-2-2 20:46:33

懂技术并乐意极积无私分享的人越来越少。珍惜

劳暄美 发表于 2026-2-3 08:46:13

喜欢鼓捣这些软件,现在用得少,谢谢分享!

赏勿 发表于 2026-2-6 11:44:55

不错,里面软件多更新就更好了

计海龄 发表于 2026-2-7 09:22:07

谢谢分享,辛苦了
页: [1] 2
查看完整版本: .net 跨平台也是一句谎言