Some past threads:<p><i>Ballerina Programing Language</i> - <a href="https://news.ycombinator.com/item?id=22401257" rel="nofollow">https://news.ycombinator.com/item?id=22401257</a> - Feb 2020 (50 comments)<p><i>Ballerina Programming Language Revamped, at 1.0</i> - <a href="https://news.ycombinator.com/item?id=20961269" rel="nofollow">https://news.ycombinator.com/item?id=20961269</a> - Sept 2019 (1 comment)<p><i>“Ballerina” Could Become the Programming Language of Integratio</i> - <a href="https://news.ycombinator.com/item?id=20937058" rel="nofollow">https://news.ycombinator.com/item?id=20937058</a> - Sept 2019 (1 comment)<p><i>Ballerina, a language with structural type system</i> - <a href="https://news.ycombinator.com/item?id=20924552" rel="nofollow">https://news.ycombinator.com/item?id=20924552</a> - Sept 2019 (120 comments)<p><i>Ballerina: An API-First Programming Language</i> - <a href="https://news.ycombinator.com/item?id=17302812" rel="nofollow">https://news.ycombinator.com/item?id=17302812</a> - June 2018 (2 comments)<p><i>Show HN: Ballerina – Cloud Native Programming Language</i> - <a href="https://news.ycombinator.com/item?id=16965616" rel="nofollow">https://news.ycombinator.com/item?id=16965616</a> - May 2018 (14 comments)<p><i>Ballerina – concurrent, typed language with textual and graphical syntax</i> - <a href="https://news.ycombinator.com/item?id=14698132" rel="nofollow">https://news.ycombinator.com/item?id=14698132</a> - July 2017 (31 comments)<p>(I assume there is only one ballerina here.)
I liked Ballerina at first, it brings numerous goodies that were previously available only in “enterprise” middleware to a simple programming language, with sane defaults.<p>For example, for network calls it has seamlessly configurable retries, timeouts, circuit breakers. It allows easy mappings from one to another message format, convenient payload standard manipulations, different endpoint configuration at the source code level, easy parallelization and many more features.<p>All of that comes handy when developing classic middleware services, and the code is cleaner and conciser that equivalent functionality written in Java, Go, Clojure, Node …<p>GUI editor for source code and easy switch from graphical to code view is also nice.<p>But, the language itself sucks. It's cumbersome, ugly, and unnecessary. All the Ballerina functionality should be in a Java (or JavaScript) library that would allow writing concise code in a language of choice. I wish someone, preferably WSO2, release such a library. Ballerina is already implemented in Java, so it would be possible to release it as a separate Java library.<p>The only reason Ballerina exists is to lock customers to WSO2 ecosystem.
I think the coolest part of Ballerina is that it includes visualization[0] as an officially supported part of the language.<p>There are lots of random projects on Github to visualize Python or Java code, but I think having viz as an official part of the language (so every Ballerina developer is looking at the same diagram for a given piece of code) is much sexier.<p>[0] <a href="https://ballerina.io/learn/why-ballerina/graphical/" rel="nofollow">https://ballerina.io/learn/why-ballerina/graphical/</a>
For anyone familiar with old style Apache/Java/Axis/Web Service stacks they know that feeling of bombastic claims, massive amount of Java classes and tons of 3rd party dependencies. This language has that vibe to it.<p>TBH I am not sure in world of sophisticated, lightweight Rust or Go based network/cloud libraries, frameworks and services this kind of anachronism would work.<p>One set of users I can think, who find it modern are those who
do not know of any newer version of Java after maybe J2SE 1.4.2. And those who think EJB 2.1 are at cutting edge of enterprise programing.
I know everyone loves showing hello world but for a "cloud language" I though it would be a one liner builtin to make a rest api that returns hello world.<p>They actually just print hello world to stdout.