The Cross-Disciplinary Discussion Forum

Share Next Entry
Let's Do Everything Well!
knowledge, the more you know
chancellor_dave wrote in polysophism
I've spoken to several friends lately about the idea of creating software libraries that are closer to universal than the libraries presently available. I'm speaking of software libraries for modeling real phenomena. And I mean I would attempt to fit multiple software models of a specific concept into the same library so the platform they're running on can select the one most appropriate to the situation based on preset guidelines. My ultimate objective in this would be to create a massively universal simulation engine. But let's not get into that part right now and just assume that I think this idea is a good one.

I told one friend about the idea and, while he sounded interested, he said this:

"The theory goes that if you have a code that does a lot then it doesn't do anything particularly well. Whereas if you have a code that does something well it usually only does one thing."

I heard a variation on this concept years ago from my great uncle, who was a professor at Texas A&M back in the 1980s. He used to teach in his classes that a computer either does one thing (or a few things?) very well or does a lot of things very poorly. My uncle may not have acknowledged any distinction between the computer and the software at that point. He got a new computer roughly 8 years ago to replace his really old one and I remember that he was amazed at the number of things it could do.

I have to wonder who this idea originally came from though. I honestly couldn't say and I wish I knew. I've tried to figure it out, but I don't know the original quote they're paraphrasing. Someone, at some point, thought this should be a spoken law of computing. It sounded good to a lot of people, so it took hold in the programming community. Anyway, if someone knows and tells me who the source of the idea was, I'll update this to reflect that new information.

Anyway, what I'd like to discuss are these two questions:

1. How valid do you all think the idea is about computing, that a program can't do many things well?

2. Is it possible that "doing something well" isn't always the same as "doing something useful?"

?

Log in