Path: utzoo!attcan!uunet!snorkelwacker!mintaka!olivea!apple!portal!sv!news From: leonardr@svc.portal.com (Leonard Rosenthol) Newsgroups: comp.sys.mac.hypercard Subject: Re: XCMDs do not give you access to the expr. power of C Message-ID: <1990Oct24.211915.4287@svc.portal.com> Date: 24 Oct 90 21:19:15 GMT References: <51360@unix.cis.pitt.edu> Sender: news@svc.portal.com Reply-To: leonardr@svc.portal.com (Leonard Rosenthol) Organization: Software Ventures Corporation. Lines: 33 In article <51360@unix.cis.pitt.edu>, mmwst1@unix.cis.pitt.edu (Michael M Wagner) writes: > XCMDs are widely believed to allow you to attach an arbitrary > piece of code developed in you favorite language to a hypercard > stack. The few books that I have read on XCMD make no effort > to point out that this is not true and that there are many things > that you would like to do (like efficient file I/O) that are > not possible. > > The source of the problem, as I understand it, is that XCMDs must > be attached to stacks as resources, *but* many language functions > cannot be used outside of applications. In C these include a > large portion of the ANSI library (file IO, console, to name two > groups). > > It may be true that you can not use such things as the ANSI C library from an XCMD - BUT YOU CAN get the full functionality of the ENTIRE Macintosh Toolbox from an XCMD - and that is the power of XCMD's. Hypertalk is a very limited language, especially given its lack of MacToolbox support. In order to improve that, Dan Winkler (I believe) came up with the idea of these External Code Modules (XCMD/XFCN) whereby a programmer could extend the capabilities of Hypertalk. These capabilities range from support for popUpMenus to fullFeatured drawing/charting tools to communications facilities (serial, appletalk & TCP/IP) and everything in between. You will also find that most Mac programmer don't use a lot of the ANSI C libraries, and use the toolbox instead. So maybe I can't use the console - but on a Mac, who'd want to?!!? -- Leonard Rosenthol Software Ventures Corp. MicroPhone II Development Team