(no title)
darrencauthon | 13 years ago
I think he errors much more than he really thinks. If errors are what he's truly trying to avoid, he'd be more focused on unit testing and TDD than passing syntax.
Descriptions like his make me wonder how many static typing proponents have actually spent any legitimate amount coding in a dynamic language for a production application. It seems all scary to code applications without a big IDE, but I promise that it's possible and a lot of people make it work.
slurry|13 years ago
non-Java developers: "How can you code in fucking Java?"
eropple|13 years ago
I think I'm broken.
jfb|13 years ago
jussij|13 years ago
Java developer: "How can you code without a fucking IDE?"
Non-Java developers: "How can you fucking code in Java?"
qu4z-2|13 years ago
Unit tests cannot prove correctness, only provide a finite set of ways in which the program /isn't/ wrong. (having said that, they're definitely useful)
And above all, he's talking about his ideal programming language. Test coverage is the domain of the programmer. There's very little you can put in a language spec to improve test quality.
For the record, I'm a static typing proponent, and I do most of my coding in vim; I only use an IDE when I /have/ to (I use C# at work). I think a lot of people assume static typing necessarily means very verbose languages like Java, which isn't at all true. My ideal solution is some combination of type inference and optional typing that I haven't quite arrived at yet. I like being able to whip up a quick program without worrying about manual type annotations, but it's nice to be explicit about expected types in an API for instance.
Someone|13 years ago
You could require presence of unit tests with 100% code coverage (compile both in memory, run unit tests, write object file if 100% coverage)
I'm pretty sure it would drive people crazy, though, and would have them write almost meaningless tests. 100% coverage isn't enough, either.
jfb|13 years ago
[1] http://plato.stanford.edu/entries/value-incommensurable
jacques_chester|13 years ago
Meanwhile the static typing compiler is spitting grumpy errors about some nitpicktastic piece of fluff it spotted. Immediate negative feedback.
So given the weekend-new-language thing, which example leaves a better impression?
Basically -- generalising enormously -- dynamic languages reward in the short term and punish in the long term; static languages are the opposite.
But human cognition is dreadful at long term prediction or comparison. So static languages will always be underrepresented unless, I dunno, Haskell compilers start doling out XP for fixing errors in your code.