so was reading douglas hofstadter's excellent "I am a strange loop", and thinking about hard problems in CS in the sense of problems that are kludged around but not really elegantly solved - in the book, DH claims that class/superclass confusion is a first class part of human thought and yet ever since Principia Mathematica, everyone tries to ban (set v. powerset, or member, v. set of) the idea from formal thought - this seems to apply in CS too - but in reality, from time to time, we need to apply an idea and generalise it in some much more powerful and insightful way than this restriction permits - at the lowest level, this is what lets you program bits on wire (bare metal coding in comms and OS work) and then write the rest of the system in some typesafe way. but the "shift" in levels should not be the "dirty little secret" (casts etc) it is today - it should be a proud first class concept and mechanism for CS to use just like DH does
there's probably some parallel problem lurking in the occasional need to think about multiple inheritence too...but I can't quite think what it is right now...
No comments:
Post a Comment