Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



Interesting: 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.


Depends 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.


I 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.


Most languages in the ML-family are statically typed and have a REPL.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: