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
Ballerina is an open-source programming language for the cloud. Downloads are available for Windows, Linux, and macOS, as well as a Ballerina extension for Visual Studio Code. Installation instructions and options are posted. The code license, site license, and terms of service are posted. Also included are an introduction to the language, guides, references, and videos, as well as an online playground where people can practice coding in Ballerina. An information blog is included.
https://ballerina.io/
Prepared by Hasitha Aravinda, a member of the Ballerina language design and implementation team. This is a technical blog where thoughts on various topics related to the programming language are posted, along with programming tips and related topics, from syntax and structure, to type and values. The site is sorted into Guides, Syntax, Types, Modules, and a Blog. Featured articles are highlighted on the index page of the website, and videos and Ballerina news are included.
https://bal.tips/
Ballerina Programming Language Best Practices Guide
This is a collection of best practices on using various Ballerina concepts and functionalities developed by the Learn-Ballerina community at GitHub. The document notes that this guide is opinionated and not Ballerina's official documentation. As such, there won't be a list of every Ballerina syntax and standard library usage helps. Rather, it includes a concise list of highly recommended options, sorted by chapter, which includes a FAQ and library samples. Contribution guidelines are stipulated.
https://learn-ballerina.github.io/
The Ballerina community is made up of experienced Ballerina engineers and experts from some of the world's top companies, some of which are introduced here. Other resources include a list of articles, blogs, and videos created by members of the Ballerina community, which cover aspects of the programming language, platform, tools, and use cases with details on implementation. Reusable Ballerina packages may be obtained from the site, and tutorials, a blog, and other resources are included.
https://ballerina.io/community/
As an open-source project, the development of Ballerina is maintained by the Ballerina community and supported by WSO2. Hosted on GitHub, the code repositories are available for download under the Apache 2.0 license. An overview of the language is provided, and issues with any of the Ballerina repositories may be reported, and links to other online resources are posted on the site. Projects and packages are featured, and profiles of the people involved with the project are provided.
https://github.com/ballerina-platform/
Nordic APIs is an international community of API practitioners who help companies make smarter tech decisions using APIs. On the site, Kristopher Sandoval provides a review of the programming language, including an introduction, its justifications and motivations, design principles, and unique elements. Also included are code examples designed to show what Ballerina's code looks like. The author's conclusion is that the language solves a problem, and does so very well.
https://nordicapis.com/review-of-ballerina-a-programming-language-for-microservices-and-apis/