On Sat, Jul 5, 2008 at 2:13 PM, Steven Claflin <stevenclaflin@gmail.com> wrote:
Hi Rob,

I wanted to thank you for your email to the list and your struggles. I
am just beginning to learn about Squeak and being an old procedural
programmer (PDP-11), OOP in general is kind of backwards to my way of
thinking, and so I can identify with your feeling as though you are just
not online all the way. The first programming that I did that was at all
object oriented was in Visual Basic many years ago, and I can remember
thinking; "Ok, these buttons and windows and textboxes can react to
actions, but how do you start the whole thing going?" It's kind of
laughable now, but at the time I was used to: first you have the
computer do one thing, then the next thing, and so on... So its like I
was sitting there waiting for the program to do something and the
program was sitting there waiting for me to do something.

When I was a kid, all I ever wanted to learn was Assembly Language.  I wanted to write my own OS, that was an interactive, lively, interpreted system.  I only got as far as booting into protected mode with a keyboard, mouse, timer, and video driver which went straight into a split screen (text mode) debugger complete with disassembler.  It actually still runs on x86 architecture, but, little did I know what was out there waiting...!  I alway figure if I get far enough I would really enjoy the VM side of Smalltalk a lot.

I, too, am heavily experienced in VB.  Still use it a lot (VBA) at work, just because Excel and Access are hard to beat as a "Business Language."  (Although my dream system is a combination Database Browsing/Query engine that returns recordsets into a Smalltalk driven spreadsheet with a built in statistical package and a "process oriented" calculation engine!  But, I digress...).  Coming from the VB angle, though, I really like events, and have become quite enamored with Announcements.  Maybe too much so, but it is what I always wanted in VB!  (How many times did you hack returning an OBJECT from a "dialog").  However, learning Smalltalk has made me and my co-worker much better VB programmers nonetheless.  We tend to just start with a Class now, and write lots of really small, stupid methods.  The "browser" makes it a little harder to work through the code, but we can each sort of pick up the others work if we need to now and figure out what is going on.  We are working on transitioning more and more to Squeak, but it's hard to beat Access right now for a utility that runs lots of queries, etc... (hence, my dream system!)

I am hoping that as I go through the material, ideas which aren't
immediately understandable will become so after getting more info. It's
hard to do that, because it makes me feel uncomfortable to feel as
though I'm not getting it. When I was going to school for my degree in
electronics there was a lot of that, and that turned out ok.

I studied Physics long ago (Ohio University, 1990).  I am NOT a physicist, but it taught me how to think, experiment, problem solve.  But as an electronics guy, you might understand how when you get to quantum mechanics in Physics everyone waves their magic wand and says, "and from here we have demonstrated that you can derive all of Chemistry..."  Smalltalk is more like Chemistry, it seems.  Yes, you CAN "derive" it all from basic principles (messages), but it is just so...wonderfully...messy.  Makes me wonder why I didn't like Chemistry...

However, the best part of Physics (at least at OU), was that from the very beginning they said, "just believe what I tell you.  It will make sense in the end."  My last two quarters of Astrophysics were a blast!  EVERYTHING came together...

And so, I am in "belief" mode...just keep moving forward, asking questions, etc... You see, I have the upper hand in knowing that a slow learner like myself can see it all come together at an undetermined point in the future!  Sounds like you have had a similar experience.
 
Good luck, hopefully we'll get it. :-)

Thanks...you too.  Let me know if I can help from a point of view that can understand what you are having a hard time with!  I will rarely be much help to the guys who are building the tools we are using (except to get better about bug reporting), but I can likely help someone at a similar experience level.  I am at the point now where my own classes make sense to me at least; trying to figure out what someone else did just isn't easy for me.

Take care,

Rob