Hacker News new | past | comments | ask | show | jobs | submit login

And a good language.

Flutter/Dart promises this, but I really, really hate Dart.




Switching from Dart to Rust doesn't seem like a usability improvement, though?

It's good for other things like performance and safe concurrency, but a language that has GC seems easier for web development.


I've tackled UI from both the web end and the rust end, and I honestly can't say which I prefer. Javascript is definitely quicker and easier, I'll give you that, but I hold my nose when writing in it and people have been building interfaces in compiled/typed languages for decades without issue. I'd say it really depends on developer preference. I've grown to appreciate working with typed interfaces, and rust's compiler eliminates so many pains of working in the low-level space that I think it hits a really good mix of usability and performance. Do UIs really need the performance that the nerds on here gripe about every time something like Electron comes up? Probably not, so maybe HTML+Javascript (or WASM) is the winning combo. I don't really care either way, as long as I don't have to learn 5 different languages, platforms, UI frameworks, etc to release an app for desktop and phones as a single developer. And I already know Rust, so another option in that regard is welcome.


I also appreciate static type systems, but they both have one. It seems like what kind of static type system it is matters a lot for programmer convenience.

I'm using TypeScript nowadays (via Deno), and it seems quite flexible. (Deno is built using Rust, but that's not visible to the programmer.)

I would try Flutter again if I wanted to write a mobile app. I'm not wild about stateful / stateless widgets, though. Signals seem nicer.

And maybe this Rust framework will work out?


Honestly curious: what makes you hate it so much?


I found it hit a strange position between trying to be friendly and trying to be powerful. Things felt very inconsistent. After learning a few patterns in the language, other things I would expect to follow the same patterns went off in their own direction. I wish I could conjure up more specific examples but that's about all I remember from it.

It felt like a language that was built for the singular purpose of supporting Flutter (which I actually did enjoy learning) instead of something that needed to exist in its own right. I wish they'd just picked something already baked.


Well, it was created before Flutter, so it wasn't built for that purpose. They did however steer Dart's direction in a way that would be more suitable for Flutter than as a JS replacement which is what it was created for. I don't think it's fair to criticize Dart in the way you have without giving any examples. I haven't found it to be trying to be powerful at all. For example it uses async-await, defaults to dynamic arrays and doesn't focus on classes as much as eg. Java. So I find it to be simple on all accounts. And the developers have specifically stated that their intention with the language is to be as intuitive as possible with the smallest amount of surprises. And I've found that to be the case. I almost never need to actually look at the documentation. Meanwhile I always find myself in MDN looking at some strange JS API (`Date`, for example) despite using it for much longer. And don't even get me started on Java.




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

Search: