平台独立语言

时间:2010-04-09 12:35:48

标签: programming-languages platform-independent

我正在寻找另一种平台独立语言,如Java 还有其他P.I.语言

由于

11 个答案:

答案 0 :(得分:16)

独立于平台并不是一个完美定义的术语。它对不同的人意味着不同的东西。例如,有些人说C是PI,其他人则说不是。有时,人们在使用configure(1)使C代码工作时会遇到很多麻烦,因此它可以在很多不同的平台上编译。这是否意味着可以编写与平台无关的C,但并非所有C都与平台无关?

也许Java(+在JVM上运行的其他软件)被认为是PI,因为它们定义了一个平台,并且由不同的机器来实现该平台。但是他们并不总能正确地做到这一点 - 例如,一些JVM(特别是早期的JVM)存在其他人(在其他平台上)没有的错误。当然,您可以编写链接到本机代码的非纯Java - 当然不是独立于平台的。

有几个答案表明脚本语言与平台无关。告诉那些编写javascript并希望它可以在IE6,IE7,FF,Chrome,Safari等上运行的人!

因此,您可以更多地了解“平台独立”的含义,或者您要问的原因。

答案 1 :(得分:3)

取决于您对平台无关的含义:

  • 可在具有相同源代码的任何平台上编译:几乎任何语言
  • 在另一个平台上复制并立即运行:任何脚本语言和Java和.NET,用于具有框架(JRE和.NET / mono)的平台。

答案 2 :(得分:2)

Ruby,Lisp,Scheme,Scala,Clojure,Python,Perl,PHP,C#(通过Mono)......

老实说,这份名单可能会继续增长。缩小您对平台无关的定义或者询问哪些语言与平台相关更容易。

答案 3 :(得分:2)

列出与平台相关的语言可能更容易。

答案 4 :(得分:2)

Perl,php,scheme,lisp,LOLCODE。大多数解释语言真的。

答案 5 :(得分:1)

Java独立于平台,因为它在Java虚拟机(jvm)上运行。还有其他语言在jvm上运行,所有这些语言当然也是PI。 Scala就是一个例子。

答案 6 :(得分:1)

有很多p.i.语言。你想达到什么目的?只想学习另一种语言?或者你有一个特定的项目吗?

一些例子:
C / C ++,C#,Java,Ruby,Python,Perl,PHP,Scheme,Lisp

一些有用的链接:
http://en.wikipedia.org/wiki/Lists_of_programming_languages
http://en.wikipedia.org/wiki/Comparison_of_programming_languages_(basic_instructions)
http://en.wikipedia.org/wiki/Comparison_of_programming_languages

答案 7 :(得分:1)

如果您指的是编译器与平台无关的代码(如Java VM for Java语言),您可以查找CIL / MSIL(用于C#和其他基于.Net)和LLVM(低级虚拟机,我猜它可能找到C和Haskell的编译器。)

答案 8 :(得分:1)

我的建议是Scala。您可以在JVM上使用所有Java API,并且您可以使用更简洁,更强大和更清晰的语言。

答案 9 :(得分:0)

由于供应商或社区,几乎所有语言都以某种方式独立于平台。

C / C ++(Boost,QT等),C#/ Java,Vala,Python / Ruby / Perl,PHP等等,所有这些语言都是平台无关的,唯一的区别是有些被重新编译为根据平台,有些是在框架之上运行,而其他则是解释语言。

答案 10 :(得分:0)

几乎任何语言都可以是P.I.如果有人写了一个层来运行,那么抽象底层硬件。

相比之下,每个平台都需要有人在'PI'语言可以运行之前编写这样的图层。