Ballerina is a cloud-native programming language that incorporates fundamental concepts of distributed system integration into the language and offers a type safe, concurrent environment to implement microservices with distributed transactions, reliable messaging, stream processing, and workflows.
Elevate your Ballerina skills through 67 curated exercises across 0 core concepts. Master problem-solving with a structured learning path designed for modern developers.
Ballerina is a compiled, transactional, statically and strongly typed programming language with textual and graphical syntaxes. Ballerina incorporates fundamental concepts of distributed system integration into the language and offers a type-safe, concurrent environment to implement microservices with distributed transactions, reliable messaging, stream processing, and workflows.
Ballerina is a language designed to be integration simple. Based around the interactions of sequence diagrams, Ballerina has built-in support for common integration patterns and connectors, including distributed transactions, compensation and circuit breakers. With first-class support for JSON and XML, Ballerina makes it simple and effective to build robust integration across network endpoints.
Cloud native
Network primitives in the language make it simpler to write services and run them in the cloud.
Flexibly typed
Structural types are used for static typing within a program and describing service interfaces.
Data oriented
Type-safe, declarative processing of JSON, XML, and tabular data with language-integrated queries.
Graphical
Programs have both a textual syntax and an equivalent graphical form based on sequence diagrams.
Concurrent
Easy and efficient concurrency with sequence diagrams and language-managed threads.
Reliable, maintainable
Explicit error handling, static types, and concurrency safety combined with a familiar syntax.
Cloud native
Network primitives in the language make it simpler to write services and run them in the cloud.
Flexibly typed
Structural types are used for static typing within a program and describing service interfaces.
Data oriented
Type-safe, declarative processing of JSON, XML, and tabular data with language-integrated queries.
Graphical
Programs have both a textual syntax and an equivalent graphical form based on sequence diagrams.
Concurrent
Easy and efficient concurrency with sequence diagrams and language-managed threads.
Reliable, maintainable
Explicit error handling, static types, and concurrency safety combined with a familiar syntax.