Значение "Runtime Environment" и "Software framework"?

Я слышал о нескольких вещах, цитируемых из Википедии:

  • "Java Runtime Environment" ,

    JVM распределяется вместе с множеством библиотек стандартных классов, которые реализовать приложение Java программный интерфейс (API). Соответствующие API-интерфейсы, объединенные вместе Java Runtime Environment (JRE).

  • "Adobe Integrated Runtime"

    Adobe Integrated Runtime, также известная как Adobe AIR, является кросс-платформенным среда разработки, разработанная Adobe Системы для построения богатого Интернета Приложения (RIA) с использованием Adobe Flash, Adobe Flex, HTML и Ajax, которые могут запускаться как настольные приложения.

  • ".NET Framework"

    .NET Framework (произносится как точка net) - это программная среда для Операционные системы Microsoft Windows. Он включает большую библиотеку, и она поддерживает несколько языков программирования что позволяет взаимодействовать на языке (каждый язык может использовать код, написанный в Другие языки). Библиотека .NET - это доступный для всех программ Языки, поддерживаемые .NET.

Как описано выше, если я правильно понимаю, первые два, похоже, связаны с "средой выполнения", но нет никакой связанной Википедии, чтобы объяснить, что такое среда выполнения.

Третий называется "ракурсом программного обеспечения", в котором статья Википедии:

программная среда - это абстракция в котором общий код, предоставляющий общие функциональность может быть выборочно переопределено или специализировано пользователем кода, тем самым обеспечивая конкретные функциональность. Рамки - это специальный случай программных библиотек в что они являются многоразовыми абстракциями код, завернутый в четко определенный Интерфейс прикладного программирования (API), но они содержат некоторый ключ отличительные особенности, которые отделяют их из обычных библиотек.

Итак, мои вопросы:

  • Являются ли "среда выполнения" и "Программная среда" одинакова вещь? Если нет, то как они отличаются, и относятся ли они к некоторым общим категория?
  • Все ли они программируются библиотеки /API, которые могут использоваться программистов развивать свои собственные программное обеспечение?
  • Три примера часто встречаются требуется при установке некоторых программного обеспечения. Они принадлежат к концепция виртуальная машина? Если нет, в какой категории они принадлежат к? Как эта категория отличается с виртуальной машины?

Спасибо и приветствую!

PS: Я не знаю, подходит ли этот пост для суперпользователя или для stackoverflow, поскольку эти три примера часто требуются при установке какого-либо программного обеспечения, и они также, похоже, предоставляют API для разработчиков программного обеспечения.

Ответы

Ответ 1

  • Нет. Среда выполнения в основном представляет собой виртуальную машину, которая работает поверх машины - обеспечивает абстракцию машины. Это, как правило, более низкий уровень, чем библиотека. Структура может содержать среду выполнения, но обычно привязана к библиотеке.

    Java, AIR и .NET(в данном случае Common Language Runtime) имеют свою собственную среду выполнения в определенном байт-коде, который работает поверх операционной системы. Это позволяет сделать код довольно переносимым без перекомпиляции, чтобы сделать это таким образом.

  • Библиотеки и API используются для создания новых программ. Среда выполнения - это программа, в которой выполняются программы.

  • Среда выполнения совпадает с концепцией виртуальной машины, хотя и не такой сложной, как VMWare или иным образом. Они оба разделяют цель абстрагирования базовых систем до такой степени, что другое программное обеспечение может работать на нем.

Ответ 2

Являются ли "среда выполнения" и "программная среда" одной и той же? Если нет, то как они отличаются друг от друга и относятся к какой-то общей категории?

Нет, не совсем. "Среда выполнения" обычно относится к базовой технологии, которая фактически выполняет сам код. В Java это будет JVM - в .NET, CLR. "Структура" обычно относится к набору библиотек, которые по умолчанию распределены.

Все ли они все библиотеки программирования /API, которые могут быть использованы программистами для разработки собственного программного обеспечения?

Это больше "рамки" - "Framework" предоставляет API-интерфейсы, доступные по умолчанию.

При установке некоторых программ часто требуется три примера. Они принадлежат концепции виртуальной машины? Если нет, к какой категории они принадлежат? Как эта категория отличается от виртуальной машины?

Виртуальная машина - это форма "среды выполнения" - это то, что использует Java и С# для среды выполнения.

Путаница возникает из-за того, что вы обычно устанавливаете обе вещи вместе - поскольку среда выполнения не имеет большого значения без каких-либо базовых библиотек (фреймворка), а структура ничего не делает без среды выполнения (поскольку последняя требуется для выполнения кода на основе).