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

139 Students

Join the many 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 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 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.
Avatar of Maryam Ziyad

Maryam Ziyad https://medium.com/@maryamzi

Enjoying working on/with Ballerina and writing about it
Avatar of Hemika Kodikara

Hemika Kodikara https://medium.com/@hemika.kodikara

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

Manuri Perera https://medium.com/@Manuri

I am an Engineer at WSO2. Currently working in the Ballerina team. Mainly contributing to Ballerina data client area.
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.

Hello World Service

easy
strings
services
http

Greeting Service

easy
http
services
strings

Order Management

easy
http
json
map

Legacy Service Client

easy
http
union type
match
error handling

Service Invocation

easy
http
services
strings
log

Hello World

easy
strings

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

Join the Ballerina Track