* biologists all know that hierarchies are crap, but they still use
them. maybe if somebody can invent the knowledge tools that really
make slicing and dicing and pivot-tabling and tagging sanely and all
that jazz really, really work then it would break the mental log jam
for everybody in all fields. :-)

* i was under the impression that typeclasses in haskell and implicits
in scala all had some sad problems/limitations either theoretically
and/or in terms of usability (at least for Regular Joe Programmers
(but the kind of RJPs Who Are At Least Willing To Look For Something
Better)). i don't know if they are inherent to the whole idea, or just
accidentally part of those implementations. herr Wadler
posted/published that calculus for implicits (e.g. on ltu), so there
is hope of such warts being better understood and avoided?

* probably most people have limited capacity for dealing with
complexity. so like: i know that things such as classical hierarchies
are pure evil in the long run, but i'm not sure i'd be able to really
grok all the distinctions about other ways to model all the things
e.g. the smalltalk numerics. and even if i did "get it" i fear that
most people i have/do/will work with aren't going to care or "get it".
there are some diamonds in the rough now and then (if i ever hit the
lottery i have my laundry list of people i've worked with that i'd
actually really want to hire), but probably a lot more uphill battles
when it comes to finding and using the better/right abstractions.

so if you can also come up with some rules that help guide people in a
simple way, that can help. things like "no, really, inheritance is
disallowed. at least if it is the kind that conflates subtyping with
code reuse." you might not be able to do the dharma transmission of
all the alternative better design patterns, but if people are at least
willing to take on some rule like that then they are perhaps forced to
reinvent those alternative design patterns. but as long as we say,
"eschew is-a in favor of has-a" etc but at the same time allow for
concrete inheritance (and make it seem Ok by doing things like Java's
Observer/Observable, etc.) then it won't really stick.

i'm not trying to argue against any progress here in this thread, i'm
just thinking aloud about how we're still stuck with all this stupid
java-style OO hierarchical junk. probably the easiest way to look at
it is, "sun spend a buhzillion dollars on marketing and shoved java
down everybody's throat that way and brainwashed zillions of people
for decades to come." :-)

* another take on all of this: so what if we write crappy code -- the
question must not be 'how do we get it right in the first place?',
since we can't do that often enough / at all, so the question must be
'why is it so hard to rejigger everything from lowly refactoring all
the way through to reimplementing, redesigning, rearchitecting?' if we
had the tools to slice and dice successfully then who cares how it was
written, we can always fix it. a guy can dream.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to