On Sun, Nov 2, 2014 at 3:29 PM, Adam Russell <[email protected]> wrote:
>
> I've been doing OO for years with pure-OO type environments such as Ruby


Do smalltalkers accept Ruby's claims?  Their native OO is more OO than
P5's (but we have choices), but is arithmetic really done with messages?

> 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.


It surely does require deeper understanding, but i'm not sure that off
the deep end of the pier is the right way to teach it.

When i was an undergrad, PL/1, the original
swiss-army-chainsaw-with-kitchen-sink language, was the pedagogic
language; we did iteration recursion lists'n'trees numerical text
everything. All badly.  (OO hadn't escaped Simula then.)

I wonder if instead of having Survey of Languages *after* teaching
Data Structures and OO etc if we shouldn't do the Survey of  toy
programs in toy languages --  Binary&Assembler, Algol/Pascal,
SmallTalk, Lisp, Fortran, Cobol, APL, Forth -- as the introduction to
coding, and teach each style of coding in it's native form. And only
after that show how the chimera/frankenstein languages make
multi-paradigm programming work in the real world.

> 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...

Been there done that, teaching where C/C++ was the pedagogic sequence.
Accepting being paid to do something doesn't mean i'd do it that way
if i were in charge.

(I haven't taught (in academe) since they "certified" me to teach Java
without coding it at all ! But since it was the same authors' book
with same basic pedagogy, it wasn't totally crazy as a transition.)

> 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.

Understood.

I used Tim Budd's OOP/OOD/CRC materials when teaching OO Design.
(I still have a Platypus puppet -- as well as Penguins of course.)
Enjoyed some heterodox OOA materials too.
[http://en.wikiquote.org/wiki/Edward_V._Berard#Essays_on_object-oriented_software_engineering_.281993.29
]

> 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.


Heh.
>
> 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.


Understood.
However, SmallTalk like Lisp has 0 syntax ... it's all API and "what
do i do with it".




-- 
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