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

