Ballerina is a general purpose, concurrent, transactional and statically & strongly typed programming language with both textual and graphical syntaxes. Its specialization is integration - it brings fundamental concepts, ideas and tools of distributed system integration into the language and offers a type safe, concurrent environment to implement such applications. These include distributed transactions, reliable messaging, stream processing, workflows and container management platforms.
Ballerina’s concurrency model is built on the sequence diagram metaphor and offers simple constructs for writing concurrent programs. Its type system is a modern type system designed with sufficient power to describe data that occurs in distributed applications. It also includes a distributed security architecture to make it easier to write applications that are secure by design.
Ballerina is designed for modern development practices with a modularity architecture based on packages that are easily shared widely. Version management, dependency management, testing, documentation, building and sharing are part of the language design architecture and not left for later add-on tools.
The Ballerina standard library is in two parts: the usual standard library level functionality (akin to libc) and a standard library of network protocols, interface standards, data formats, authentication/authorization standards that make writing secure, resilient distributed applications significantly easier than with other languages.
Ballerina has been inspired by Java, Go, C, C++, Rust, Haskell, Kotlin, Dart, Typescript, Javascript, Swift and other languages.
This talk will discuss the core principles behind Ballerina including the semantics of combining aspects of networking, security, transactions, concurrency and events into a single architecture.
Sanjiva Weerawarana is Founder, Chairman and Chief Architect of WSO2, where he leads the design, architecture and development of Ballerina. After starting WSO2 in 2005, Sanjiva lead the creation of a complete set of middleware products before deciding to throw them all away and start again with a programming language approach. Prior to starting WSO2, he was at IBM Research where he led the development of Web services standards and technologies. He's a long time open source developer and advocate and is a Member of the Apache Software Foundation, an Emeritus Board Member of the Open Source Initiative and Founder and Chief Scientist of the Lanka Software Foundation. He also volunteers in the Sri Lanka Army where he serves as the IT advisor. He received a Ph.D. in Computer Science from Purdue University in 1994.