Live data from Hacker News

Dada, an experimental new programming language

dada-lang.org

51–60 of 428 posts

Re: Dada, an experimental new programming language

#51
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 novice I was able to fight a bit with the compiler and get things working.

The gradually typed approach is nice but it just sounds like smarter type inference would get you 99% there while keeping the performance (instead of using runtime checks).

Not having unsafe code is both interesting and limiting. I keep all my code safe for my own mental sanity but sometimes having bindings to some big library in c/c++ is convenient (eg Qt or OpenCV).

Re: Dada, an experimental new programming language

#52
post #25

It's weird, I want pretty much the exact opposite of this: a language with the expressive type system and syntax of rust, but with a garbage collector and a runtime at the cost performance. Basically go, but with rusts type system. I'm aware that there are a few languages that come close to this (crystal iirc), but in the end it's adoption and the ecosystem that keeps me from using them.

TypeScript maybe?

If we are going that far, I suggest hopping off just one station earlier at Crystal-lang.

Re: Dada, an experimental new programming language

#53
post #25

It's weird, I want pretty much the exact opposite of this: a language with the expressive type system and syntax of rust, but with a garbage collector and a runtime at the cost performance. Basically go, but with rusts type system. I'm aware that there are a few languages that come close to this (crystal iirc), but in the end it's adoption and the ecosystem that keeps me from using them.

If you do not want to mess with Rust borrow checker, you do not really need a garbage collector: you can rely on Rust reference counting. Use 1.) Rust reference-counted smart pointers[1] for shareable immutable references and 2.) Rust internal mutability[2] for non-shareable mutable references checked at runtime instead of compile time. Effectively, you will be writing kind of verbose Golang with Rust's expressiveness.

[1] https://doc.rust-lang.org/book/ch15-04-rc.html

[2] https://doc.rust-lang.org/book/ch15-05-interior-mutability.h...

Re: Dada, an experimental new programming language

#54

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.

I was thoroughly confused reading the Dada Manifesto[0], starting with the non-existent German meanings of the word dada and getting much stranger from there. Until I found out at the very bottom that it's a riff on a 1916 dada manifesto.

[0]: https://dada-lang.org/blog/manifesto

Re: Dada, an experimental new programming language

#55
post #32
post #25

It's weird, I want pretty much the exact opposite of this: a language with the expressive type system and syntax of rust, but with a garbage collector and a runtime at the cost performance. Basically go, but with rusts type system. I'm aware that there are a few languages that come close to this (crystal iirc), but in the end it's adoption and the ecosystem that keeps me from using them.

That sounds… bad? The whole point of rusts type system is to try to ensure safe memory usage. Opinions are opinions, but if I’m letting my runtime handle memory for me, I’d want a lighter weight, more expressive type system.

I like Rust’s type system just fine but for me it’s types combined with language features like matching that draw me to Rust. When I was still learning I made an entire project using Arc with no lifetimes at all and it was actually a great experience, even if it’s not the textbook way to use Rust.

Re: Dada, an experimental new programming language

#56
> As of right now, Dada doesn't really exist, though we have some experimental prototypes...

> OK, from here on out I'm going to pretend that Dada really exists in its full glory.

This is a brilliant trick I only recently discovered in another context: write the docs first, to validate the user experience of a novel system.

Re: Dada, an experimental new programming language

#58
post #45
post #10

Earlier quoted context omitted.

I'd say you want something like 'debug_msg()' for this. 'print()' should be async because it does IO. In the real world most likely you'd see the output once you yield.

gevent handles async fine without the explicit async/await .NET core will introduce something similar

The cost of it is that when you need to make something explicitly async, you have to wrap it into a greenlet in a much more involved way.

JavaScript lets you do it much more ergonomically.

Re: Dada, an experimental new programming language

#60

Earlier quoted context omitted.

There’s no claim to be as easy as javascript to write. Rusts “difficulty” stems from its single ownership model, and this model is “different” not “easier”. https://dada-lang.org/docs/dyn_tutorial/permissions

I personally find the semantics of javascript a lot harder to internalize than rust due to its scoping and very unintuitive object system. I can't imagine this is any more difficult than that.

I agree but most modern JS doesn't use prototypal inheritance.

JS has plenty of bad parts you shouldn't use. Classes are the main one.

Post reply on HN