DConf 2013 keynote

H. S. Teoh hsteoh at quickfur.ath.cx
Fri May 10 07:51:52 PDT 2013


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.


More information about the Digitalmars-d mailing list