4 later thoughts

0

After doing a bit more with static languages (esp. Rust), I think the thing is that static typing requires more design up front.

I'm not sure this is a Good Thing. Nor am I sure it's a Bad Thing. Sitting down and thinking about a problem before trying to solve it can save heaps of time and net you a better result (see Hammock-driven development).

In team situations in particular, it helps so much to write down the problem you're trying to solve.

But then there's a lot to be said for interactive exploration too. That's much harder in a static language, where you have to define your data types in advance. Where generally you don't have a REPL, and even if you do it's less useful than the equivalent dynamic one.

1 earlier thought