I've been doing OO for years with pure-OO type environments such as Ruby but 
now that I have to teach OO in C++, well, I need to revisit the basics a 
little.Frankly, those environments make OO a little too easy! Applying OO with 
C++ definitely requires deeper understanding.

Using C++ as a first language is done by doing C-like procedural programming 
for 3/4s of the semester, all the while gradually hinting at the eventual 
transition to OO.Right around now the booster rockets are starting to separate 
though...
For now this is less about actually implementing these things and more making 
sure I understand the concepts deeply enough to give CS freshman a reasonable 
sense of OO design.
Most of my day job is like 90% of the developer jobs out there in 2014: web 
based front ends to some database with the level of algorithmic complexity 
varying from none to small.
I'd experiment with SmallTalk if I had the time but for now, when I have a 
spare couple of hours on a Saturday night I need something with less syntactic 
ramp up time. 

From: [email protected]
Date: Sun, 2 Nov 2014 15:04:16 -0500
Subject: Re: [Boston.pm] object composition (has-a) with built-in OO system
To: [email protected]
CC: [email protected]


On Sun, Nov 2, 2014 at 12:11 PM, Adam Russell <[email protected]> wrote:
I approached this purely from an OO design perspective without regard to the 
language much less the implementation. 
​​I *do* recommend learning true OO style in a pure-OO environment (somewhere 
were 1 and 0 are objects responding to methods natively, not via magic 
wrappers), same as Functional style is easier learned in a pure Functional 
​style. 
In the '80s, I did a project in C, then one in Smalltalk, then one in 
Objective-C, Gemstone Opal SmallTalk+OODB, and only then decades of C++ and 
Perl. (We won't mention Lisp and Prolog mixed in there.)      Objective-C can 
be see as an embedding of Smalltalk expressions into a C host language, so it's 
very obvious which code bits are OO and which code bits are classic procedural. 
​C++ and Perl5 'native objects' re-using indirect access syntax for OO make the 
separation *harder*, so having either as anyone's first (or pedagogic) OO 
language is just asking for trouble. 
​For pure OO experimentation, grab a FLOSS SmallTalk.  Last I heard, that would 
be likely be Squeak.org, but there's also Pharo and a Gnu cli version 
("SmallTalk for people who can type") and ... .  See 
http://blog.smartbear.com/devops/todays-smalltalk-a-second-look-at-the-first-oo-language/
 
​(There was NOT even a single FLOSS one when I was learning OO.)​

-- 
Bill Ricker
[email protected]https://www.linkedin.com/in/n1vux 

                                          

_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to