Hacker News new | ask | show | jobs
by kluck 4089 days ago
If you can, choose a statically typed language over a dynamically typed one. Reason: more errors are caught earlier during development. The rest of the article is (in my opinion) really just pro-scala talk.
1 comments

That's oversimplifying. There are much more things to take into account than just that. If it was that simple, there would be no dynamic/weak typed language, right?
Its a fact: Using a dynamically typed language you have to write more code (tests etc.) to achieve the situation where you catch the same kind of bugs that a statically typed language would inform you during analysis. Strong and weak typing is a different thing.

And I agree, it is not that simple, but only if you take other factors into account.

Why wouldn't you take other factors into account? Or better, why would you take this factor in particular as the only factor that matters?
For me that is the most important factor, because it directly influences the amount of code produced. Less code means less bugs and less code to read/understand when getting back into a codebase.
Then I guess you chose the wrong side. Dynamically-typed languages produce less code precisely because you don't need to specify the types. E.g. Scala is more verbose than Clojure.
I'm not sure that Scala code + types is more verbose than Clojure code + tests. (Which is what the OP argued.)