> Richard L. Conn sez:
>
> I gave a presentation in my last class on objects and classes
> (it was an addition to the normal material in the text), and
> I think the students got it by relating to the VB environment.
> It helped a lot to point to an object on a form, point to its
> properties (attributes), and change an attribute (watching the
> object change in the process in some cases).
>
> It is a key to not get lost in the language as opposed to the
> ideas.
>
And to hammer on the point once more, to remember
that the "real code" -- what the student writes after
she writes that first line of VB code -- is the hard
part.

Just this weekend I was working on a port of gzip
to Windows -- I'm learning the Win32 API, and
amazingly the only port of gzip to Windows is a
console app, so there's some small significance
to my little project.  I'm using Jacob Navia's lcc to do
the port, and lcc has an IDE with a pretty decent
resource editor.

To make a long story short (too late!) I got the Win32
GUI interface designed and debugged in 2 hours,
but I'm *still* working on the gzip port -- the "real
code" part where all the IDEs I've ever seen pretty
much leave you to your own devices.[1]

Never mind the snide remarks about the alleged
portability of C and why I'd have been better off
to redevelop in Ada.  I've made enough of those
comments here myself.  I fell into the old trap of
thinking that I could simply port the code without
having to understand it.  That's never worked for
me yet, so I don't know why I thought I could get
away with it this time.  Oh well.

But I find it interesting that most of my problems on
this little project haven't been with the GUI but with
the code (what the program *does*).  This after
nearly 20 years doing software and being fairly
well respected as a practitioner.

The same thing was true of my first project to
learn Windows, a USENET news reader and
attachment extractor.  On that one I ran into
exactly two major problems with the GUI.  The
first was with resizing subwindows when I got
twisted around the axle on window units versus
screen units -- a simple beginner mistake --
and the other big GUI problem was finding the
dang documentation for the common controls.
Once I found that, I typed in what I wanted to
do and went back to finding and fixing non-GUI
bugs, which once again occupied most of my
debug time.

> The "Objects and Classes" presentation is on my website as well.
>
I've also found that it's very helpful to explain the
way VRML (Virtual Reality Modeling Language)
events work by introducing classes and objects
very early on.


[1] Just to preserve a little pride here, the port
involves writing a front end to a pretty heavily
maintained program that was never intended to
have a front end, which takes pages and pages
before it gets to the point where it actually
compresses and uncompresses the files, which
has a huge pile of options, has dozens of global
variables, and which has been ported to every
computer and compiler ever made (and has the
#ifdefs and special code sections to prove it) --
except mine, of course.

Bob Crispen
[log in to unmask]