oh man, so many things. i'll choose the most annoying for me personally. let's say i am creating a new dart source file in a dart package, something i have to do quite often. the import section will look like this:
import "package:crystal/crystal.dart";
super easy. i can add it from memory, or copy an existing module in this package, which will already have that line at the top. it is extremely rare that i ever need to modify this, or add a second line to the import section.
meanwhile, let's say i am adding a new python source file to a package. the import section will end up looking like this:
import os, base, dart, execute
from typing import List, Optional
from .build import build
from .build_args import BuildArgs
from .build_type import BuildType, buildTypeList, buildTypeParse
from .build_type import buildTypeStrings, buildTypeValid
... and pretty much every change to this source file will require modifying the imports section, in ways that i definitely have not memorized, even after years of python programming.
trying to write a large program in python was, for me, death by a thousand paper cuts like this, which don't occur in dart.
Whatever one wants to say about Dart or Flutter, it sounds like the tooling and dev experience compares quite favorably to the more established stacks.
Yup, Dart itself is an ok language (and has improved dramatically in the time I've used it), but the tooling around Dart and Flutter are what make me stay. It's all fairly standard, but complete, and it basically always just works, and the handful of times it doesn't, it's when I've known I'm doing something odd.
The community has lots of great, well built packages, and the Dart and Flutter teams are also quite responsive to the community, and helpful when an issue does arise. I've spent several threads going back and forth with maintainers trying to figure out a bug, and I'm happy to say that every single time we've found a solution.
meanwhile, let's say i am adding a new python source file to a package. the import section will end up looking like this:
... and pretty much every change to this source file will require modifying the imports section, in ways that i definitely have not memorized, even after years of python programming.trying to write a large program in python was, for me, death by a thousand paper cuts like this, which don't occur in dart.