On Mon, Mar 31, 2008 at 09:23:36AM -0700, Christopher Smith wrote:
Darren New wrote:
I'm more on Meyer's side of the fence: if your language has warnings
instead of errors, you've designed it wrong.
Yeah, 'cause we've been able to come up with a language where the compiler
can prove that everything is correct. ;-) Haskell, ML, and to a lesser
degree Eiffel come about as close as you can get, and you can see they
don't exactly have a huge user base for some reason.
There are a lot of really simple things that languages can do, like not
requiring pointer manipulation for ordinary things that eliminate large
classes of errors. There is a reason for the popularity of Java, Python,
and even C#.
Heck, we can't even solve the halting problem.
Anyway, here in the real world we have the option of treating warnings as
errors. I encourage you to investigate this option.
It's always a tradeoff between what is permissible in the language and its
safety. A language that requires extensive idiomatic knowledge of
low-level details isn't exactly condusive to writing correct programs.
I think Haskell and ML aren't popular because they are too extreme in the
other direction. Anything slightly out of the ordinary requires extensive
hoop-jumping.
I'm also starting to feel that languages are often popular for the exact
same reasons that they are bad.
David
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg