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

I understand everything you are saying (didn't I make that clear in my original comment?). But I think you missed the point: I'm not arguing type systems aren't good. I think they are great. (re-reading - maybe I'm unfair on this. Your point about modern languages like Go and C# being better is a fair one)

I'm arguing that the single dimensional view the original article had on the speed of implementation vs correctness lacked some useful counter-perspectives. Infact, I think it was a pretty cheap shot, since it didn't recognize it as a critical tradeoff at all.

Go's structural typing-ish automatically-satisfied interface is even easier

Yes, I think the Go type system has some nice features.

Haskell, of course, well, you fight with the static typer for a few weeks at first

And that exactly the cognition overhead I'm talking about. Some productive programmers barely understand an if statement inside a loop. Using recursion is doubtful prospect.

I think the idea of people like that fighting a type system for weeks because it's good for them is completely unrealistic.

Note I'm not arguing that it isn't good for them: of course it is. And of course a type system "is telling you things". But people are writing real programs quicker without it.

I do like optional type systems. I think that some combination of optional type systems, test systems and tooling integration could lead to a system than slowly adds types to improve the reliability of programs, without the cognitive load that the traditional upfront typing workflow imposes.

But I'm just speculating about that.

I do know that untyped languages are often more useful that typed languages precisely because of the increased difficulty programming that type safety brings. I think that tradeoff is disappointing.



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

Search: