Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!usc!henry.jpl.nasa.gov!elroy.jpl.nasa.gov!hacgate!ashtate!dbase!awd From: awd@dbase.UUCP (Alastair Dallas) Newsgroups: comp.sys.mac.programmer Subject: Re: Need a review of THINK C 4.0 Summary: MacTutor Oct '89 Message-ID: <296@dbase.UUCP> Date: 8 Nov 89 18:23:57 GMT References: <1346@mrsvr.UUCP> Distribution: na Organization: Ashton Tate Devlopment Center Glendale, Calif. Lines: 60 In article <1346@mrsvr.UUCP>, quinnt@turing.uucp (Tom Quinn x4-nnnn) writes: > Please don't post to this newsgroup! I'm sure this is an old topic. > If anyone else would like me to forward to them anything I receive > contact me via e-mail and and I will send it along. Ah, but I wanted to post to the newsgroup; you just gave me an excuse. > I've been away from the net since the early summer, and missed any > discussion/reviews of Think C version 4.0. I'm still contemplating > whether to purchase the upgrade, and would like some input for my > decision. If anyone has some old articles around, or if someone could > take the time to summarize the discusisons that must have been held, I > would appreciate it if you could mail that information to me. There hasn't been that much discussion, as far as I'm concerned. I'm very enthusiastic about this product--I rushed an article to MacTutor (Oct '89) to describe it. This week, however, is the first chance I've had to really play with it. I wanted to post because I discovered a slight error in my article. TC is basically Think C 3.0 with a few object-oriented extensions and more ANSI-compatibility. These changes are not earth-shaking, really. What is exciting is the Think Class Library which is built on top of the compiler changes. TCL is a MacApp alternative, and since the compiler changes were done by Kahl, et. al., the environment is tight--things are relatively small and fast compared to a brute-force o-o implementation. (Obviously, I'm being subjective here.) TC 4.0 comes with Art Class, a MacPaint-type program demonstrating tear-off pallettes and all kinds of stuff. Art Class makes it clear that it is possible to write commercial-quality applications using TCL. And since it comes with full source code, you've got a leg up. Luckily, Rich Siegel of Think and Gregory Dow himself (author of TCL and Art Class) are available in this newsgroup. We've had some discussion (scanf() has a known bug--.01 becomes .1; the new multi-finder doesn't let Art Class update your cursor under some circumstances), but my impression is that a bunch of us are still climbing the learning curve. My bug: In the example in my MacTutor article I override CWindow::Close in order to make clicking in the close box equivalent to the Quit command. This is the only reason I create a subclass of CWindow. What I discovered after RTFM more closely is that overriding CWindow is rarely necessary. In this case, the standard CWindow::Close calls its supervisor (in my case, a Director) with CDirector::CloseWind. Since Directors are abstract classes, you have to override them, anyway, so you might as well respond to CloseWind with gApplication->Quit(). [I hope I got the names right--I left the manual home.] I would reccommend Think C 4.0 to my mother (except that she's stuck on APL). Apple says you gotta know o-o programming to survive in the Mac world, and I believe them. Then it's a choice between MacApp, which is >$500 if you don't already have MPW, some offbeat development system (Neon?), or Think C 4.0. TC is a relatively cheap introduction to the world of o-o, and you can be sure it will be supported for the foreseeable future. Hope that answers your question. /alastair/