Red Hat разрабатывает альтернативу Java

ПО Свободное ПО Софт Открытое ПО
, Текст: Егор Гребнев

Компания Red Hat ведет разработку нового языка программирования для виртуальной машины Java (JVM), который призван преодолеть присущие Java ограничения, а также предоставить разработчикам больше простоты и удобства. Детали проекта под кодовым названием Ceylon впервые были представлены публике его ведущим разработчиком Гэвином Кингом (Gavin King) на конференции в Китае.

После первого выступления Кинга на QCon в Пекине некоторые обозреватели поспешили назвать проект Ceylon «убийцей Java», однако сам Кинг сразу открестился от такой характеристики: «Я никогда не считал, что наша разработка — это «убийца Java» или язык Java нового поколения, – подчеркнул он в своем блоге. – Ceylon — это не Java, а много заимствовавший из Java новый язык программирования, разработанный поклонниками Java, но не слепыми почитателями. Язык Java пока не собирается умирать, и вряд ли что-то может его убить».

По словам Кинга, Ceylon призван дать разработчикам то, что они давно хотели, но не могли получить от Java: «Мы более 10 лет разрабатываем фреймворки и библиотеки под Java, мы близко знакомы со всеми ограничениями Java, и мы испытываем по их поводу чувство глубокой досады. Но большинство наших разочарований связано не столько с самим языком Java, сколько с ужасно устаревшими библиотеками классов, которые делают Java SE SDK сборником загадок, – говорит Книг. – Поэтому разработка качественного SDK является важнейшей задачей нашего проекта».

Другая приоритетная задача проекта Ceylon — создание Java-подобного языка для описания пользовательских интерфейсов и структур данных с использованием безопасного (type-safe) иерархического синтаксиса. «Неразрывная связь Java с XML, который по сути является единственным доступным способом описания пользовательских интерфейсов, – это проблема языка и источник постоянной головной боли для разработчиков», – пишет Кинг в материалах своей презентации.

Проект Ceylon разрабатывался в недрах Red Hat уже около двух лет, но пока что не имеет готовой к использованию реализации. Доступна лишь спецификация языка, но еще нет рабочего компилятора. Однако, язык, когда он будет готов, будет работать на JVM. Согласно презентации Кинга, основными особенностями языка станут статическая типизация, автоматическое распределение памяти и безопасные указатели, функции высшего порядка, декларативный синтаксис для описания пользовательских интерфейсов и структур данных, а также встроенная модульность.

Кроме того, разработчики стремятся сделать язык легким для освоения и понимания.

Кинг опроверг мнение, будто Red Hat собирается «переписать Java с нуля», уточнив, что, напротив, они намерены использовать большое количество уже готового кода Java. «Совсем не обязательно чтобы весь SDK, компилятор и IDE были полностью написаны на Ceylon. Это была бы непосильная задача для такой компании, как Red Hat, – подчеркнул Кинг. – И разумеется, мы не намереваемся решать эту задачу в одиночку. Такой проект, как этот, может быть интересен, только тогда, когда он ведется в рамках сообщества».