3 ms·
An important point of using dynamic types is not mentioned: The actual workflow of coders: Compile, run, fail, repeat vs. eval, fail, repeat. After over 35 yea
by beders 7y ago
An important point of using dynamic types is not mentioned:
The actual workflow of coders: Compile, run, fail, repeat vs. eval, fail, repeat.
After over 35 years of coding - mostly with statically compiled languages -doing it REPL-style makes such an enormous difference in my enjoyment of the profession.
I'm not sure I can go back to a compiler.
- ameixaseca 7y agoMost languages in the ML-family are statically typed and have a REPL.
- gumby 7y agoInteresting: I was first exposed to incremental development (in LOGO, Lisp and Smalltalk) in the 70s and found static languages painful and alien into the 90s, but have mostly flipped my preference. I had a friend who described incremental programing as "programming by successive approximation". He wasn't praising it.
- rictic 7y agoDepends on the problem you're solving. That's a terrible way to write a filesystem, but a wonderful way to write a UI widget. It's hard to reason from first principles how much padding should be between items in a list, or how fast a spinner should spin.
- jkachmar 7y agoI might be misunderstanding, but it’s definitely possible to emulate this feedback loop with statically typed languages. For example, Haskell has the `-fdefer-type-errors` flag that will turn type errors into warnings at compile time and runtime failures if the expression that fails to type-check is evaluated.