Let's talk directly about how we can make integration great again. It has been a while since we experienced a major innovation in the general purpose programming language landscape. Integration has not seen such a programming language innovation related to itself for a long time.
WSO2, a software company which makes enterprise middleware products unveiled the latest innovation in the integration space with its brand new programming language called Ballerina. Here are the slides presented by Sanjiva Weerawarana, the CEO and Chief Architect at WSO2.
I have been privileged to work in the core development team at WSO2 and take part in this innovative programming language. With this post, I'm trying to share my experience and knowledge of the purpose of this new language and what it can do.
Ballerina is a programming language for all. It is for geeks who like to write scripts for everything they do, for architects who barely speak without diagrams, for marketing folks who have no idea what programming is, and for so-called programmers who cracks any kind of programming language you throw at them. Simply put, it is a programming language with visual and textual representation. You can try out live samples at ballerinalang website.
Programming language inventions are not something we see so often. The reason is that when people are happy with a language and get used to it, they are reluctant to move from that ecosystem. Unless it is super awesome and can’t live without it, they prefer holding their position. This is even harder for general purpose programming languages than Domain Specific Languages (DSLs).
Integration of systems has been a tedious task from the beginning and nothing much has changed — even today. While working with our customers, we identified that there is a gap in the integration space where programmers and architects speak in different languages. Sometimes, this resulted in huge losses of time and money. Integration has a lot to do with diagrams. Top-level people always prefer diagrams rather than code, but programmers are the other way around. We thought of filling this gap with a more modernized programming language. That was our starting point.
Once we started the development and while doing the design of this programming language, we identified that there are so many cool features spread across different programming languages, but there is no one programming language with all the cool features. Then, we made design changes to make Ballerina a more general purpose language than a DSL.
Today, we are happy to announce Ballerina. Here are the main features of the language in a short list.
Textual, visual, and swagger representations of your code.
Parallel programming made easier with workers and fork-join.
XML, JSON, and DataTable as built-in data types for easier data handling.
Packaging and module system to write, share, and distribute code in an elegant fashion.
Composer (editor) makes it easier to write programs in a more visual manner.
Built-in debugger and test framework (testerina) makes it easier to develop and test.