CompuServe Messages

Oberon-2

    24-Sep-95 12:24:32
Sb: #48271-Oberon-2
Fm: Greg Comeau@Comeau Cmptg 72331,3421
To: Peter Wade 100265,2740
>I can see that you don't need a special OO language to use OO techniques. Though it is preferred (IMO). >Not only that you can use non-OO techniques with some OO languages! Absolutely. IMO, this is the real beauty of hybrid languages like C++. This differs from say Smalltalk, which you mentioned you'll be being trained in, which mostly requires you to do everything OO'y. But. The real world is varied and diverse. And so, just like a procedural solution to something better done with OOP is not optimal, the same applies to something OOP that doesn't have to be. This of course involves philosphy and pragmatics, but it seems to be that since the real work is diverse that we want applicable solutions to the problems at hand. To me, this means being able to span the spectrum as appropriate and hence why I prefer hybrid. I know my universe, and the current corners of it that I need to be into. A hybrid allows you to conveniently be in this corners as they fit instead of being boxed into the corner and fighting it. >Maybe in a few months time I will >be clearer on what the definition of OO is. We all will be. Learning is a never ending process and if it were all that simple we'd be onto something else already. >I am coming round to the view that the protection mechanisms in C++ are a more >flexible way of isolating parts of the program than C's system of locals, >statics and seperate source files. It involves that, but instead of 'more flexible' I just prefer to say different, additional, more ways, etc. And of course there are additional C++ features that add to these various packagings. >And the idea of creating an "object" that >behaves like a black box with only the interface known to the rest of the >program has a certain elegence to it. Certainly we should have always been striving for this. Even with "plain old" functions. The ability to do this with other things too (for instance, objects, templates, etc) is certainly the way to go. And, as in above, as each problem is different, we do need varied features, hybrids, yes even different ways, approaches and paradigms to address them all.