From: tal691@huxley.anu.edu.au (Tonio Loewald)
Newsgroups: comp.sys.mac.programmer
Subject: Re: ThinkC or ThinkPascal?
Date: 11 Nov 92 01:57:20 GMT
Organization: Australian National University
NNTP-Posting-Host: 150.203.2.12
Keywords: ThinkC, ThinkPascal, Mac programming environments

inglehar@bert.eecs.uic.edu (James Inglehart) writes:

>I've used Macs for years, but never programmed one. Now I need to
>develop a GUI front-end for some existing software (with drawing
>and graphing capabilities) that runs on the Mac (none of the end-
>users will have Unix workstations). I can't spend a fortune on a
>development package, and I need something I can learn to use fairly
>quickly.

>What should I use? ThinkC or ThinkPascal or something else? What
>else do I need to get started? (ResEdit, I assume. What's the
>latest version?) What books should I use? The "ThinkC Programming
>Primer?" How soon will I need "Inside Macintosh" Vols. 1-6?

I'd recommend getting the THINK Reference, which covers most of I-V
and is in the process of being extended. For one thing, it includes
most relevant technical notes, you won't have to sift through
multiple vols to find out everything about a given topic, and it 
won't become obsolete so fast. And it's probably cheaper. 

You may still want vol VI (and vol V if you need a lot of info
on sound -- which you don't seem to).

ResEdit is distributed free, isn't it?

>Just what is the difference between ThinkC and ThinkPascal (besides
>the languages, I mean)? I can handle either language, so I want the 
>most powerful package. (I understand the Toolbox is written in Pascal.
>Should I choose ThinkPascal for consistency?)

I think it really depends on whether you prefer C to Pascal. You can
do more (easily) with C, and THINK C has an easy-to-use in-line
assembler (you have to enter hex in THINK Pascal). THINK Reference
is somewhat geared towards C (and makes up for the Mac's bias
towards pascal by providing paste-in templates of function calls).
THINK C operates better with less memory, and its debugger is
slightly better implemented. THINK Pascal is more integrated,
friendlier, automatically pretties up your code, and has a number
of convenience features (such as jumping to procedures and functions).
THINK Pascal's editor is definitely better than THINK C's but there'sd
a third-party enhancement to THINK C (whose name escapes me) that
seems to address all of its shortcomings in this and several other
regards.

As I said, it really depends on your language preference. They're
both excellent packages.

>Are there other development environments I should consider instead?

I recently got a copy of Metrowerks Modula-2 (stand alone). This is
very cheap, has an excellent manual, and works smoothly and well. It
has most of the integration features of THINK C (which it somewhat
resembles -- it's not quite as well-integrated as THINK Pascal, and
its debugger has been implemented similarly to THINK C's). It's
fast, has a few nice convenience features (automatic entry of
standard language structures, such as CASE statements and so on),
and has modest memory requirements. Not much in the way of sample
code (there is a good tutorial with it).

>Any advice from those who know on how I can go from total ignorance
>to Mac programming proficiency will be greatly appreciated.

Apart from the fact that Modula-2 is something of a pariah language,
the MetroWerks option includes a very nice compiler (as far as I can
tell) and an excellent tutorial introduction to Mac programming
(starting from the assumption you don't know how to program in
Modula-2 and working through to writing a Mac application shell),
and it's CHEAP. ($150 in Australia, which probably means $75 in the US.)

If you (a) don't like Modula-2 or (b) want to go for a more standard
environment, I'd lean towards THINK Pascal for ease of use and
ease of Mac programming. On the other hand, the world seems to be
going towards C++ (THINK C has a C++-like object extension), so
if you want your skills to be saleable, you might lean in that
direction.

>James Inglehart
>Department of Electrical Engineering & Computer Science
>University of Illinois at Chicago
> 

Learning to program the Mac from scratch is a bitch, and when I
started out, I didn't much like any of the $50 books on the
subject. Getting THINK Pascal and THINK C and seeing how far
you get hacking the example code is probably a good way to
start (seems to be how most people get going).

I think the time spent getting into object-oriented programming
and learning to use an object library (such as THINK Class Library
which comes free with both THINK Pascal and THINK C, or MacApp)
will probably save you more than you spend -- even in the short
run -- and be of great benefit in the future. (The future may
or may not be object-oriented, but it will probably be weird,
and wrapping your mindset around OOP will keep your neurons
limber.)
-- 
Tonio Loewald            | Ph  06 290 1594 | 13 Sabine Cl. Garran
tal691@huxley.anu.edu.au | Fax 06 290 1595 | ACT 2605   AUSTRALIA
"You can lie/You can cry/For all the good it'll do you, you can
die/But when it's done/And the police come/And they lay you down
Newsgroups: comp.sys.mac.programmer