Ballerina Improves IDE
Written by Kay Ewbank   
Friday, 28 February 2020

Open source programming language Ballerina has been updated with improvements including an enhanced IDE.

Ballerina is an open source programming language and platform that the developers say provides cloud native middleware as a programming language. Ballerina has been developed by open-source technology provider WSO2. Rather than treating a network as an I/O source, Ballerina includes client objects, services, resource functions, and listeners as part of the language.

ballerinaThe language spec says:

It tries to feel familiar to programmers who are used to popular, modern C-family languages, notably Java, C# and JavaScript. It also gets ideas and inspiration from many other existing programming languages including TypeScript, Go, Rust, D, Kotlin, Swift, Python and Perl.

Ballerina has grown from the fact that the Enterprise Service Bus (ESB) is central to network integration. An ESB sends and receives network messages using a transport protocol, controlled by a configuration language, often in XML, that describes the flow of these messages, handling details such as endpoints, proxy services and scheduled tasks. WSO2 created an ESB that like others has a GUI for editing the configuration language, but an ESB is not a full programming language. This is handled by having extensions, usually in Java, but WSO2 wanted a non-Java solution, and developed Ballerina.

Sequence diagrams are central to Ballerina. The developers say rather than relying on code, every program is a sequence diagram that illustrates distributed and concurrent interactions automatically.  In reality, there is code behind the diagrams, and Ballerina IDE plugins such as the one for VSCode generate sequence diagrams from source code. The generated sequence diagram shows details of concurrency and network interaction.

sequence diagrams for programming

The Ballerina language is statically-typed,with a structural type system that is designed to be network data schema friendly.  It has a standard library and toolchain that the developers say covers:

"HTTPS to HTTP/2 to WebSockets to WebSub to AMQP to JSON to XML to ProtoBuf to gRPC to OpenAPI to plain old bytes - Ballerina has it all in the standard library and toolchain to help developers rapidly build applications"

The updated version adds features to the Ballerina command line tool. The IDE has enhanced support for VSCode and IntelliJ IDEA with code navigation capability, and the developers have optimized the Ballerina language server and the compiler front-end by introducing caches at various levels to avoid repeatedly building untouched code. The runtime performance has been improved via an optimized runtime type checker and by introducing significant changes to Ballerina values such as maps, arrays, and records.

ballerina More Information

Ballerina Home Page

Related Articles

Amazon Releases Managed Message Broker Service for ActiveMQ

Eclipse Launches Working Group For Cloud Development Tools


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Spatial Data Management For GIS and Data Scientists

Videos of the lectures taught in Fall 2023 at the University of Tennessee are now available as a YouTube playlist. They provide a complete overview of the concepts of GeoSpatial science using&nbs [ ... ]

Helidon Microservices Framework Version 4 Reaches General Availability

Helidon, the open source microservices framework by Oracle, has been updated to version 4, just a month after the release of Java 21. With this release Helidon becomes the world’s first virtual [ ... ]

More News

{laodposition comment}

Last Updated ( Friday, 04 June 2021 )