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


iOS 17.4 Released With Support For App Stores In The EU
06/03/2024

I have written about Apple's approach to complying with regulation, characterizing it as malicious compliance. It also seems that Apple is a master of creating the unintended consequence and letting i [ ... ]



The University of Tübingen's Self-Driving Cars Course
22/03/2024

The recorded lectures and the written material of a course on Self-Driving Cars at the University of Tübingen have been made available for free. It's a first class opportunity to learn the in an [ ... ]


More News

{laodposition comment}

Last Updated ( Friday, 04 June 2021 )