Язык программирования с открытым исходным кодом Ballerina был обновлен с улучшениями, включая улучшенную IDE.
По словам разработчиков, Ballerina — это язык и платформа с открытым исходным кодом, предоставляющая облачное промежуточное программное обеспечение в качестве языка программирования. Балерина была разработана поставщиком технологий с открытым исходным кодом WSO2. Вместо того, чтобы рассматривать сеть как источник ввода-вывода, Ballerina включает клиентские объекты, службы, функции ресурсов и прослушиватели как часть языка.
Спецификация языка говорит:
Он пытается чувствовать себя знакомым программистам, которые привыкли к популярным, современным языкам семейства C, особенно Java, C # и JavaScript. Он также получает идеи и вдохновение от многих других существующих языков программирования, включая TypeScript, Go, Rust, D, Kotlin, Swift, Python и Perl.
Балерина выросла из того факта, что Enterprise Service Bus (ESB) занимает центральное место в сетевой интеграции. ESB отправляет и принимает сетевые сообщения, используя транспортный протокол, управляемый языком конфигурации, часто в XML, который описывает поток этих сообщений, обрабатывая такие детали, как конечные точки, прокси-сервисы и запланированные задачи. WSO2 создал ESB, который, как и другие, имеет графический интерфейс для редактирования языка конфигурации, но ESB не является полноценным языком программирования. Это решается наличием расширений, обычно на Java, но WSO2 хотел решение, не относящееся к Java, и разработал Ballerina.
Диаграммы последовательности являются центральными для балерины. Разработчики говорят, что вместо того, чтобы полагаться на код, каждая программа представляет собой диаграмму последовательности, которая автоматически иллюстрирует распределенные и параллельные взаимодействия. На самом деле, за диаграммами есть код, а плагины Ballerina IDE, такие как VSCode, генерируют диаграммы последовательности из исходного кода. Сгенерированная диаграмма последовательности показывает детали параллелизма и сетевого взаимодействия.
Язык Ballerina является статически типизированным, со структурной системой типов, которая разработана для дружественной схемы сетевых данных. У него есть стандартная библиотека и набор инструментов, которые, как утверждают разработчики, охватывают:
«HTTPS к HTTP / 2 для WebSockets для WebSub для AMQP для JSON для XML для ProtoBuf для gRPC для OpenAPI для простых старых байтов — у Ballerina есть все это в стандартной библиотеке и наборе инструментов, чтобы помочь разработчикам быстро создавать приложения»
Обновленная версия добавляет функции в инструмент командной строки Ballerina. В среде IDE улучшена поддержка VSCode и IntelliJ IDEA с возможностью навигации по коду, а разработчики оптимизировали языковой сервер Ballerina и внешний интерфейс компилятора, вводя кеши на разных уровнях, чтобы избежать повторного создания нетронутого кода. Производительность во время выполнения была улучшена за счет оптимизированной проверки типов во время выполнения и внесения значительных изменений в значения Ballerina, такие как карты, массивы и записи.