3 ms·
What strongly typed static languages are you talking about? > proving to the compiler that this thing is actually compatible with that thing I used to have th
by bad_user 9y ago
What strongly typed static languages are you talking about?
> proving to the compiler that this thing is actually compatible with that thing
I used to have this opinion, but nowadays I think that time is actually spent proving to myself that I'm right, which is always a good thing.
Having a compiler to do the hand holding is not such a bad thing, because the alternative is println-development.
What happens in a dynamic language is that you have to load in your head the shape of the data your working with, the API and everything really. Your head can't hold that much for anything that is bigger than a simple script, so you have to constantly execute and verify (in the REPL, in the browser, with a unit test, etc) each line of code that you write, before writing the next line of code.
This is why people complain about compilation speed in Scala, Haskell, etc, even if they miss they point, because even a slow, static compiler will improve efficiency, since you no longer have to compile and execute each line of code before you write the next one.
And yes, in my experience this is exactly what happens in big code bases built in dynamic languages, short of being really sloppy and introducing lots of bugs.