Компания Red Hat представила язык программирования Ceylon 1.1.0
Представлен язык программирования Ceylon 1.1.0, развиваемый компанией Red Hat в качестве языка общего назначения, претендующего на роль замены Java. Написанные на языке Ceylon программы и модули могут выполняться в стандартной виртуальной машине Java (JVM) или компилироваться в JavaScript для выполнения в web-браузере или под управлением Node.js. Для разработки приложений предоставляются Ceylon SDK, коллекция модулей и интегрированная среда разработки Ceylon IDE, построенная на основе платформы Eclipse. Код связанных с языком компонентов распространяется под лицензией GPLv2, а код среды разработки под лицензией EPL. Бинарные пакеты можно загрузить в форматах deb и rpm.
Лидером разработки является Гэвин Кинг (Gavin King), основатель проектов Hibernate и Seam. Целью создания Ceylon было желание избавить Java от устаревших концепций и подходов, которые мешают дальнейшей эволюции языка и достижению более высокого уровня эффективности. Кроме реализации лучших возможностей Java, в Ceylon также заимствованы некоторые дополнительные конструкции из языков Smalltalk, Python и ML. Поддерживается бесшовная интеграция с другими языками, базирующимися на JVM, например, модули на языке Ceylon можно использовать в программах на Java и наоборот.
Язык использует статическую типизацию и спроектирован с оглядкой на простоту изучения, лёгкость восприятия кода и разработку больших проектов, в которых участвует большое число программистов. Синтаксис Ceylon во многом напоминает Си, Java и C#. При помощи Ceylon значительно проще создавать фреймворки и библиотеки классов, а также естественно описывать древовидные структуры (в частности, формировать пользовательский интерфейс). В язык добавлены элементы, упрощающие написание кода, который можно использовать повторно в других проектах.
Модули на языке Ceylon упаковываются в архивы .car и помещаются в специальные репозитории. В процессе выполнения приложения нужные модули загружаются сразу из внешнего или локального репозитория, не требуя предварительной установки. Язык поддерживает архитектуру модульной "peer-to-peer" загрузки классов, обладающую такими возможностями как учет требований приложения к версиям модулей и поддержку работы сразу с несколькими репозиториями модулей, как локальными, так и внешними.
По сравнению с прошлым выпуском внесено более 1400 изменений. Из наиболее заметных улучшений можно отметить:
- Оптимизация производительности, в том числе сокращение времени компиляции в среде разработки;
- Более гладкое взаимодействие с перегрузкой (overloading) и шаблонами (generic) Java;
- Поддержка из коробки средств для развёртывания Ceylon-модулей в контейнерах OSGi;
- Расширение возможностей Ceylon SDK, добавление новых базовых модулей платформы ceylon.promise, ceylon.locale и ceylon.logging, существенное улучшение ранее доступных модулей ceylon.language, ceylon.collection, и ceylon.test;
- Добавление новых возможностей в среду разработки Ceylon IDE, таких как новая система автоформатирвоания кода;
- Расширение инструментов командной строки через плагины. Например, представлены плагины для форматирования кода и обеспечения сборки;
- Подготовлен официальны модуль для интеграции с JVM-платформой Vert.x.
НекоторыеОсобенности Ceylon:
- Статическая типизация (тип любого значения любого выражения может быть определён без исполнения программы), позволяющая выявлять ошибки на этапе компиляции, а не в процессе исполнения;
- Отсутствие специальных типов, всё реализовано в виде объектов;
- Именованные и опциональные параметры;
- Nullable-типы (кроме значений базового типа, допускается использование состояний NULL);
- Отсутствие необходимости явного указания геттеров/сеттеров (getter/setters);
- Определение типов для локальных блоков (через ключевое слово "local");
- Удобная организация работы с последовательностями (массивами);
- Реализация функций высшего порядка, аргументом или возвращаемым результатом в которых выступают другие функции;
- Использование для присвоения первоначальных значений (инициализации переменных) оператора ":=";
- Новый синтаксис интерполяции строк;
- Новые типы: Natural, Numeric и т.п.
- Классы, методы и атрибуты выглядят одинаково;
- Использование для определения существующих языковых концепций новых ключевых слов: shared, satisfies, assign, variable, local;
- Упрощение уровней public, protected, private access, visibility;
- Определение inline-функций в стиле Smalltalk.
Подробнее: http://citforum.ru/news/32798/
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Все мы сидим в сточной канаве, но некоторые при этом смотрят на звезды Уайльд Оскар - (1854-1900) - английский писатель |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.