[comp.object] NEW: Think C/C++ Programming Guide

rgonzal@elbereth.rutgers.edu (Ralph Gonzalez) (03/15/91)

Hi.  I wrote a fairly extensive HyperCard stack for a class this Fall,
on object-oriented programming.  The stack teaches Symanted Corp.'s
Think C compiler, available for Macintosh computers.  Since Think C is
a near-subset of C++, the stack can also serve for teaching the basics
of C++.  (The differences are detailed in an appendix.)  Unlike most
C++ textbooks, this stack does NOT assume C programming experience,
but teaches OOP from scratch.  However, I also left out discussion on
issues specific to Macintosh programming or to the Think Class
Library.

The stack is shareware ($15) and can be obtained by anonymous ftp from
sumex-aim.stanford.edu in the directory: info-mac/source/c, under the
name: think-c-prog-guide.hqx.  It is also on U. of Michigan's PC2
directory at um-mts.cc.umich.edu, as the file HC/THINKC.  It will also
appear for downloading in the newsgroup comp.binaries.mac soon.

I've included two free libraries of Think C/C++ compatible source code
for 3D graphics & animation and for experimenting with application
frameworks.  A more detailed description follows.

-Ralph Gonzalez, Asst. Prof. of Computer Sci.
Rutgers Univ.
Camden, NJ 08102

internet: rgonzal@chowder.rutgers.edu

---------------------------------------------------------
README file for the Think C Programming Guide and the Picture and 
Application projects.

Ralph Gonzalez, PO Box 54, Newark, DE 19711, USA.



THINK C PROGRAMMING GUIDE:

The Think C Programming Guide (TCPG) is a $15 shareware HyperCard stack 
for learning Symantec Corp.'s Think C 4.0 compiler.  This is an object-
oriented extension of the C programming language, and a near-subset of 
C++.  The TCPG may also serve as an introduction to the basic features 
of the C++ language.  The differences among C, Think C 4.0, and C++ are 
detailed in the TCPG.

The object-oriented programming approach is described and is used 
throughout, beginning with the first example.  However, unlike most C++ 
textbooks, the TCPG does NOT assume prior C programming experience.  A 
brief overview of the entire ANSI standard C language, including data 
types & pointers, functions, operators, statements, preprocessor 
directives, and standard function libraries is provided.  The TCPG is 
recommended for use in conjunction with a detailed ANSI C reference 
book.  Little discussion is devoted to Macintosh programming techniques 
nor to the Think Class Library provided by Symantec; rather, references 
for this information are listed.

The TCPG contains example code which may be COPY'ed using HyperCard and 
PASTE'd into source files for immediate compilation with the Think C 
compiler or any C++ compiler.

The TCPG was created with HyperCard 1.2.  To use it with HyperCard 2.0 
you must choose the "Convert Stack" menu option.

PICTURE PROJECT:

The Picture project is a free collection of source and header files 
which accompanies the Think C Programming Guide.  The Picture project is 
an open-ended case study of object-oriented programming applied to 
displaying and animating 2 and 3-dimensional "wireframe" figures on 
graphics displays.

Of significance are (1) the free nature of the software, intended to 
encourage experimental and educational use; (2) the use of an object-
oriented language representation for the elements of the graphics 
package, which makes feasible a flexible "programming-oriented" approach 
to developing animations; (3) support for portability to any machine for 
which a Screen class and C++ compiler (or Think C) is available - 
presently Macintoshes and IBM PC-compatibles; (4) facility for animation 
with respect to independent, nested frames of reference.

The accompanying "picthelp" file details how to develop Picture-based 
applications.


APPLICATION PROJECT:

Another free collection of source and header files accompanying the 
Think C Programming Guide is the Application (App) project.  The classes 
defined in this project serve as a rudimentary "application framework" 
for text-only Think C or C++ applications.  In this sense, App is 
related to (but much less sophisticated than) Symantec's Think Class 
Library and Apple's MacApp Object Pascal class library.

An App-based application differs from one developed with the 
forementioned class libraries in that the user interface may be varied 
without changing the application-specific code.  Menu, command-line, and 
pull-down menu interfaces may be selected for the application.  (The 
pull-down interface is available for Think C users only.)

The intent is to provide a case study of inheritance as provided by 
object-oriented languages, and to encourage experimentation with 
application frameworks and user interface management systems.  The 
"apphelp" text file describes how to use the App project and gives 
references for further reading.