Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Always happy to see another language being born, especially one that's put together like this - assuming all of it works (have not yet downloaded or played with it, this is based on reading your website)

That said:

1. This is bikeshedding, but you cannot make a statement like "diagram is the code, code is the diagram" and not show how to actually do that. The home page even has a sequence diagram. If you meant that the written code looks like a sequence diagram if you squint, then say that.

2. What makes this a Perlis language? I knew every term in the by example summary [1]. Is it annotating functions as services with metadata, or in-language support for xml/json, websockets/http2, etc? How is that different from other batteries-included languages like wolfram, for example?

3. Related: the problem with a batteries included language is that it gets bigger and bigger over time; hence the idea of "small language, large library base". What will you do with the language when its usage pivots over time - add more batteries as standard?

4. Minor: Many links to GH on the community guide page [2] end in 404s.

[1] https://v1-0.ballerina.io/learn/by-example/ [2] https://v1-0.ballerina.io/community/



Here's what the spec [1] says about the sequence diagram aspect of the language: "[Ballerina's] abstractions and syntax for concurrency and network interaction have been designed so that there is a close correspondence with sequence diagrams. This enables a bidirectional mapping for any Ballerina function between its textual representation in the syntax described in this specification and its graphical representation as a sequence diagram, such that the sequence diagram fully shows the aspects of the behavior of that function that relate to concurrency and network interaction."

The two biggest things that are different about Ballerina in my view are the language abstractions for providing and consuming network services, and the correspondence with sequence diagrams.

[1] https://ballerina.io/spec/lang/2019R3/


Can you share a sample of code, its equivalent sequence diagram, and how one is converted to the other please? I see that the samples have caller->method() style code, but how is this a sequence diagram? And where's the actual bidi mapping?

To be clear: I'm not critical; its good that ballerina attempts to bridge the visualization and the implementation. I'd like to see an actual sample, though.

Edit: Never mind, found the other poster who discovered your IDE plugin that shows the sequence diagram equivalent. Not sure how this is part of the language, though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: