|
Posted by Jerry Stuckle on 11/29/06 02:08
Michael Fesser wrote:
> .oO(Tony Marston)
>
>
>>I disagree. it is *not* necessary for the simple reason that the code will
>>perform exactly the same function whether methods and properties are marked
>>as public/private/protected or not.
>
>
> Then why do we use OOP and high-level languages like PHP at all? Pure
> hand-written assembler code will perform exactly the same function.
>
>
>>>It prevents developers from doing things that shouldn't be done, for
>>>example calling an internal method out of context. I don't want all my
>>>methods being publicly available, simply in order to avoid errors and
>>>unpredictable results.
>>
>>That is a matter for programmer discipline, it is not a matter of additional
>>functionality. The code will do exactly the same with or without it.
>
>
> The code written in a language like Delphi for example will also do
> exactly the same with all type checks, range checks, overflow checks
> etc. turned off. But does it make sense to do that and just rely on
> "programmer discipline"? No, it doesn't, because it will lead to
> erroneous code on the long run.
>
> Compilers are able to automatically check a lot of things and warn the
> developer if he made a mistake. Such checks and restrictions don't add
> any functionality, but are necessary in order to write reliable code.
>
> The same goes for visibility declarations. I don't rely on discipline or
> a comment like "please don't call this method". If a method is not meant
> to be called directly then it's declared as such - problem solved.
>
> Micha
Micha,
Tony and I have been into this before. He breaks into conversations
trying to spout his version of OO, with a few blogs from people no one
every heard of to back him up.
It's not worth getting into the argument. He's just a troll with
delusions of competency.
He'd never survive in a corporate programming shop.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Navigation:
[Reply to this message]
|