Независимость от платформы - это не совсем точный термин. Для разных людей это может означать разные вещи. Например, некоторые люди сказали, что C - это PI, другие сказали, что это не так. Иногда люди сталкиваются с большими трудностями, чтобы заставить код C работать с configure (1), чтобы он мог компилироваться на множестве разных платформ. Означает ли это, что можно написать платформенно-независимый C, но не все C независимы от платформы?
Возможно, Java (+ другое программное обеспечение, работающее на JVM) считается PI, потому что они определяют платформу, и это зависит от разных машин. для реализации этой платформы. Но они не всегда делают это должным образом - например, некоторые JVM (особенно ранние) содержат ошибки, которых нет у других (на других платформах). И, конечно, вы можете написать не чистую java, которая будет ссылаться на собственный код - конечно, не независимая от платформы.
В нескольких ответах говорилось, что языки сценариев не зависят от платформы. Скажите это людям, которые пишут javascript и хотят, чтобы он работал в IE6, IE7, FF, Chrome, Safari и т. Д.!
Так что вам действительно нужно сказать больше о том, что вы подразумеваете под «независимой от платформы» или почему вы спрашиваете.
Есть много 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
Практически каждый язык так или иначе не зависит от платформы, благодаря поставщикам или сообществу.
C / C ++ (Boost, QT и т. Д.), C # / Java, Vala, Python / Ruby / Perl, PHP и т. Д. И т. Д., Все эти языки не зависят от платформы, с той лишь разницей, что некоторые из них перекомпилированы в согласно платформе, некоторые из них работают поверх фреймворка, а другие являются интерпретируемыми языками.
Если вы имеете в виду компиляторы для независимого от платформы кода (например, Java VM для языка Java), вы можете искать CIL / MSIL (для C # и других основанных на .Net) и LLVM (низкоуровневую виртуальную машину, я предполагаю, что это возможно найти компиляторы для C и Haskell).
Perl, php, scheme, lisp, LOLCODE. Большинство интерпретируемых языков.
Java не зависит от платформы, потому что работает на виртуальной машине Java (jvm). Есть и другие языки, которые работают на jvm, все они, конечно, также являются PI. Примером может служить Scala.
Зависит от того, что вы имеете в виду под платформонезависимыми:
Мое предложение - Scala. Вы можете использовать все Java API на JVM и у вас есть более лаконичный, более мощный и чистый язык.
Возможно, было бы проще перечислить языки, зависящие от платформы.
Ruby, Lisp, Scheme, Scala, Clojure, Python, Perl, PHP, C # (через Mono) ...
Честно говоря, список может продолжать расти. Гораздо проще сузить определение термина «независимость от платформы» или спросить, какие языки ЯВЛЯЮТСЯ зависимыми от платформы.
Практически любой язык может быть P.I. если кто-то напишет слой для его работы, на котором абстрагируется базовое оборудование.
Напротив, каждая платформа требует, чтобы кто-то написал такой слой, прежде чем на нем сможет работать язык «PI».