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

