|
![](/i/fill.gif) |
>> All I know is that every time I've used a dynamically-typed language,
>> I've spent 90% of my time fixing type errors
>
> You're not thinking clearly, then.
Right. Sure.
> The only time I get type problems is I'll occasionally mix up something
> like a list of list of X with a list of X, but that bombs out the first
> time you run it if the type system isn't absurdly forgiving, so it's not
> really any more of a problem than it getting caught the first time you
> compile it.
Unless, of course, the problem is on a rarely-executed code path. Like,
you make the same mistake a few times, and all the commonly-used code
paths get fixed, but there's one slightly rare path that you
accidentally miss.
The other thing, of course, is that you can't *change* part of the code
and then just follow the type errors to find all the parts that need
updating. You have to manually do several million test runs and hope you
hit everything.
Don't get me wrong, I can do it. (See my crazy JavaScript stuff, for
example.) It's just drastically harder than it should be.
> You're aware that C# has (or will have, depending how strict you want to
> be) the equivalent of eval, right? As does Java, in some sense?
You're aware that C# and Java are interpretted languages, right? ;-) (In
the case of C#, it's not even possible to install the runtime without
installing the compiler too...)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |