[Edu-sig] Design patterns

Arthur ajsiegel at optonline.net
Tue Aug 23 14:59:56 CEST 2005


>> I guess.
>> 
>> Though I can't say I find there to be much consensus out there about what
>> language features truly make for robust software development from group
>> or community efforts.  


>There's a long history of coders seeking consensus, but not arriving at any
>set in stone answers (no carved tablets at the Smithsonian), in part
>because the backdrop is always shifting, in terms of languages and
>technologies.  

Interesting to read Paul Graham's article "The Hundred-Year Language" which
- as noted in the article heading - was derived from his keynote at PyCon
2003.

http://www.paulgraham.com/hundred.html

"""
Languages evolve slowly because they're not really technologies. Languages
are notation.
"""

In his mind, (and I think in yours as well) computer languages are more like
mathematical notation than a form of technology.  And as such, evolution is
slower - not at the pace of the changes in the underlying technology. 

Though certainly not uninfluenced by those developments.  The most important
technological development he seems to point to is the increasing raw power
and speed of processors, which allow languages to design away from a
preoccupation with performance issues.

He thinks - though without great confidence in his intuition here - that
Java is an example of a language headed down a dead-end evolutionary path.
Than so must too be C#. 

Despite having some understanding that it must be annoying to hear
high-fallutin theory from someone at my level in this domain, I persist.  

And it seems to me that the evolutionary successful language will include in
its approach clear and concise constraints on its ambitions.

If I am understanding "properties" mostly correctly, and in fact their
reason for being is to allow for a fundamental midstream redesign of a
program without alteration of that program's API, I am thinking something to
the effect that it is only possible to do the impossible in half-measures,
and half-measures are only half-measures and who wants to work in an
environment of half-measures.  

I don't think mathematical notation, for example, includes the concept of
the half-measure.

Whatever.

Art




More information about the Edu-sig mailing list