[comp.lang.c] THINK C/C++ Book wanted

mdm@icefloe.dartmouth.edu (Michael McDaniel) (05/28/91)

I need to learn THINK C's object oriented programming features, but have been
unable to find a book on the subject.  I am therefore about to go to a C++
book, though I know THINK is not C++.  I would greatly appreciate any
recommendations for books on THINK C or C++.

Thanks in advance,

Michael

--
Michael McDaniel
mdm@dartmouth.edu

jackr@dblues.wpd.sgi.com (John "Jack" Repenning) (05/29/91)

	ThinkC 4.0 is definitely *not* C++ (any version less than 4.0
isn't even in the running).  If the language you have is ThinkC, don't
even look at a C++ book, you'll only frustrate yourself with all the
important things you can't do.




Jack Repenning			9U-530	     jackr@wpd.sgi.com
Silicon Graphics, Inc.		            Off:(415) 335-7477
Systems Software Technology Center	    Fax:(415) 969-2314

KPURCELL@LIVERPOOL.AC.UK (05/30/91)

THINK C 4 may not be C++ but it is C+- (so to speak) -- it is essentially
compatible in going from THINK C to C++ and contains all the same OO bits
that make Object Pascal an OO language.

A few points you may find helpful:

1. OO programming is *not* only TCL. You can do OO without using the TCL. This
took a long time to sink in with me! I'm finding it easier to get used to OO
programming and then to move to using TCL. (OOP + TCL is very good however but
it has a learning curve even steeper than event programming/Mac Toolbox).

2. Learn the OO style first then apply it -- this may mean a bit of messing
around but I feel like when I get to use TCL seriously I will already be
thinking in an OO style which should make life easier.

As regards learing TCL/OOPs:

1. Macintosh Programming Primer vol2 has a chapter with example using TCL.
Its simpler and easier to understand then the TCL manual.

2. The TCL manual describes all the classes and the way TCL works. Trying
to understand the four hierarchies involved is a real problem -- just try
re-reading it. It slowly sinks in. Examine the source code too and try out
some the examples provided.

3. I'm working my way through Tim Budd's "A Practical Introduction to
Object Oriented Programming" (Addisson Wesley, 1991). Its very
clear. He set out to teach an OO course and couldn't find a good enough
text book to use in the course. All the books he could find were based
around a single languane (C++, SmallTalk, Objective-C and so on). He wanted
to give the basics of OOP and apply it to any OO language. The book reflects
this, it has examples in  Object Pascal (a la THINK Pascal), C++,
Smalltalk and Objective-C. He talks a lot about OO design and how to
extract objects/classes from the problem. It includes two small but non trivial
complete examples and plenty of exercises for practice. I recommend it.

4. Lipman's "C++ Primer" is perhaps the best introductory C++ book (for
when Symantec/THINK release a C++ compiler (somethign which they will
neither confirm nor deny :-) )).

5. Sign up on the think-c list, and ask questions when you're stuck. You
can also pick up source code from their archive by anon ftp.
To sign up on the list send a message to think-c-request@ics.uci.edu
(do not send direct to the list!). The archive is at ics.uci.edu (128.195.1.1)
look in the directory /mac/think-c.

Kevin Purcell         |  kpurcell@liverpool.ac.uk
Surface Science       |
Liverpool University  |  The journey is the reward.

rgonzal@elbereth.rutgers.edu (Ralph Gonzalez) (06/04/91)

Just thought I'd put in a plug for the "Think C Programming Guide", a
HyperCard stack I wrote for a class I taught on OOP.  It teaches Think
C from scratch (not assuming a C background) entirely from an OOP
point of view.  It contains several "cut and paste" examples which you
may compile, and comes with a couple of class libraries for
experimenting with 3D graphics and animation and for experimenting
with application frameworks, once you get comfortable with Think C.
It also details the differences between Think C and C++ and may serve
as a tutorial on C++ as well.  It does NOT, however, go into Macintosh
programming per se, nor the Think Class Library.

You can make a hardcopy of the stack and still preserve the
navigational info.  The stack is shareware, and is available at
sumex-aim.stanford.edu in the directory lang/c.

Or I can mail you a copy.

-Ralph Gonzalez
PO Box 54, Newark, DE 19711
(rgonzal@elbereth.rutgers.edu)


PS - another good book on the ideas behind OOP is Grady Booch's
"Object Oriented Design".  It spends several chapters on how, when,
and why to use OOD and OOP, before getting into language-specific
examples.

rgonzal@elbereth.rutgers.edu (Ralph Gonzalez) (06/04/91)

Sorry, I gave the wrong location for the Think C Programming Guide at
sumex-aim.stanford.edu.  Instead, look in the directory:

info-mac/source/c

It is also on U. of Michigan's PC2 directory at um-mts.cc.umich.edu,
as the file HC/THINKC.

Incidentally, when I said I'd mail you a copy I of course meant EMAIL.
IF you need a copy send via the postal service, just send me the $15
shareware fee!

Best wishes,
Ralph
(rgonzal@elbereth.rutgers.edu)