Hacker News new | ask | show | jobs
by radiKal07 397 days ago
Dart is such an amazing language. I really wish it gained traction in more industries.
3 comments

In two companies we already gave up on Dart and Flutter because of how it's backwards incompatible is. The language and frameworks moves very fast, it develops new tools and classes before the old ones become mature enough and adopted by the industry. Then suddenly, Flutter 27 lands, requires Dart 45, which requires intl 81.2.5. and now you can't compile anything anymore. Whole upgrade process, tools, compiles and libraries are broken for months before Google and OSS catches up. Once ecosystem is on Flutter 27 your upgrade path takes weeks, because a core method was renamed or compiler flag removed and CI/CD is failing. So you just move back to Java and Kotlin, where code from 2012 still compiles and works just fine.
Genuine question: what do you think is amazing about the language?
Tooling, documentation, language design, balance across a million different competing goals, interoperability, deployability, simplicity, expressivity and much more.

It’s just a REALLY REALLY nice modern language with a team of very smart people behind it who very clearly sweat the small details and have a long history of being able to make great decisions along the way even in ambiguous situations where it’s not always clear what the best path is going to be.

Tooling, to start with.

First party lsp and plugins for IntelliJ, VSCode, formatter, test, Flutter, etc.

It’s like Go meets Java, but in a great way.

> It’s like Go meets Java, but in a great way.

I am struggling hard to imagine how any greatness could be achieved from that. Can you say a bit more?

Dart allows you to write compact and clean code, like GO. Dart properly supports classes and is feature-rich, like Java.

I think those are the main points for the above comment

Compact and clean is very far from my experience writing a very simple library management app with flutter. The framework literally gets in the way. You can't do anything without having to deal with some convoluted callback mechanism. You can't manipulate any object without some forced async crap. And it's so verbose. Despite my best efforts to keep things clean and organized, I get lost in the very small codebase after a couple of weeks. It's got to the point where I'm just rewriting it with Qt quick instead. It was my first time touching both flutter and dart, so maybe it's all subjective, but right now I think it's just a badly designed language/framework.
We must have very different definitions of compact, with Go requiring dozens of lines of boilerplate where other languages make do with one line of '?' or '.filter'.
I think we know what made it not popular then
Amazing tooling meets more than okay language.
Agreed, one of my pass the time activities during covid was basically just spending the year trying out and evaluating different languages across a whole range of different metrics and features. For me Dart was the clear winner and I’ve never once regretted making it my new default, in fact it’s only increased its gap compared to everything else in the time since then.