rgonzal@elbereth.rutgers.edu (Ralph Gonzalez) (03/15/91)
Hi. I wrote a fairly extensive HyperCard stack for a class on object-oriented programming this Fall. It introduces Think C programming, and can also serve for learning the basic features of C++. The stack does not assume former C programming experience, but it also doesn't get into Macintosh-specific programming or the Think Class Library. The stack is shareware ($15) and works with either HyperCard 1.2 or 2.0. It is presently available via 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 available from the University of Michigan's PC2 directory at um-mts.cc.umich.edu. Here the file is HC/THINKC. The Think C Programming guide will also appear in the newsgroup comp.binaries.mac soon. The stack comes with some free libraries of Think C/C++ compatible source code for graphics & animation and for experimenting with application frameworks. A more detailed description follows. -Ralph Gonzalez, Asst. Prof. of Computer Science 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.