Content deleted Content added
GoingBatty (talk | contribs) m General fixes and manual cleanup, typo(s) fixed: Github → GitHub |
|||
Line 5:
| logo_alt = Ballerina Language
| released = 2017
| designer = [[Sanjiva Weerawarana]], [[
| developer = [[WSO2]]
| typing = [[structural typing|Structural]], [[strong typing|strong]], [[static typing|static]], [[type inference|inferred]]
| influenced_by = [[Java (programming language)|Java]], [[Javascript (programming language)|Javascript]], [[Go (programming language)|Go]], [[Rust (programming language)|Rust]], [[
| programming language =Java, Ballerina, TypeScript <ref name="sourcecode" />
| platform =
Line 24:
It is an [[Open-source model|open source]] project <ref name="sourcecode">{{cite web |url=https://github.com/ballerina-platform/ballerina-lang |title=Ballerina source code |author=Open Source Contributors |date=18 June 2019 |publisher=[[GitHub]]}}</ref> started in 2015 by architects from [[WSO2]] as a code-based alternative to the configuration-based integration tools such as [[Enterprise application integration|EAI]], [[Enterprise service bus|ESB]], and workflow products.<ref>{{Cite web|url=https://www.infoq.com/articles/ballerina-microservices-language-part-1|title=Ballerina Microservices Programming Language: Introducing the Latest Release and "Ballerina Central"|website=InfoQ|access-date=2018-06-07}}</ref><ref>{{Cite news|url=https://searchmicroservices.techtarget.com/tip/How-does-Ballerina-stack-up-as-a-cloud-native-programming-language|title=How does Ballerina stack up as a cloud-native programming language?|first=Alan|last=Earls|date=2019-03-01|access-date=2019-07-23}}</ref>
It has various constructs geared toward cloud-native development including support for modern data formats and protocols, reliability, distributed transactions, [[Application programming interface|APIs]], and event streams.<ref>{{Cite news|url=https://searchapparchitecture.techtarget.com/tip/10-of-the-best-programming-languages-to-learn-in-2020|title=10 of the best programming languages to learn in 2020|last=Doyle|first=Kerry|access-date=2020-09-16|language=en-GB}}</ref><ref>{{cite web|url=https://www.youtube.com/watch?v=rRrJKM0BAAo|title=Evolution of Integration and Microservices with Service Mesh and Ballerina|last=Posta|first=Christian|access-date=2019-07-24|language=en-GB}}</ref><ref>{{Cite news|url=https://www.techworld.com/picture-gallery/careers/up-coming-programming-languages-for-developers-get-grips-with-3621455/|title=Top programming languages you should try|
== History ==
Ballerina was designed by WSO2 to improve productivity for application developers that have to work with [[Distributed computing|distributed cloud-native systems]]. The designers, who provided enterprise products in the [[Enterprise integration|integration]] space for over 10 years, used their knowledge of the industry when designing the language.<ref>{{Cite news|url=https://blog.jclark.com/2019/09/ballerina-programming-language-part-0.html|title=Ballerina Programming Language Part 0 - Context|last=Clark|first=James|access-date=2020-09-16|language=en-GB}}</ref><ref>{{Cite news|url=https://blog.jclark.com/2019/09/ballerina-programming-language-part-1.html|title=Ballerina Programming Language Part 1 - Concepts|last=Clark|first=James|access-date=2020-09-16|language=en-GB}}</ref> Ballerina was first publicly announced in 2017 and version 1.0 was released on September 10, 2019.<ref>{{Cite web|url=https://www.globenewswire.com/news-release/2019/09/10/1913510/0/en/Ballerina-Reinvents-Cloud-Native-Middleware-as-a-Programming-Language-Puts-ESB-on-the-Path-to-Extinction.html|title=Ballerina Reinvents Cloud-Native Middleware as a Programming Language
== Design ==
Line 34:
Some key concepts in Ballerina include:
* The network in the language - Ballerina introduces fundamental, new abstractions of client objects, services, resource functions, and listeners to bring networking into the language.
* [[Sequence diagram
* Structural, open-by-default typing - Ballerina has a statically-typed, structural type system that is designed to be network data schema friendly.
* Moving from code to cloud - Ballerina brings the entire program execution process to the hands of the developer with extensible metadata that gets compiled to runnable programs for all major cloud platforms.
* Automated observability - Ballerina incorporates automatic observability features into the language itself that helps keep track of metrics, logs and tracing.
== Examples ==
Line 164:
== Further reading ==
* Fernando, Anjana, Warusawithana, Lakmal (2020) ''[https://www.apress.com/gp/book/9781484251386 Beginning Ballerina Programming]'', [[
== External links ==
* https://ballerina.io
* https://github.com/ballerina-platform/ballerina-lang
{{Programming languages}}
|