|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.
The language spec says:
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.
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.
|Last Updated ( Friday, 04 June 2021 )|