Live data from Hacker News

Ballerina, a language with structural type system

v1-0.ballerina.io

81–90 of 126 posts

Re: Ballerina, a language with structural type system

#81
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/

Re: Ballerina, a language with structural type system

#82
post #73

Earlier quoted context omitted.

> In a culture that says that women aren't programmers Culture doesn't "say" this, culture reflects the reality that this is mostly the case. If the reality changes, culture will adapt to that new reality. Thinking it is the other way around is a classic case of the "wet roads cause rain" fallacy[1]. See also Lee Jussim's work on Stereotype Accuracy , [2] is a good intro. [1] http://larvatus.com/michael-crichton-why-…

Unlike rain and wet roads, it’s not a one-way cause and effect. Skewed representation makes sexist stereotypes more likely, and sexist stereotypes contribute to more skewed representation. To break a vicious cycle we need to be sensitive to the things that feed it.

Except that it is. A one way street, that is.

You are simply asserting that "sexist stereotypes contribute to more skewed representation", which is no better than asserting that wet roads cause rain.

First, there is nowadays strong evidence that people generally do not hold explicitly sexist views. So the fact that people know that there are, for example, fewer female software engineers does not mean that they think women are incapable of being software engineers. Knowing that there are fewer female software engineers and therefore a software engineer you encounter is more likely to be male is not sexist, it is simple knowledge of the facts.

So what about "implicit bias"? Well, the poster child for implicit biases, the Implicit Association Test, is actually highly dubious, as results (a) are highly inconsistent [the same person will get wildly different scores on different instances of the test] (b) quite weak and a bit different than reported and (c) do not predict biased behaviour.

What do I mean with "a bit different than reported"? IIRC, it was reported that the IAT showed men being biased against women. Which was a bit of mischaracterisation: for male subjects, there was no difference in "bias" for/against women or men, but women had a positive bias towards other women. So there was a difference, but not quite what was reported. (This in-group bias was also discovered in a different study).

Finally, what about the backwards causality? Let's take Stereotype Threat. Results were always weak and somewhat questionable, and basically crumbled in the replication crisis, the effect disappearing when controlling for publication bias.

https://replicationindex.com/2017/04/07/hidden-figures-repli...

Re: Ballerina, a language with structural type system

#83
post #39

Like other WSO2 stuff, Ballerina suffers from too many almost complete features. As I see it, they can hire dozens of coders in Sri Lanka, but don't have a good product management team that can turn a 95% complete feature into a market-ready one.

I'm the founder of WSO2. I'm from Sri Lanka. We have 100s of coders from Sri Lanka (not dozens). I'm the creator of Ballerina. I'm now its product manager. Ballerina is in its first GA release. Please elaborate on what features you see as "almost complete"? And regards to your comment about WSO2's inability to produce market-ready products, we have 500+ customers from all over the world for our products. What do we n…

Well, I just took a cursory glance at the documentation. Ballerina looks like it would be perfect for a data processing pipeline we run, I thought I could try it out for prototyping a new processing step, and see how I liked it.

This first use-case I could think of involves XML processing. You have "native" xml types. Neat.

After reading the language spec, all the xml examples, and the documentation for the 'xml' and 'xmlutils' module, I have no idea how to read in a xml file and get an 'xml' value from it. I also don't know how to extract a record type from some XML, except by writing a manual mapper from the DOM node to the record.

The actual methods available on the 'xml' type seems kind of unfamiliar, even after working with XML in a lot of different languages. 'getName' and 'getElementName' seems to do the same thing for elements. For some reason. To determine the type of a node, you call 'getItemType'. But 'getItemType' does not document what happens with CDATA sections, document elements or document type elements. Why re-invent the wheel? what's wrong with getNodeName and getNodeType?

The 'slice' method is really weird. It expects numeric child indexes. I mean, you sometimes know the document order of the stuff you're working with, but that's not really XML-ish.

It looks like there's a lot of amazing work put into Ballerina, but I don't think I'll use it for this prototype.

Re: Ballerina, a language with structural type system

#84
post #49
post #8

Excerpted quote from their launch blog post ( https://blog.ballerina.io/posts/annoucing-1.0.0/ ): > That obviously starts with the Enterprise Integrator team as that is where this baby was flirted with, dated and then conceived; This is what happens when people think that coding is hard but writing is easy. WSO2: Please, on behalf of innocent eyeball-owners everywhere, hire a dedicated content editor.

You don’t even need to read past the product name. Like a lot of geeks they just don’t have a clue how to sell, nor how to hire talent that can. There is no part of their branding that is not a straight disaster. (And that shoulder massage…oy.) Look, real ballerinas are totally hardcore badass atheletes who could easily kick all our flabby nerd asses while standing on one toe, and I take my hat off to them for what t…

> how many professional software developers will really want to self-identify as “ballerinas”

Ballerina -> Baller. Problem solved.

Re: Ballerina, a language with structural type system

#86
post #50

Earlier quoted context omitted.

Jesus, that's my definition of oversensitivity. Literally everything, no matter how minor or insignificant gets turned into "this is driving women out of the industry".

Agree. I mean come on, then we could say the same about the ballerina pictured being a woman is driving man out of the ballerina industry. Stop being oversensitive about such minor things. I want to live in a society where there is no outcry over a chosen photo motive at all whether I want to picture a woman massaging a man or vice versa. Just let me choose the motive for a photo the way I think it fits.

> we could say the same about the ballerina pictured being a woman is driving man out of the ballerina industry

Maybe it is, I've got no problem if someone wants to make that argument. I don't know much about the Ballet world, so it's not something I'm going to raise myself.

On the other hand I've got personal experience of talking to a young girl who was trying to understand gender roles and if it was acceptable for a girl to be interested in space or computers because of things people had said to her at school. If she'd been looking at webpages with these kinds of pictures, I'm sure they would have had an effect.

> Stop being oversensitive about such minor things

At some point the regress of people getting annoyed about other people getting annoyed becomes ridiculous. I'm not spending time in a state of rage about this, and you don't need to be in a state of rage about my opinions about this either.

> I want to live in a society where there is no outcry over a chosen photo

And I want to live in a society where people understand that communication involves two sides, and that if your speech / picture selection makes a significant number of people think you're sexist and you aren't then maybe you should improve how you communicate.

Re: Ballerina, a language with structural type system

#88
As a co-creator of a language (Julia) with a name that is feminine in most of the world, let me give some friendly advice regarding the name "Ballerina", which means "a female ballet dancer". The way you talk about Ballerina comes off rather tone deaf to gender issues. In the post linked here and elsewhere on the language website, the female ballerina—and she is definitely a she—is talked about as an object of grace and beauty to be appreciated by the programmer, who is presumed to be male. In one cartoon on the site, the male programmer is getting a massage from the helpful, friendly, female Ballerina while he does his programming work. And then there is language like this (pointed out by @yoz):

> That obviously starts with the Enterprise Integrator team as that is where this baby was flirted with, dated and then conceived

This is really damaging: the Ballerina in question is referred to as "baby", she is flirted with and then conceived—weird because that's an unusual order of events, but I guess this means you knocked her up and then had a baby with her? I can't continue, even dissecting this sentence feels creepy. Just don't do this. It's weird and disturbing and it will put off most women and many men who might otherwise consider using or contributing to your language.

Consider renaming the language to "Ballet", which is distinctly non-gendered and doesn't have these issues but still suggests the grace and beauty you are inspired by and aspiring to. Seriously, consider this. Yes, it's late in the game (post 1.0) and you like the name you have, but it's close enough to the current name that you won't lose much branding and you can keep the same nice logo that you already have.

If you are going keep the name Ballerina, you cannot sexualize the name and you should have a rule that others in the community not do so either. Julia has a specific rule in the code of conduct saying "do not sexualize the name of the project"—we didn't originally think we'd need to say that, but it turns out people just cannot resist saying creepy, sexual shit about anything they perceive to be feminine.

Re: Ballerina, a language with structural type system

#89
post #69

Earlier quoted context omitted.

Catchy doesn't mean marketable or hospitable. You don't/won't go out saying you love Ballerina. :P The problem is that you should not use a widely used word for the name of your product/software/tools. It's hard for everyone who tries to get involved. A good name IMO is Typescript if you want to compare.

> You don't/won't go out saying you love Ballerina. Why not? What is wrong with "Ballerina"? If it's too feminine for you, that's a problem with you , and not the name.

To be fair, even though I don't at all agree that it is necessarily an issue, what he saids could be an issue for the other insecure brogrammers out there since it obviously is for him already

Re: Ballerina, a language with structural type system

#90

Earlier quoted context omitted.

Disclaimer: Huge personal hunch, might be down-voted to hell for writing this... I think that languages like this don't go mainstream because people like/want to write code , and anything that does not help to actually write code is seen as an hindrance. The main feedback I've heard about this kind of tool is "it's clunky, it's a pain to write code with". Guess what ? It's a good thing IMO. For this to go mainstream,…

Learning how to write code isn't a significant barrier. It's just pressing buttons on a keyboard. Logical thinking and problem solving are far more important. Switching to a visual language doesn't actually help you with that. Worse, if clicking virtual buttons with a mouse is slower than pressing physical buttons you will waste mental capacity that could have been used for problem solving and logical thinking.

Logical thinking and problem solving can greatly benefit from visual representations and feedback. I write code but I often wish the representation was much more visual than lines of dense monospaced text with a little bit of colour. Diagrams are often easier to parse and reason about. When trying to understand difficult code or figuring out a difficult problem before writing code I generally draw diagrams with pen and paper. These diagrams are much closer to my mental model than code, and I wish that a lot more of this translation could be automated.

"Visual language" doesn't have to mean low-bandwidth interactions.

Post reply on HN