On 10/25/2013 8:59 PM, Zenaan Harkness wrote:
On 8/29/13, Jerry Stuckle <jstuckle@attglobal.net> wrote:On 8/28/2013 7:52 PM, berenger.morel@neutralite.org wrote:Here is the important part: "Each object can be viewed as an independent "machine" with a distinct role or responsibility.". Nothing forbid to do that in C. I took the example of the SDL, previously. Does not it really match to that phrase? When I use SDL in a C++ program, I create 1 class with a constructor which call SDL_CreateSurface, while the destructor calls SDL_FreeSurface. I simply use the automated RAII stuff, which is the feature C lacks. Well... at least, in C, you can use RAII, by hand. Not only with Java or C#, or at least, not as easily (those languages are designed to use a garbage collector...can be useful sometimes.).It is not a "machine". It is an object. That's why it is called Object Oriented Programming.Well. We of the "firm assertions" disposition often fall fatally to ... firm assertions. Jerry, perhaps you might soften your insistence that others use "JERRY'S DEFITION" as THE ONLY TRUE DEFINITION OF THIS COMPUTERY TERM!!!
That is not MY definition. It is the definition put forth by recognized experts in OO programming such as Booch, Rumbaugh and Stroustrup. If you want to argue definitions, I suggest you argue with them.
How warm and encouraging would it be if you had instead said something like "I would prefer that the term object were not conflated with 'machine' for the following reasons ..."
Maybe to you. I follow the experts' definitions.
Anyway, from an onlookers perspective you are being excessively pedantic and hung up on different terms which are simply intended to convey some meaning - and you have done so without saying _why_ 'machine' is a 'bad' term to use to describe the properties of an 'object' in OOP. Regards, Zenaan
"Machine" is a bad term because it is not "Machine Oriented Programming". It is "Object Oriented Programming" - because it emulates real world objects - not machines.
Jerry