*sigh* Since you asked...
(Sigh, why do these discussions always turn out this way? Did *I* start it? Where?)
1. You made an assertion about how OO worked on some theorectical level.
2. Several people agreed you were on the right track.
3. You made several replies inviting more comment.
4. I replied pointing out that pretty much any language offering classes and objects does what you initially suggested by hiding it in language semantics and automating it for the programmer. (I thought you would get annoyed if I said it like that, by the way.)
5. You replied that I didn't make any sense.
6. I elaborated, citing basic Computer Science fundamentals about compiling, adding on a postscript about a personal point-of-view to programming.
7. You replied to just the postscript.
8. I flamed back. In the Flame Forum, because I wanted to get personal.
9. You responded like you usually do.
10. Still in the Flame Forum, I told you to go learn how a compiler works.
11. You decried that as unimportant information you had no intention of seeking.
12. Two other respondants in this thread began citing basic compiler techniques.
13. I advised one such that you weren't interested in that kind of argument.
14. You got upset.
Bryce, the techniques that have been used to write computer language compilers for decades are still being used to implement the vast majority of current programming languages. Whether they are interpreters or compilers, something in between or some wierd combination of both, the techniques and concepts remain the same and are not going to go away. We all brought them up because your initial idea is (to a point) implemented by the compilers and interpreters themselves. It
is, as you put it, "low level shit".
Go read a book about [link|http://www.amazon.co.uk/exec/obidos/ASIN/0805321667/ref=sr_aps_books_1_1/202-4422159-5690206|how to write a compiler], Bryce. Please. It will help you stop making such a fool of yourself.
The fault is with you, NOT ME! You cannot see the value of going beyond 1-1-1.
Actually, I can. That was the very point of the postscript. I rarely think of "single-dispatch" versus "multiple-dispatch" because I almost never think of problems in those terms.
In the project I code for (it's a web service) there's a function for figuring out a return-to hyperlink. Currently, it is a very long switch statement. I'd like to replace it with something a lot more intelligent and elegant, but that takes time. Currently, when we add another valid return-to type, another few lines gets added to the switch statement. What I want to replace it with would involve adding two or three lines to each page that can be returned to a little bit of information about what parameters have to come back with it (that's the purpose of the switch statement). The return-to logic would then be able to easily figure out the appropriate hyperlink based on that. No switch statement. Instant multiple dispatch. No objects. Well, not unless you want to think of a .PHP file as an "object". Also no database storage or access.
Bryce, I can do magic things with 5 and 6 dimensional arrays. I can do nested string manipulations with indices. I scared my boss with my creative use of lists. With some effort and research, I can probably implement a recursive algorithm without recursion. One of those was something a colleague and a very good programmer said was impossible. If an object-oriented solution doesn't work, I will discard it. But if an object-oriented solution does work better than everything else I've tried, then I will keep it.
Go learn about how compilers work. Then we will have much better common ground to talk from.
Wade.
Microsoft are clearly boiling the frogs.