Dart задумывался как "лучшее из миров":
- Java-подобный синтаксис (чтобы привлечь корпоративных разработчиков)
- Скорость JavaScript (с JIT-компиляцией в dev-режиме)
- Производительность C++ (с AOT-компиляцией для production)
На практике он стал ни тем, ни другим
- Для backend-разработчиков он слишком "легковесный"
- Для frontend-разработчиков он слишком "строгий"
- Для мобильных разработчиков — привязанный к Flutter
Его главная победа — это предсказуемость. В отличие от JavaScript, где this может быть чем угодно, или Python, где типы проверяются в рантайме, Dart предлагает:
- Статическую типизацию (но с возможностью опускать аннотации через var)
- Единый стиль кода (форматирование через dart format)
- Четкие правила наследования (никакой множественности)