Skip to main content

Ballerina, the programming language for geeks, architects, marketers and rest

We@ WSO2 thrilled to announce our latest innovation at the WSO2ConUSA 2017. It is a programming language for all. It is for geeks who like to write scripts for everything they do, for architects who barely speaks without diagrams, for marketing folks who has 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 web site.
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 eco system. 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 speaks in different languages and sometimes this resulted in huge losses of time and money. Integration has lot to do with diagrams. Top level people always prefer diagrams than code but programmers do 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 the “Flexible, Powerful, Beautiful” programming language “Ballerina”. Here are the main features of the language in a short list.
  • Textual, Visual and Swagger representation 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, distribute code in 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
Tryout ballerina and let us know your thoughts on medium, twitter, facebook, slack, google and many other channels. We are happy to hear from you make integration great again.

Comments

Popular posts from this blog

WSO2 ESB tuning performance with threads

I have written several blog posts explaining the internal behavior of the ESB and the threads created inside ESB. With this post, I am talking about the effect of threads in the WSO2 ESB and how to tune up threads for optimal performance. You can refer [1] and [2] to understand the threads created within the ESB. [1] http://soatutorials.blogspot.com/2015/05/understanding-threads-created-in-wso2.html [2] http://wso2.com/library/articles/2012/03/importance-performance-wso2-esb-handles-nonobvious/ Within this blog post, I am discussing about the "worker threads" which are used for processing the data within the WSO2 ESB. There are 2 types of worker threads created when you start sending the requests to the server 1) Server Worker/Client Worker Threads 2) Mediator Worker (Synapse-Worker) Threads Server Worker/Client Worker Threads These set of threads will be used to process all the requests/responses coming to the ESB server. ServerWorker Threads will be used to pr

How puppet works in your IT infrstructure

What is Puppet? Puppet is IT automation software that helps system administrators manage infrastructure throughout its lifecycle, from provisioning and configuration to orchestration and reporting. Using Puppet, you can easily automate repetitive tasks, quickly deploy critical applications, and proactively manage change, scaling from 10s of servers to 1000s, on-premise or in the cloud. How the puppet works? It works like this..Puppet agent is a daemon that runs on all the client servers(the servers where you require some configuration, or the servers which are going to be managed using puppet.) All the clients which are to be managed will have puppet agent installed on them, and are called nodes in puppet. Puppet Master: This machine contains all the configuration for different hosts. Puppet master will run as a daemon on this master server. Puppet Agent: This is the daemon that will run on all the servers, which are to be managed using p

How to configure timeouts in WSO2 ESB to get rid of client timeout errors

WSO2 ESB has defined some configuration parameters which controls the timeout of a particular request which is going out of ESB. In a particular  scneario, your client sends a request to ESB, and then ESB sends a request to another endpoint to serve the request. CLIENT->WSO2 ESB->BACKEND The reason for clients getting timeout is that ESB timeout is larger than client's timeout. This can be solved by either increasing the timeout at client side or by decreasing the timeout in ESB side. In any of the case, you can control the timeout in ESB using the below properties. 1) Global timeout defined in synapse.properties (ESB_HOME\repository\conf\) file. This will decide the maximum time that a callback is waiting in the ESB for a response for a particular request. If ESB does not get any response from Back End, it will drop the message and clears out the call back. This is a global level parameter which affects all the endpoints configured in ESB. synapse.global_timeout_inte