Friday, June 28, 2013

Scientists Ready To Admit : They've Always Been Horses

Always. The evidence they were ever anything but horses is non-existent.

Tall horses? Dappled horses? Big muzzle, short tail? Feral? Domestic? It's still a horse. There are plenty of genetic strains of the horse. There is enormous variation in genetic makeup and a huge spectrum of epigenetic expression that the horse can produce according to environment, climate, diet, predators, ground cover, vegetation, habits. Some species are night-blind. Others have extra ribs.

But it is still a horse. Not a different species.

One big paradigm shift I have had mentally recently, maybe my biggest readjustment in quite a while, is the epiphany I have had about taxonomies. They are artificial constructs created by experts in narrow fields to assist them in making up impressive looking charts they can hang in their classrooms. Taxonomies may not exist in fact at all, throughout the universe, anywhere.

This is critical in my profession, where slavish obsession to the mental framework of the taxonomy has possessed the industry for nigh ten years because of their usefulness in designing GUIs with the "OBJECT-ORIENTED" paradigm. The OOP ideology is best distilled to IS-A relationships. It works great for GUIs. Everything else ... I just don't know anymore.

I am starting to believe that IS-A is all wrong. It is more like HAS-A in the real world. There is no PARENTED-TO when what matters more is GROUPED-BY. You have to be a programmer to appreciate what I am talking about. TABLES are BETTER THAN OBJECTS. Horrific blasphemy, I know. But true. This is part of my coming to understand the Lua scripting language and why it kicks amazing ass in 65K of compiled code.

The horse is not a family of species. Wrong. That is incorrect. The "horse" is a creature whose defining classification rests on the fact it falls into the HORSE-GROUP. Having a fluffy mane doesn't make it not a horse or even a different species. It's a HORSE with a fluffy mane.

We have no skeletons of horse-sloths, horse-shrews, horse-monkeys, horse-sheep, horse-goats.

There are no intermediary stages.

Perhaps this is because Robert Felix is correct. So-called "evolution" is in fact a brief, punctuated equilibrium in which a mad scientist's lab of freakish creation amidst magnetic storms produces wild variety and complexity from the existing gene pool. Followed by eons of steady state biology. I believe this is the case. I think Robert Felix is better than Darwin and closer to the truth of the situation.

Whatever is the truth, the only thing I can tell you with certainty is absolutely not accurate is traditional Neo-Darwinism. The facts say that is not how this works at all.

P.S. I inquired some more in this vein. Do you know the reason scientists prefer taxonomies over extraordinary coincidences? The fact is, taxonomy is artificial, invented and easy enough anybody can do it without fear of being proven wrong. On the other hand, recognizing HAS-A relationships can be a lot more demanding and requires good mental discipline, whereas IS-A can be pretty much whatever you want to say it is as an arbitrary assignment. You can pretend IS-A represents a cascade of accidents, like for example putting some deer at the top of a tree of horse relationships and just announcing "all horses must be descended from the deer." It may be a complete fabrication and made up on the spot, but the chart looks cool ... giving the impression the scientist really knows what the hell they are talking about. By the time they are proven wrong and people know horses did not descend from deer, they will be safely ensconced in retirement. To see HAS-A groups is to concede that somehow, as incredible as it may seem, there appears to be a metaphysical category of things called "HORSES" to which something belongs, even as it exhibits great differentiation in its own way. When we talk and think in terms of HAS-A, we are showing recognition that there may not be a tree of relationships all multiplied from some original form at all. Taxonomies appeal to gnostics. HAS-A says we admit ... all we know about it for sure is that it is some kind of horse. It may have not come from anything. It may have always been a horse, for all eternity.


Edward said...

Are you TopMind in disguise?

Got to say I'm approaching the same point as you.
Hierarchies of classes as GUI components, or processing components (streamreader etc.), or even abstract collections work fine, objects as an alternative to structs for bits of data just get in the way.

The structural types of functional languages, or the interface based
polymorphism of Google's 'GO' seem like much less messy ways of doing these things.

Shame I've yet to really grok those in any depth so I'm stuck in C#/Java territory.

The original Alan Kay OOP ideal was never really understood properly by those that practiced it.

Grognard said...

I agree on both points completely and have felt that way for decades.

Anybody who gets caught up in design patterns is incompetent.

You have to be pretty much a C++ expert to grasp why those patterns get used and the tradeoffs involved. And to realize how most of them are completely useless outside of C++, being workarounds to specific C++ issues.

Composition is better than inheritance in many ways. There's no time to worry about data hiding, you need to worry about functionality hiding/limiting especially when dealing with silly APIs that you will very likely end up replacing at some point.

Best practice is not to do what everyone else does, it's to limit the exposure your code has to their terrible code. Not everyone can program at all and only a very few can do it really well.

Taxonomies are totally made up. Evolution comes in leaps and bounds. In times of plenty there's little selection pressure, lots of random mutations. Only the most strikingly important mutations get retained if they aren't fixed already.

In times of stress 99.9%+ of the population ceases to exist. Suddenly humans worldwide get brains 50% bigger for a real world example. The genes were there but the people who had all important genes suddenly seemed like a whole new species. Then for 10k brain size has shrunk, not because it's been more efficient but because selection has been laxer.

But for taxonomies they separate horses into many groups based on color. There's hundreds of species of minnows which can all interbreed with no problems. So you can't take it too seriously, you can't think of zoology or anthropology as a science because it's not.

Jack Black said...

Interbreeding with cousin groups is more likely the cause of evolution than the current model. Horse breeding by a higher power is far more likely to produce something new new than random mutations are.

In any event after looking at DNA, it's clear we don't shit about life yet. Maybe in another 1000 years we can start making some decent guesses.

Grognard said...

Virtually all horse breeds have closed books so no improvement is happening that way.

In the wild typically selection happens when environment changes. Go to a new environment and wild leaps of evolution happen very quickly. Such as the frogs invading australia developing longer legs because the ones who can get to the new territory the quickest have a huge advantage. Periods of millions of years of complete stasis are common when environment is the same and no way to go to a new niche is common.

With horses and dogs there's a huge degree of inbreeding. The Thoroughbred breed only has three stallions that have produced the entire line and no new mares for a long time.

But it's like having heavy natural selection at all times because if a horse like Secretariat comes along in a few generations every single horse of the breed will be able to trace back to it. So you keep any major beneficial mutations, at least ones that affect the qualities that the breeders care about.

When you have

Mex Arcane said...

Q: How does an Object Oriented programmer get rich?

A: Inheritance.

Grognard said...

And for your PS: exactly. 100%.

Also, there's two important things in OO design IMNSHO (in my not so humble opinion). Composition, and pure virtual classes.

Most people calling themselves OOP don't seem to use either much, and pure virtual once in a blue moon at most if ever. Probably because it's scary and confusing and they read somewhere it's very inefficient. So instead they create multiple objects to accomplish the same behavior, fragment their memory more, and cripple their performance.