Want to learn and master Ballerina?

Join Exercism’s Ballerina Track for access to 50 exercises with automatic analysis of your code and personal mentoring, all 100% free.

Explore exercises

About Ballerina

Key Features of Ballerina


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.


Programs have both a textual syntax and an equivalent graphical form based on sequence diagrams.


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.

Get mentored the Ballerina way

Every language has its own way of doing things. Ballerina is no different. Our mentors will help you learn to think like a Ballerina developer and how to write idiomatic code in Ballerina. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Ballerina - they'll help you discover the things you don't know that you don't know.

Learn more about mentoring

Community-sourced Ballerina exercises

The Ballerina track on Exercism has 50 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.

See all Ballerina exercises

Get started with the Ballerina track

The best part, it’s 100% free for everyone.