
Lessons from a Year of TDD - perverted_sage
https://channikhabra.com/talks/lessons-from-a-year-of-tdd
======
blumomo
"Dynamically typed languages cause more trouble than they are worth".

Here we have the classical fight. Those unreflected statements don't help
anyone as there are plenty of use cases and benefits for dynamically typed
languages.

~~~
perverted_sage
OP here. Thank you for giving it a read.

In my experience, I've find myself wanting dynamic typing when I want to
prototype stuff, or when I used to work with Java. Modern statically typed
languages (e.g Typescript) take care of most of my "rapid prototyping" needs,
while making a decent effort at keeping me from shooting myself in the foot. I
might of course be suffering from the "Javascript fatigue", but I feel the
same way when I am working with Python. Playing around with Haskell completely
changed the way I used to look at types. And the tooling that comes with a
statically typed language means much less cognitive overhead.

If you'd have some time on your hand, would you state the use cases and
benefits of dynamically typed languages that you have experienced here? I am
sure I am experiencing some tunnel vision.

~~~
blumomo
Exactly - I find dynamic programming languages very helpful to quickly iterate
over an idea and to make it MVP-ready. I have no experience yet with Haskell,
however I feel multitudes faster building applications in Python compared to
Java, Kotlin or Swift which I have all used extensively. Any of them has their
good advantages, though I never felt faster with Python+TDD – and I don't
write any type checking tests. Hopefully one day I can jump on the Haskell
train and feel what it's like. Probably then I understand your sentiments a
bit better.

