upvote
The worst code base I had to work in by far was a Python code base. Extremely difficult to refactor. Many bugs that were completely avoidable with static typing. I think maybe more modern Python is a little bit better but wouldn't be my choice for large projects. It's not just about correctness. It's also about performance. That code was so slow and that impacted our business.
reply
Refactoring is a young mans game. I either nuke it and start over or treat it as a black box.
reply
You can just as easily take a static language dynamic - in userland.

I've interop'd with JS from Haskell and you can just go full dynamic property access. And gradually add phantom typed APIs around it.

reply
Debugging Haskell and JS in the same stack? You kids are brave. And/or I'm a coward and a simpleton.
reply
I debug in ghci mostly

console.log also still works fine

reply