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.

Banner


Quantum Company Wins Digital Startup Contest
03/03/2024

Quantum specialists Qilimanjaro is the winner of this year's Four Years From Now competition. The award was made at this year's Mobile World Congress (MWC) in Barcelona.



GitHub Enterprise Server Adds Deployment Rollout Controls
11/03/2024

Version 3.12 of GitHub Enterprise Server, the self-hosted version of GitHub that organizations can install on their own servers, has been released with support for restricting deployment rollouts [ ... ]


More News

{laodposition comment}

Last Updated ( Friday, 04 June 2021 )