Register | Sign In


Understanding through Discussion


EvC Forum active members: 63 (9161 total)
2 online now:
Newest Member: popoi
Post Volume: Total: 915,585 Year: 2,842/9,624 Month: 687/1,588 Week: 93/229 Day: 4/61 Hour: 0/4


Thread  Details

Email This Thread
Newer Topic | Older Topic
  
Author Topic:   Discussion of Phylogenetic Methods
dwise1
Member
Posts: 5925
Joined: 05-02-2006
Member Rating: 5.2


(1)
Message 163 of 288 (796042)
12-21-2016 11:31 AM
Reply to: Message 142 by vaporwave
12-20-2016 6:41 PM


Re: The purpose of science
But I think if an individual coder designed many variations of a web browser in short span of time, then it could pretty easily be interpreted as an evolutionary pattern.
No, not really.
I've been a practicing professional software engineer since 1982, so I might have some familiarity with the process in question.
It is true that we often do take what we refer to as an evolutionary approach. That is to say that we will copy some existing code that operates similarly to what we want and then we modify it. Copy-and-modify is basically how evolution works. Code reuse is also a very important concept in software design. Management comes to expect you to work that way and the time that we are given to complete the software design pretty much forces us to copy and modify old code. When we create a new member to our product line, we use an existing product as the baseline and start modifying it and adding to it.
We should note here that a by-product of that "evolutionary" process is that the code's complexity increases rapidly. It turns out that great complexity is a sure sign that evolutionary processes were used, as has been verified by experiments using evolutionary processes to engineer functional designs. So if you see something complex in nature, you can be sure that it had evolved.
Now the analogy with evolution starts to fall apart. During the maintenance phase of the product's life we are constantly required to add new features which are often incompatible with the original design, so we have to burrow back into the code and change the fundamental ways that the software works at its lowest levels. That cannot happen in nature. It would be like the evolution of a new species requiring completely changing how DNA works. Cannot happen. Evolution can only work with what it starts with; you cannot completely reinvent entire systems on the fly.
But wait, there's more! In software, we can also reach in, rip out whole sections of code, and replace it with completely foreign code. For example, you start with a software product that communicates with another program on another computer via the serial port. Then you migrate it to a Netware network, so you rip out all the serial port code and replace it with some Netware code you bought from a third-party vendor. Then you migrate to an internet connection, so you rip out the Netware code and replace it with TCP/IP code. This is facilitated by the object-oriented-design principle of encapsulation (ie, an object has an interface which the other objects use to communicate with it, such that that interface does not depend on the object's internals, on how it processes those inputs and generates those outputs. That means that you can completely replace the object's internals and have it work completely differently, and the overall design will never notice as long as the interface still works the same. This is called pin-for-pin compatibility, a hardware concept that also works in software with encapsulation.
Evolution does not support pin-for-pin compatibility. Web browsers do. Cars do. Life does not.
An "Intelligent Designer" would be perfectly capable of using pin-for-pin compatibility, yet we never see it happening in nature. It would be a very desirable practice, since many of the "designs" that have evolved are so convoluted and overly complex because of the constraint on evolution that it cannot completely replace entire sections but rather can only work with what's already there by copying and modifying.

This message is a reply to:
 Message 142 by vaporwave, posted 12-20-2016 6:41 PM vaporwave has replied

Replies to this message:
 Message 165 by Taq, posted 12-21-2016 11:45 AM dwise1 has not replied
 Message 182 by vaporwave, posted 12-21-2016 5:12 PM dwise1 has not replied

  
Newer Topic | Older Topic
Jump to:


Copyright 2001-2023 by EvC Forum, All Rights Reserved

™ Version 4.2
Innovative software from Qwixotic © 2024