Ballerina Programming Language Revamped, at 1.0 – InApps is an article under the topic Software Development Many of you are most interested in today !! Today, let’s learn Ballerina Programming Language Revamped, at 1.0 – InApps in today’s post !

Read more about Ballerina Programming Language Revamped, at 1.0 – InApps at Wikipedia

You can find content about Ballerina Programming Language Revamped, at 1.0 – InApps from the Wikipedia website

Ballerina, which treats cloud native middleware as a programming language, has reached 1.0.

Paul Fremantle, WSO2 CTO and co-founder, demonstrated Ballerina at ApacheCon North America in Las Vegas on Tuesday. While Ballerina grew out of WSO2 as a way to address the shortcomings of the enterprise service bus (ESB), the code is open and freely available to everyone on GitHub.

At the same time, WSO2 in the coming weeks will be releasing a new version of its commercial Enterprise Integrator, which will include Ballerina. It has been released under the Apache License 2.0, but is not an Apache Software Foundation project, Fremantle said.

“We don’t have a big enough community for that,” he said. “That’s one of the reasons we’re here [at ApacheCon].”

A Programming Language with Networking Built In

Though many developers are using and/or creating APIs, existing languages generally don’t know or care about networking. While IO libraries seek to add networking in, Ballerina is designed to treat networking as a first-class aspect of programming.

It can tell the difference between a local network call and a call over a distributed system, and respond accordingly, he said.

“We tried to build in the concept of network, some of the challenges networking [brings] into the language. So that’s really why there’s a new language,” he said.

Paul Fremantle at ApacheCon North America 2019

Paul Fremantle describes WSO2’s path to Ballerina 1.0.

It’s a compiled, type-safe, concurrent language modeled on the notion of sequence diagrams. Ballerina programs are self-documenting and fit cleanly into the patterns of microservices and cloud native development, making it simpler to create RESTful and gRPC APIs. The syntax is designed around services; endpoints; network types, such as JSON and ProtoBuf; and simple annotations automatically create deployments for Kubernetes, Docker and Istio.

In a blog post, product manager Sanjiva Weerawarana, described the three years of work that went into building Ballerina.

“In 2016 we decided that the only real way to make integration programming dramatically better was to invent a full programming language. We figured, oh, it should take maybe 6-8 months and we’d be done,” he wrote.

Read More:   Why COVID-19 Contact Tracing Requires a Distributed Database – InApps Technology 2022

At the demo, Alex Karasulu, CTO and founder of OptDyn, seemed amazed at the speed at which it was produced.

“I spent five years writing a set of libraries called [Apache] Mina to do this, and [Ballerina] just blows that away,” he said. “This will revolutionize the way people write networking code.”

“Six friggin’ lines of code. It takes it down to six lines of code,” added Bruce Snyder, director of software development for SAP Hybris and vice president for Apache ActiveMQ.

Fremantle said not every audience to which he has presented Ballerina has been quite so enthusiastic.

“I think this audience is right on target for this. You could tell they were like, ‘I can use this. I’m going to use this,’” he said, especially those who saw the ease of deploying with Kubernetes.

Ballerina is production-ready, he said, with 95% of the spec marked stable. The other 5% is made up of experimental features that will throw up a flag, he said, and it’s likely that code will change.

The Evolution of Ballerina as a Cloud Native Language

Much has changed since Ballerina was first profiled in InApps in May 2018, he said.

“[Then] we were on a path to say this is just a really useful language to replace an ESB. … I was talking about the WSO2 use case, what you might call the integration use case. And just after that, we got on board a very experienced language designer,” he explained.

James Clark, one of the original XML designers, “meant to just do like a little validation check, say it’s OK,” Fremantle said. “And he and the team sort of suddenly realized that there was an opportunity to really make this into quite a nice language.”

“He just went through the language and said, ‘Guys, you’ve got an OK language here, but it’s just never going to be a great language.’ And so the biggest change since May 2018 is that we’ve really just spent 18 months cleaning it up, making sure it’s consistent, it’s logical. When a computer scientist comes and looks at it, they might not agree with everything, but they’re not going to say it’s just a mess. So that’s the one big piece.”

They also realized they were not going to get the performance they wanted. The original version was based on WSO2’s virtual machine.

Read More:   Google Preps Angular 2 for Final Release – InApps Technology 2022

They had basically written a VM on top of another JVM, then ran their own byte code, so effectively, it was interpreted. It was compiled into an intermediate form, but that intermediate form was interpreted, so it was kind of like when Java 1.0 came out, not taking advantage of all the advances in the past 20 years.  So they decided to rebuild it to generate JVM bytecode instead.

“Just to give you an idea, the old version was maybe doing 20,000 requests a second on my laptop; the new one’s doing 55. So it’s at least a factor of two faster. But it’s also more importantly, it’s tuning, it’s improving. And particularly if you build more complex logic, all the kind of cleverness comes in from the JVM,” he said.

New Features in Ballerina 1.0

Java interoperability, which allows users to call Java code from Ballerina, is part of version 1.0 as well as redesigned developer tools.

Overall, Ballerina provides:

  • Language constructs specifically for consuming and providing network services.
  • Abstractions and syntax for concurrency and network interaction that closely correspond with sequence diagrams, which enable bidirectional mapping of Ballerina source code between text and graphical representation.
  • A structural type system that is more flexible and allows for looser coupling than traditional statically typed languages.
  • Design to fit into a modern development lifecycle, including with continuous integration and continuous delivery (CI/CD) tools, such as Jenkins, Travis and Codefresh; observability tools, such as Prometheus, Zipkin and Honeycomb; and cloud orchestration systems like Kubernetes.

The Ballerina platform includes a framework for package/module management, including dependency and version management, a public web service for sharing modules, IDE tool plugins, a framework for documentation and testing, a resource library and more.

“We were attracted by Ballerina’s cloud native features, such as the automatic generation of Docker, Kubernetes and Helm artifacts, as well as its small footprint and faster boot times. It’s also capable of running a Lambda function (serverless) in AWS. Together, these capabilities have enabled us to easily run microservices in containers at scale and integrate with CI/CD tools with less effort,” said Sri Harsha Pulleti, integration architect and senior manager at Motorola, one of Ballerina’s early adopters.

WSO2 is a sponsor of InApps.

Feature image via Pixabay.

InApps is a wholly owned subsidiary of Insight Partners, an investor in the following companies mentioned in this article: Docker.


List of Keywords users find our article on Google:

ballerina programming language
wso2 esb
wso2 docker
wso2 kubernetes
wso2 integration
hybris platform
blockchain courses it fremantle
hybris java
wso2 enterprise integrator
sap hybris consultant
what is wso2
java hybris
ci cd tools for sap
wso2 documentation
ballerina language
wso2 micro integrator
apache wso2
wso2 ballerina
apache activemq
motorola one vision case
sap hybris cloud for customer
wso2 github
think ballerina
hybris jobs
microservices with wso2
oracle hospitality documentation
washing machine service fremantle
hire hybris developers
one piece revamped
hybris developers
hybris integration
protobuf java
sap hybris change management
wso2 reviews
wso2 products
net framework smaller than 1.0
wso2 is
wso2 enterpise service bus
microservices in wso2
wso2 team
application portfolio tools with xml input
apache zipkin
hybris sap documentation
wso2 ceo
hire activemq developer
svelte developer jobs
apache mina
hybris consultant
case motorola one vision
hybris java developer
top apache projects 2018
jenkins jvm
apache con
sap hybris service cloud
svelte native
hybris development
svelte jobs
beginning wso2 esb
sap hybris logo
istio network policy
saw to esb
notion self care template
enterprise service bus
ballerina software
github wso2
fremantle wikipedia
wso2 ei documentation
wso2 source code
zipkin github
wso2 license
wso2 enterprise integrator reviews
enterprise integrator wso2
wso2 java
istio github
ballerina java
ballerina integration
hybris developer jobs
programming wikipedia
wso2 jobs
protobuf github
fallout new vegas change language
tommy ballerina
svelte github
codefresh status
wso2 logo
designer harsha
realway real estate
microservices wso2
oracle engagement cloud documentation
sap change original language
sap hybris jobs in usa
wso2 founder
tommy james wikipedia
“aim lock & safe”
embold technologies
codefresh variables
images of a ballerina
activemq observability
apache sshd
what is hybris platform
activemq wikipedia
help hybris wiki
las vegas custom software development
sap hybris demo
sap hybris job description
hire dna sequencing data analysis consultant
building footprint wiki
oracle service bus jobs
sap hybris wiki
svelte developers for hire
ballerina games
concurrency wikipedia
what is apache activemq
activemq scheduler
apache esb
ballerina cartoons
aws lambda feature flags
java hybris developer
sap hybris developer
commercial office cleaning fremantle
fremantle food delivery
hire a svelte programmer
apache scarf
hybris ecommerce review
language template notion
sap data quality microservices
docker middleware
ui designer las vegas
docker istio
activemq performance tuning
activemq virtual topic
cartoon ballerina
outsourcing company clark
ux foundations: logic and content online courses
apache enterprise service bus
sap hybris what’s new
continuous delivery for sap
sap success factors wiki
what is a hybris developer
oracle enterprise service bus
sap customer experience hybris
svelte rebuild
sap hybris sales cloud
jenkins observability
activemq integration
Rate this post
Content writer

Let’s create the next big thing together!

Coming together is a beginning. Keeping together is progress. Working together is success.

Let’s talk

Get a custom Proposal

Please fill in your information and your need to get a suitable solution.

    You need to enter your email to download

      Success. Downloading...