Что на самом деле означает независимость платформы? По какому критерию можно назвать языковую платформу независимой? Являются ли кроссплатформенность и «независимость от платформы» одинаковыми?
(Это может быть вопрос для самостоятельного изучения, но я хотел бы услышать от экспертов из переполнения стека. Есть много определений и мнений по этому поводу в интеренете, и некоторые из них сбивают с толку)
c#
java
cross-platform
ученик
источник
источник
Ответы:
Нет платформы-независимости и кроссплатформенности не одно и то же. Давайте посмотрим на следующие объяснения, чтобы понять.
Кроссплатформенное программное обеспечение
кроссплатформенный или многоплатформенный - это атрибут, присваиваемый компьютерному программному обеспечению или вычислительным методам и концепциям, которые реализованы и взаимодействуют на нескольких компьютерных платформах
Это может быть разделено на два типа.
Многоплатформенное или кроссплатформенное программное обеспечение: программное обеспечение доступно на нескольких платформах (операционных системах). Это может означать две вещи -
Независимая платформа
Программное обеспечение, которое не зависит от платформы, не полагается на какие-либо специальные функции какой-либо одной платформы или, если оно имеет, обрабатывает эти специальные функции, так что оно может работать с несколькими платформами.
Независимое от платформы программное обеспечение: независимое от платформы программное обеспечение в его строгом смысле означает -
Агрегировано из разных источников
источник
Мое "внутреннее определение" соответствует тому, что сказал Шекхар; MultiPlatform == сборка для многих несовместимых платформ, независимая от платформы == работает независимо от платформы.
Конечно, если платформа == операционная система, которую легко увидеть, в этом случае сценарий Python, вероятно, будет «независимым от платформы», если в ОС имеется интерпретатор Python, который вы собираетесь запустить.
В каком-то смысле платформа скрипта - это Python. В конце концов, платформы - это стандартные стеки программного и аппаратного обеспечения, которые абстрагируют некоторую функциональность.
Не уверен, в чем моя точка зрения, хотя.
источник
Чтобы немного расширить ответ Shekhar_Pro ,
Независимая платформа выполнит любую любую платформу. Подумайте о приложениях Java или Python без каких-либо специфичных для платформы компонентов, которые могут быть выполнены в Windows, Mac и Linux без обязательной перекомпиляции или перезаписи.
Продукты Cross-Platform - это совершенно другой котелок с рыбой. Если некоторые аспекты кроссплатформенного продукта могут иметь общие требования и даже исходный код (например, некоторые математические функции, реализованные в C), каждая версия продукта написана и скомпилирована полностью для конкретной платформы. Подумайте, например, о Mozilla Firefox, который имеет разные версии для Mac, Windows, Linux, BeOS, Android и так далее. Каждая версия похожа и может даже иметь совместимые структуры данных, но каждая версия также разрабатывается независимо и часто пишется с использованием совершенно разных языков программирования и API, разной нумерации версий и так далее.
источник
Независимость от платформы означает, что написанная, тестируемая и работающая на одной платформе или операционной системе программа будет работать без изменений на другой платформе / операционной системе. Естественно, если его скопировать в другой каталог, то для некоторых небольших файлов конфигурации могут потребоваться фиксированные пути, но в противном случае он должен просто работать.
источник