--- Dave Wallace <dwallace@magma.ca> wrote:
> Though my undergraduate degree is in electrical engineering, I have
> worked in programming since before I graduated, as a co-op student.
> Since the early 80s I mainly worked in optimizing compilers, which are
> large highly complex programs that translate computer programs into
> binary instructions that computers can deal with. While not totally
> universal within programming for many of us we explicitly talked about
> getting a simple compiler to work end to end as quickly as possible and
> then evolving it into the final product. The day "Hello World" worked
> from end to end was a major celebration. One group I worked with in
> Lexington Ky called it "first breath". Frequently though that event was
> months to years before the product could ship. No cases come to mind
> where any other procedure was followed that worked. In addition one of
> the real problems faced is that unless careful thought is given programs
> tend to devolve and wear out. Preventing increasing entropy is extremely
> hard especially over many releases and changes in staff. In more than 5
> cases that I can remember one of the strong motivators in doing a total
> rewrite (order of 40 to 100 person years for highly expensive staff) was
> that the compilers had become so old and creaky that finding people
> capable of understanding and maintaining them let alone adding new
> features was close to impossible. "Write a simple program and evolve it"
> was almost a mantra in the industry. I realize this is not evolution in
> the sense of the programs changing themselves, however evolution and
> increasing entropy were the words used to describe the processes
> involved for good or ill.
>
Although it's not natural evolution, I think it's possibly a valid model for
evolution, along with my mousetrap model (see
http://www.calvin.edu/archive/asa/200604/0088.html). Call it "agent implemented
evolution". What is the agent in the case of natural evolution? Well, the OT
several times has God issuing commands to nature (Gen 1, Psalm 19:2-4, ...).
Or, (and I'm not advocating this) you could imagine angels carrying out some of
God's creative commands. While God's commands are perfect, agents, not being
omniscient, must use trial and error to achieve a result.
Anyway, I am also a EE whose career was mostly spent writing code -- not
compilers, but control code, digital signal prfocessing code and simulation
code. And I am well aware of "evolving code". We always tried to design our
code carefully, to make it easy to modify/upgrade. And the
modifications/upgrades always came, and over time the code got more and more
brittle.
Bill Hamilton
William E. Hamilton, Jr., Ph.D.
248.652.4148 (home) 248.303.8651 (mobile)
"...If God is for us, who is against us?" Rom 8:31
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Received on Tue Apr 4 10:35:52 2006
This archive was generated by hypermail 2.1.8 : Tue Apr 04 2006 - 10:35:52 EDT