Ballerina

Join the Ballerina Track
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.
Join the Ballerina Track
Track mentors

5 Mentors

Our mentors are friendly, experienced Ballerina developers who will help teach you new techniques and tricks.
Track students

210 Students

Join hundreds of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

9 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Ballerina

import ballerina/http;
import ballerina/io;

service<http:Service> hello bind { port: 9090 } {

  sayHello (endpoint caller, http:Request request) {
    http:Response response = new;
    response.setTextPayload("Hello Ballerina!\n");
    _ = caller -> respond(response);
  }
}

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.

Join the Ballerina track

Exercism is a great website

The reviews are incredibly helpful because they help me see things that I missed, learn about new ways and sometimes interesting discussions that can add a fun twist to maybe a simple problem.

Relaxed. Encouraging. Supportive.

Meet the Ballerina Track mentors

Once you join the Ballerina language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Hemika Kodikara

Hemika Kodikara https://github.com/hemikak

I am an Engineer at WSO2 working for the cloud native capabilities of Ballerina.
Avatar of Lynn Langit

Lynn Langit https://github.com/lynnlangit

As a Cloud Architect and Developer, I find the Ballerina language to be useful for many enterprise integration scenarios.
Avatar of Manuri Perera

Manuri Perera https://github.com/Manuri

I am an Engineer at WSO2. Currently working in the Ballerina team. Mainly contributing to Ballerina data client area.
Avatar of Maryam Ziyad

Maryam Ziyad https://github.com/MaryamZi

Enjoying working on/with Ballerina and writing about it
Avatar of Chanaka Lakmal

Chanaka Lakmal https://github.com/ldclakmal

As a contributor of Ballerina language, I find Ballerina makes it easy to write microservices that integrate APIs while maintaining reliability, scalability, observability, and security.
Fun. Challenging. Interesting

Community-sourced Ballerina exercises

These are a few of the 9 exercises on the Ballerina track. You can see all the exercises here.

Service Composition
medium
http
json
endpoints
match
types
error handling
Hello World Service
easy
strings
services
http
Echo Service
easy
http
services
strings
Hello World
easy
strings
Greeting Service
easy
http
services
strings
Service Invocation
easy
http
services
strings
log

Get started with the Ballerina track. As with everything on Exercism, it's 100% free!

Join the Ballerina Track