RE: RE: [PHP] the state of the PHP community

2010-07-30 Thread Bob McConnell
From: Per Jessen

 Bob McConnell wrote:
 
 In chronological order -
 
 Languages: [snip]  C++ (Still don't
 understand the purpose of objects or classes).
 
 Two words - encapsulation and abstraction.

Both of which are euphemisms that simply mean obfuscation. I learned
very early in my professional career to eschew obfuscation, so they
don't impress me at all. In addition, I really don't do abstraction
well. I have trouble when I have to deal with more than two levels of
indirection. Having written and debugged a _lot_ of real-time
applications and device drivers, in both assembler and C, I am much more
comfortable with the concrete, like managing I/O registers, interrupt
controllers and circular buffers. Unfortunately, there aren't many of
those jobs left. That's one of the primary reasons I am looking forward
to retiring.

I still believe that OOP is as much of a fad as Structured Programming
and Top-Down Programming were. They all can be used to solve certain
classes of problems, but none of them are a silver bullet for software
development. OOP will eventually learn its place in the overall scheme
of programming, but it will never be universally applicable.

Bob McConnell

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: RE: [PHP] the state of the PHP community

2010-07-30 Thread Per Jessen
Bob McConnell wrote:

 From: Per Jessen
 
 Bob McConnell wrote:
 
 In chronological order -
 
 Languages: [snip]  C++ (Still don't
 understand the purpose of objects or classes).
 
 Two words - encapsulation and abstraction.
 
 Both of which are euphemisms that simply mean obfuscation. 

Certainly not.  All structured languages have abstraction and
encapsulation.  The minute you write a function or procedure, you are
abstracting and encapsulating.  C++ (Smalltalk, Eiffel et al) are just
very focused on those to concepts. 

 I learned very early in my professional career to eschew obfuscation,
 so they don't impress me at all. In addition, I really don't do
 abstraction well. I have trouble when I have to deal with more than
 two levels of indirection. Having written and debugged a _lot_ of
 real-time applications and device drivers, in both assembler and C, I
 am much more comfortable with the concrete, like managing I/O
 registers, interrupt controllers and circular buffers. 

I used to write system software for StorageTek (HSC, VTCS,
Librarystation), been there, done that.  It doesn't mean I can't
appreciate the qualities in encapsulation and abstraction. 



-- 
Per Jessen, Zürich (20.6°C)


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php