Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introducing Ballerina

25,202 views

Published on

Ballerina, announced at WSO2Con 2017 in San Francisco, is a brand new programming language built from the ground to make it easier to design, describe and develop programs. It uses a unique visual approach allows you to create programs and integrate services and apps via sequence diagrams. In this slide deck, Sanjiva Weerawarana, CEO of WSO2, explains the workings of Ballerina and how it'll impact the future of integration.
Try it now and experience its capabilities at: http://ballerinalang.org/

Published in: Technology

Introducing Ballerina

  1. 1. … • – – – • •
  2. 2. • • • –
  3. 3. • • •
  4. 4. • • – – – • • •
  5. 5. import ballerina.lang.system; function main(string[] args) { system:println("Hello, World!"); }
  6. 6. • • • • • •
  7. 7. • •
  8. 8. • • •
  9. 9. • • •
  10. 10. • • • …
  11. 11. • – • •
  12. 12. • •
  13. 13. • • •
  14. 14. • • – • – – – – –
  15. 15. • – package org.wso2.foo; • • packagename:symbolname – • – import org.wso2.foo [as xx]; • ballerina.* •
  16. 16. • – – • • – json address_json = `{"name" : "$name", "streetName" : "${street}"}`;
  17. 17. • • • – • – xmlElement address_xml = `<address><name>${name}</name></address>`;
  18. 18. • •
  19. 19. • – • – – – •
  20. 20. typemapper TypeMapperName (TypeName VariableName) (TypeName) { Statement;+ }
  21. 21. • • • • • • • • •
  22. 22. fork (MessageName) { worker WorkerName (message VariableName) { Statement;+ [reply MessageName;] }+ } [join (JoinCondition) (message[] VariableName) { Statement;* } timeout (Expression) (message[] VariableName) { Statement;* }]
  23. 23. worker WorkerName (message m) { Statement;+ [reply MessageName;] } • MessageName -> WorkerName; MessageName <- WorkerName;
  24. 24. • • • • •
  25. 25. • • – •
  26. 26. • – – – – – • – ☺
  27. 27. • •
  28. 28.
  29. 29. • •
  30. 30. • – • • –
  31. 31. • • – • – –
  32. 32. • • – – •
  33. 33. • – • – – – – •
  34. 34. • • – – – – –

×