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

3 Mentors

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

68 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

A tremendous learning opportunity to explore the depth of your own knowledge

Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.

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 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.
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 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.
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
Calculator Service
easy
json
services
http
types
Greeting Service
easy
http
services
strings
Hello World
easy
strings
Echo 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