top | item 43962208

(no title)

Daegalus | 9 months ago

I love Dart as a language, but there were multiple choices made by Google that kind of ruined it outside of Flutter.

First, when it was still a viable Node.js alternative, Google only partially cared about that side. And when they did, they had someone make Shelf, which kind of killed a lot of web framework initiatives (including my own). Instead of building support tools, and fleshing out the stdlib, they were busy making competing libraries. And shelf was miserable to work in, and killed off a lot of desire to work on backend.

Second, at some point they just said F U to the backend and focused 100% on frontend, abandoning backend to whatever the current state it is in. I don't think they have improved anything on that front much.

Finally, when their gamble on Web/Frontend failed, and aliented all the tool/backend developers, Flutter was the only thing to save it.

Dart could have been a great Node.js alternative, but Google was too fixated on web. Typescript ate its lunch, browser devs said no, including Chromium team, and now Deno is a viable alternative to Node.js and Dart backend.

I still maintain a couple of my dart libraries, and have been for 12 years now i think (since Dart launched). maybe longer. but I don't do any other active dev in Dart. I just fondly think of what could have been anytime I go into those codebases.

discuss

order

rafaelmn|9 months ago

Thing is Dart is a shitty language with tradeoffs made specifically to make Flutter work well.

The terrible meta programming support shows in basic things such as JSON serialization. It's like Java--, I can't think of a reason to use it on backend over Java or Go.

It's not comparable to Javascript - despite it's warts, Javascript is very dynamic and when coupled with typescript that let's you do a lot of powerful things and describe it with the structural type system.

I have not used dart for a few years now but I've used it both when it was DartAngular and Dartium, and in flutter 2/3.

Don't get me wrong - the DX of writing flutter and fast reload is the best I've used in mobile space, but the language itself is terrible and I would not use it in any other scenario.

jrockway|9 months ago

Java-- is an interesting comparison. I used Dart when I was at Google like a decade ago and my impression as I was learning the language was that it was like a scripting language variant of Java. I'd have called it "JavaScript" ;)

I haven't really looked at it since then but it felt like a lighter and easier Java at the time, which I was fine with. (I did a lot of Java in those days.)

yomismoaqui|9 months ago

It's not my favorite language but Dart feels like a more modern less-verbose Java from another timeline. Features like sound null safety rule and writing Flutter apps feels nice, in no way Dart gets in the way.

That said, I prefer writing backends in Go. Less is more FTW.

EDIT: Also having the ability to compile it to JS, WASM, native for Android, iOS, Windows, Mac & Linux is a plus.

Daegalus|9 months ago

Fair assessment, I am not quite as polarized, but there is a reason i use Go, Deno, and Typescript myself.