Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!caip!sri-spam!nike!ucbcad!ucbvax!ernie.Berkeley.EDU!shebanow From: shebanow@ernie.Berkeley.EDU (Mike Shebanow) Newsgroups: net.micro.mac Subject: Re: Info needed on Macintosh Programmer's Workshop (LONG) Message-ID: <15027@ucbvax.BERKELEY.EDU> Date: Sun, 27-Jul-86 15:01:02 EDT Article-I.D.: ucbvax.15027 Posted: Sun Jul 27 15:01:02 1986 Date-Received: Sun, 27-Jul-86 21:09:42 EDT References: <14933@ucbvax.BERKELEY.EDU> <728@batcomputer.TN.CORNELL.EDU> <5533@sun.uucp> Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: shebanow@ernie.Berkeley.EDU.UUCP (Mike Shebanow) Distribution: net Organization: University of California, Berkeley Lines: 52 (beware the wrath of the line eater!) As far as multitasking goes, I agree that it would be nice to have, but I don't think it is absolutely necessary. In practice, even experienced UNIX hacks use multitasking very little: mostly for print spooling & running make. Apple got around the make problem rather nicely, so all that is missing is print spooling and the ability to run background tasks. Given the architecture of MPW and the environment, it is quite possible that a version of MPW which supports multitasking will show up when the oft-rumored 020 macs become available. Until then, I can live without multitasking... Regarding Chuq's comments on LightSpeed, I halfway agree. In practice, I spend more time with LightSpeed than I do with MPW. For my purposes (writing simple Mac applications for fun), LightSpeed is more than adequate. But if I ever start doing Mac stuff full time, I will probably use MPW. The reason? LightSpeedC, despite its speed and power, lacks two key things: flexibility and extensibility. LightSpeedC is great if you are writing a simple, standard application or desk accessory that doesn't have speed or size constraints. If you need to use assembly language, LightSpeedC is very awkward (Running MDS, then converting, then removing the old library from your project and adding it again). And LightSpeed lacks support for the 128K ROMs and HFS, which makes it difficult to write sophisticated programs. But what really hurts is the lack of extensibility. If I have a repetitive task that I need to run, like a resource compiler or editor, LightSpeed makes life very difficult. I can transfer into an application, run it, get dumped into the Finder and then run LightSpeed again, but this gets tedious after four or five repetitions. Or I can write my own tool, keep it as a project, and run it whenever necessary by closing my current project, opening my tool's project, running the tool, quitting, close the tool's project, and reopen my application's project. (I get annoyed just typing that, never mind doing it). There will never be an SCCS for LightSpeedC, or a lint, or an awk, or whatever, because LightSpeed makes it impossible to use these tools. MPW, on the other hand, makes it EASY to write (or port) these tools. I have written many tools for MPW already, and I expect that all of the tools I mentioned above will become available for MPW soon after its release (even if I have to write them myself!). A friend of mine has already ported awk. I understand that there will be a new version of LightSpeed available soon, which will have inline assembly and support for the new ROMs. At that point, LightSpeedC will have answered my complaints about flexibility. But the extensibilty question will remain unanswered. I really like LightSpeed, but I do have my doubts. If they ever put it out with a builtin source level debugger, I will probably forget MPW ever existed and "make do" with an unexstensible environment. But until then, I think that MPW is a better environment for the professional Mac programmer. Andrew Shebanow mouth for hire