Live data from Hacker News

Dada, an experimental new programming language

dada-lang.org

241–250 of 428 posts

Re: Dada, an experimental new programming language

#241

Changing a quote to change "his" to "theirs" seem like a very Rust community thing to do. > Updated to use modern pronouns. https://dada-lang.org/docs/about/

Non-native-speaker take: I don't care, it just reads a bit "weird" as I learned English before and "theirs" was plural... but I am adaptable. As long as the meaning of the quote isn't changed I couldn't care less and it seems very important to some people. What I personally dislike though is the whole "Ask me my pronouns" thing... like "No, I don't care about your gender or sex, as long as I am not interested in a ro…

> I learned English before and "theirs" was plural..

Its been done before. See royal plural

https://en.wikipedia.org/wiki/Royal_we

Re: Dada, an experimental new programming language

#242

Every time I see a new language, I immediately check if it uses significant white space like Python. If it doesn’t, I sigh sadly and dismiss it.

Curious, I have the very opposite reaction, although I tolerate Python, but only for the massive amount of libraries and huge community. But as a language? Meh

What makes you so reliant on significant white space that any language without is a automatic dismissal?

Re: Dada, an experimental new programming language

#243

The main idea is that leases are an easier concept to understand than borrowing and lifetimes? I don't think it will be, it sounds like a concept of similar complexity and it won't make it an "easy language". People are scared of Typescript, so a typed language with an extra ownership concept will sound exactly like rust in terms of difficulty. Not that I get the reputation of Rust being hard, even as a complete novi…

Yeah, it's not clear who this is for. If you can handle ownership, this doesn't seem to have many benefits over Rust. If you can't handle ownership, and don't mind a runtime, just use Swift, which seems to be the main inspiration for Dada's syntax.

Re: Dada, an experimental new programming language

#244

Earlier quoted context omitted.

Yeah, ocaml is awesome! Frankly, if it had a more familiar syntax but the same semantics, I think its popularity would have exploded in the last 15 years. It's silly, but syntax is the first thing people see, and it is only human to form judgments during those moments of first contact.

> Frankly, if it had a more familiar syntax but the same semantics That's what ReasonML is? Not quite "exploding" in popularity, but perhaps more popular than Ocaml itself.

Don't forget ReScript

Re: Dada, an experimental new programming language

#245
post #22

Earlier quoted context omitted.

Maybe it’s actually a non-leaky abstraction because it makes the async-nature explicit. The alternative is hiding it, but it’s still going to affect your code, making that effectively a leaky abstraction.

Maybe there could be something like a aprint() wrapper, if the authors wanted to make the async nature explicit? Or something else, probably not this for one of the most common things a programmer must do.

Why is aprint “non leaky” but print.await “leaky”?

Re: Dada, an experimental new programming language

#247
post #150

Earlier quoted context omitted.

I think they didn't do a very good job explaining it. Await doesn't just mean "please run this thunk", it means "I am not going to deal with this thunk, can someone come and take over, just give me the result in the end". What this means, concretely, in Rust, is `.await` will return the thunk to the caller, and the caller should resume the async function when the result is ready. Of course the caller can await again…

So, you mean that this thunk is produced by the async function, and the await keyword will run it asynchronously? In other words, print produces a thunk, and print_point also produces a thunk, and when await is used on the later, it is executed asynchronously, which will execute the print also asynchronously. So we end up with 3 different execution context: the main one, a one for each "await"? What is the point of t…

> the await keyword will run it asynchronously?

From the point of view of print_point await executes the thunk synchronously, print_point execution stops and awaits for print to finish it work. But a callee of print_point might want it to run print_point asynchronously, so print_point is an async fn, and callee can do something more creative then to await.

Re: Dada, an experimental new programming language

#248
post #6

Their Hello, Dada! example: print("...").await I'm coming from Python, and I can't help but ask: If my goal as a programmer is to simply print to the console, why should I care about the await? This already starts with a non zero complexity and some cognitive load, like the `public static void main` from Java.

Yeah I'm not so sold, but mainly, I don't understand the logic here If I'm declaring an async function, why do I need to await inside it? like, if the return of an async function is a promise (called a thunk), why can't I do async async_foo() { return other_async_foo(); } and it will just pass the promise? Then you await on the final async promise. Makes sense?

[deleted]

Re: Dada, an experimental new programming language

#250

Why the name and the logo? Couldn't find info about it. Otherwise, the idea of creating something close to rust but without the complexity sounds interesting. I just hope they don't stick to that name.

Logo might be inspired by Marcel Duchamp's _Bicycle Wheel_

see https://www.moma.org/collection/works/81631

Post reply on HN