On Sep 27, 2009, at 11:28 AM, Brendan Eich wrote:
> On Sep 27, 2009, at 2:57 AM, Maciej Stachowiak wrote:
>
>>> I'm musing a bit here, bear with me. If we only hack
>>> incrementally, and preserve backward compatibility with frankly
>>> dumb (or merely hasty) design decisions (many mine!) then we'll
>>> probably make less progress than if we try to rationalize old and
>>> new in a better systematic design.
>>
>> That's a little too abstract for me to tell if I agree or not.
>
> Shortest-path evolution can walk uphill only a little bit at a time,
> and get stuck at local minimal points in a design space, when over
> the big hill is a much better, richer valley to evolve in. This path
> dependency problem bits many real-world systems.
>
> I experience this point as hard and painful, like concrete -- it' s
> not abstract. I've been around too long to ignore it, as it's all
> around us on the web, and it has been since 1994 if not earlier.
>
> Compatibility concerns in the form of graceful degradation or
> progressive enhancement are not unmixed blessings. More coherent
> stacks from Microsoft, Adobe, and Sun can rightly claim to solve
> problems more cleanly and simply than the web. Of course these
> stacks have other problems, mainly from being single-sourced if not
> proprietary, but also from not progressing compatibly, and for other
> reasons I won't digress on.
>
> But there's no point pretending the Web (ES, DOM, etc.) is an
> example of a well-designed toolkit for building user-facing
> distributed apps!
But we're not really free to discard compatibility. So I'm not that
excited about the exciting opportunities we could have if we did. The
Web is a duct tape design but it works. Dropping compatibility would
kill one of its biggest advantages.
Systems that discard compatibility can also deliver an unusable Second
System, especially when designed by committee. I would point to
certain W3C specs that chose to break compatibility with existing
practice. They are often not only undeployable but also not very
compelling on their own terms.
I think compatibility constraints, even though they impose messy and
illogical quirks, can also act as a healthy counterweight to flights
of design fancy. Constraints make for good art.
Regards,
Maciej