[development] passing data is free

Doug Green douggreen at douggreenconsulting.com
Tue Oct 9 09:17:04 UTC 2007

Earl Miles wrote:
> Karoly Negyesi wrote:
>> Why not? Passing data around is basically free. You are not copying
>> the data, you are creating a reference, deep copy only happens if you
>> modify the passed in argument (PHP5 only deep copies an object if you
>> instruct it with clone()). So do not hesitate to pass around as many
>> data as you want.
> More importantly, this is one of the biggest reasons that people might 
> choose an OO paradigm over a procedural paradigm. With an object 
> oriented model, data tends to stick together; in the procedural model, 
> you get issues like this one, where you find yourself passing data you 
> may or may not need.
I have no desire to start up the OO debate.  So I'll make one statement 
then stop. 

With an OO language, data might be passed around, it is just handled by 
the language.  For example, in many (some/all?) C++ compilers, it is the 
first argument on the stack, and the compiler/language simply handles 
dereferencing it. 

You can simulate some aspects of OO code without an OO language.  What 
you can't easily do is overloading.  But data encapsulation and function 
naming can be handled with good programming and naming conventions.

I said I wouldn't start up the debate, so I'll leave it there.  BTW, I 
probably started using C++ within 1-2 years of it's release, so I like 
OO languages, and have some experience with them.

Doug Green
douggreen at douggreenconsulting.com

Bringing Ideas to Life with Software Artistry and Invention...

More information about the development mailing list