Answers:
Java在将您与基础OS隔离方面做得非常好,并且在与基础OS进行对话的大多数平台上为您提供了完全相同的工具。
另一方面,Python在将您与底层OS隔离方面做得不好,它在处理进程通信之间没有标准的处理方式(请查看Windows和*之间sys模块和os模块之间的差异。例如Python的nix实现。)
我用python编写的代码只能使用Python可用的API调用在* NIX框或Windows框上工作,而在Java中,很难编写仅在两个API上都不能正常工作的Java API代码Windows框或* NIX框
当Java是新的时,WORA值得夸耀-特别是,您可以在一个平台上进行编译,然后在其他平台上运行(已编译的字节码)。
当然,无论解释器在哪个平台上运行(只要该平台可使用该解释器),解释语言的运行方式都非常相似。但是,文件系统,权限问题,编码,行尾以及无数其他小的但令人讨厌的问题都可能引起麻烦。一些与平台相关的事情很难抽象出来。
Python是否具有独立于平台的GUI?
无论如何,WORA的功能再次吸引了C程序员,因为C倾向于紧密地对基础平台进行建模,并且由于平台不同(字的大小?字节顺序),创建完全可移植的C程序需要格外注意。
Java的承诺是不必完成所有这些繁琐的工作,因为平台定义非常明确,并且您知道char是16位等。而且GUI是用Java编写的,并且也是100%可移植的,这意味着您可以该程序可以在您从未听说过的计算机上运行,甚至可以正常运行。
除了强调Java 不是 WORA。我已经看到Java软件在次要版本号上升级到更高版本后出现故障。恕我直言,WORA只是一种营销头。