Aviva Directory » Computers & Internet » Programming » Ballerina

Available under an Apache License, Ballerina is an open-source, general-purpose programming language designed for cloud-era programmers.

Development on the language was begun in 2015 by designers from WSO2 as a code-based alternative to the configuration-based integration tools, such as enterprise application integration (EAI), enterprise bus service (ESB), and workflow products.

Ballerina's chief designers were Sanjiva Weerawarana, James Clark, Sameera Jayasoma, Hasitha Aravinda, Srinath Perera, Frank Leymann, and others at WSO2. Ballerina was publicly announced in 2017, and released in 2019. The language is currently supported by WSO2, an open-source technology provider, and under active development by the Ballerina community.

Implemented in Java, Ballerina, and TypeScript, Ballerina was influenced by C#, Go, Java, JavaScript, and Rust.

Ballerina's syntax familiarity with C# allows C# developers to transition smoothly, although its focus on data handling and cloud-native use cases sets it apart from C#. Ballerina shares Go's focus on simplicity, but it adds powerful abstractions for data handling, bridging the gap between Go's minimalism and Java's expressiveness. While Java remains a stalwart for enterprise applications, Ballerina competes favorably in data-oriented programming. Its concise syntax and native JSON support enhance developer productivity. Ballerina is set apart from JavaScript by its type system and strong typing. It provides a more robust foundation for building reliable microservices and APIs. While Rust emphasizes memory safety and low-level control, Ballerina prioritizes developer productivity and ease of integration, making it a better fit for cloud-native scenarios.

With Ballerina, microservices, API endpoints and integrations, and other applications for the cloud can be easily developed. The language has all of the general-purpose functions expected in a modern programming language.

Additionally, Ballerina has compiler-level, built-in support for widely used data types, such as JSON and XML, with a focus on handline structured data, network service interactions, and dealing with concurrency.

Its language constructs are designed specifically for consuming and delivering network services, and its abstractions and syntax for concurrency and network interaction are designed to closely correspond with sequence diagrams.

Designed for cloud applications, Ballerina includes the network in the language. In Ballerina, every program has a corresponding event diagram showing the processes involved, as well as the sequence of messages exchanged between them. Ballerina's program execution process includes extensible metadata that is compiled to runnable programs for all major cloud platforms, and features that help to track metrics, logs, and tracing are incorporated into the programming language.

The focal point of this portion of our guide is the programming language known as Ballerina. Online resources pertaining to the programming language, as well as any compilers, editors, or tools developed specifically for use in Ballerina, as well as Ballerina tutorials, user groups, and forums.



Recommended Resources

Search for Ballerina on Google or Bing