独立于平台的确切定义是什么?我已经读过Java是一种独立于平台的语言,因为它将源代码转换为字节码,并且该字节码可以在任何安装了Java虚拟机的操作系统上运行。
我很困惑,如果我有一些来自任何其他语言的源代码,比如C,PHP,VB,C#,C++,RubyOnRails等,并且这些源代码可以在任何具有相应编译器/解释器的操作系统上运行。那么我们为什么不说C或其他语言也是一种独立于平台的语言呢?
Java实际上非常依赖于Java平台。此外,C可以说是一种非常便携的语言。- 尼克拉斯
旨在直接与操作系统交互的编程语言(如C)往往被视为依赖于平台,仅仅是因为一个系统可能提供一组系统调用,而另一个系统可能提供另一组系统调用。因此,应用程序可能取决于它在哪个平台上执行。
当然,编译的Java程序依赖于平台,因为它取决于JVM的存在。然而,与编译的C程序相反,它独立于底层操作系统,并遵循一次编译,随处运行的原则。
这是这个网页的引用
当一个程序在多个平台上工作时,可以实现独立于平台的编程。独立于平台的应用程序在任何操作系统、任何处理器体系结构等上都应以相同的方式工作。Java是用于创建此类应用程序的众所周知的语言。
从形式上讲(我喜欢正式地说),任何用具有明确定义语义的语言编写的程序(涵盖所有语言的99%)当然可以在任何平台上执行。
相关问题:
- Java是跨平台的吗?
- .NET 平台是否独立?
- 为什么 Java 平台是独立的
理想情况下,这意味着编写一次,无需担心特定的平台问题,编译一次即可在任何地方运行。但这真的很难实现。