On Fri, May 10, 2013 at 01:09:32PM +0200, deadalnix wrote: [...] > First good talk. Some tweaking can be done to make it better. > > One of them is the plane metaphor. I now know that Walter is a big > fan of plane (and he knows quite a lot about that !) but the problem > is that the point is very subjective (the plane want to fly). > > I'm sure the plane idea can be kept, but must be presented in a more > factual/less subjective manner.
But the thing is, what constitutes "good code" *is* a subjective matter. How do you define "good code"? Mathematically speaking, anything that maps input into output correctly is equivalent, so a beautifully-written piece-of-art code is no better, by this definition, than an IOCCC entry that does exactly the same thing. But we'd never regard an IOCCC entry as "beautiful code" by any stretch of the term (even if you were the author -- I was, once, and it's exactly how Walter describes it: yes it works, yes there were quite a few ingenious hacks in it, and yes it got me the dubious honor of my code being featured on ioccc.org, but afterwards I really just wanted to hide it away somewhere, sweep it under the rug, etc.). It's even more subjective when it comes to language design. Mathematically speaking, the most beautiful language is the most concise and expressive (and hence the most powerful). By that standard, we should be programming with Lambda calculus -- after all, every computation can be expressed by Lambda calculus, so why clutter the language with redundant constructs? But clearly that's not what we're doing here. The thing is, we're trying to map our human mental concepts onto programming space in the nicest possible ways (rather than taking a purely objective, mathematical approach, i.e., Lambda calculus or Turing machines), and mental concepts, by definition, are subjective. T -- Be in denial for long enough, and one day you'll deny yourself of things you wish you hadn't.
