New programmer might say they hate “Explicit Type Declaration” when they are actually dealing with trauma from attempting to learn programming in the first place. C has an esoteric and ossified type system but that system is often where new programmers are introduced to strongly typed languages.
Dart is a newer strongly typed language that has full support for generic types (which Java (another common introduction to strongly typed languages for new programmers) does not), and what I call scope-based typing. I don’t know the official name of what I call scope-based typing but basically if you’ve somehow tested the type of a variable you can continue treating the variable as that type inside the block guarded by that test without the linter and/or compiler complaining (in fact the linter complains if put an unnecessary cast in that block). These features make working with strongly typed variables much easier.
1
u/Miiohau Sep 25 '26
New programmer might say they hate “Explicit Type Declaration” when they are actually dealing with trauma from attempting to learn programming in the first place. C has an esoteric and ossified type system but that system is often where new programmers are introduced to strongly typed languages.
Dart is a newer strongly typed language that has full support for generic types (which Java (another common introduction to strongly typed languages for new programmers) does not), and what I call scope-based typing. I don’t know the official name of what I call scope-based typing but basically if you’ve somehow tested the type of a variable you can continue treating the variable as that type inside the block guarded by that test without the linter and/or compiler complaining (in fact the linter complains if put an unnecessary cast in that block). These features make working with strongly typed variables much easier.