does abstraction scale?
2007-09-20 14:55:47.023852+00 by
Dan Lyke
3 comments
In the learning and personal choice thread, Sean mentioned ThoughtStorms: DoesAbstractionScale (yes, funky intercaps because it's a wiki), and I think that nailed a big issue in software engineering: In engineering in general abstractions are useful, but those abstractions aren't designed to be hugely general: An I-beam is something you can reuse in various different operations, but the larger structure is built on I-beams, not built on generic trusses into which someone may shove an I-beam late in the bridge building process.
Kicked some neurons free for me, worth a read.
[ related topics:
Software Engineering
]
comments in ascending chronological order (reverse):
#Comment Re: made: 2007-09-20 17:13:30.675622+00 by:
Medley
Algorithmic abstractions certainly scale, consider generic search algorithms, or even something like Google's MapReduce..
But I agree that abstraction is very hard. I just think it's also very necessary.
#Comment Re: made: 2007-09-20 17:24:02.196141+00 by:
Medley
Sorry... this is kind of relevant to a project I'm working on right now... so...
But, another abstraction that scales extraordinarily well: instruction set architectures.
#Comment Re: made: 2007-09-20 17:44:40.011152+00 by:
Dan Lyke
Yeah, I'm not sure how to express my "aha" moment after reading that, but...
Computer languages are abstractions that scale well. A few lines of SQL is thousands of assembly instructions.
Object frameworks are often abstractions that don't scale well.
Perhaps the other way to look at it is that in software engineering abstraction works well when we start with the concrete and scale up, rather than starting with the abstraction and fitting concrete elements into it.