EO (Elegant Objects), как и Java выполняется на JVM (Java Virtual Machine) - виртуальной Java машине
Реализаций JVM достаточно много:
- HotSpot - JVM Oracle - по-факту "стандарт" и входит в официальные JRE (Java Runtime Environment) и JDK (Java Development Kit);
- Dalvik - регистровая версия JVM, основа платформы Android;
- Apache Harmony - версия JVM от Apache;
и д.р.(была даже от Microsoft - MSJVM)
Самое интересное, что не только EO идет путем опоры на JVM, достаточно много и других языков используют/адаптированы под нее (как говорится - "Не все то джава, что на jvm"):
Clojure (диалект Lisp), Groovy, Kotlin, Scala, Ceylon, JRuby (Ruby), Jython (Python), Nashorn (JavaScript) и т.д.
Компиляторы перечисленных языков переводят код из человеческого представления в набор универсальных команд, который принимает JVM и который сам отвечает за дальнейшее выполнение универсального байт-кода на конкретном железе.
все дело в удобстве и возможностях JVM:
JVM создает некоторый уровень абстракции, глубже которого программисту интерпретируемого языка погружаться нет необходимости (например, контроль за высвобождением памяти решается через Garbage Collector; JVM обеспечивает кроссплатформенность и т.п.).
JVM предоставил абсолютно выигрышную стратегию (тот же путь выбрал и Microsoft со своей платформой .Net) - пожертвовать определенным уровнем детализации (управления железом), чтобы все внимание уделить более важному верхнему ментальному слою (написание логики программы).
В свете сумасшедшего развития вычислительной производительности и скоростей транзакций язык EOlang логически продолжает обозначенную тенденцию... не так важна производительность не только "в железе" (что показал нам JVM), но и внутри программы!
Гораздо более важны возможность управлять собственным кодом, поддерживать его и сопровождать. Именно по этому EO это следующий и закономерный шаг развития прагматики программирования! И именно по этому EO ждет колоссальный успех!
Комментариев нет:
Отправить комментарий