info-mac@uw-beaver (info-mac) (09/22/84)
From: Gustavo Fernandez <FERNANDEZ@SU-SCORE.ARPA> Hi, I'm Gus Fernandez, a new grad student at Stanford. I spent this past summer writing MacView, a 3-D graphics program for the Mac which should be available from United Software of America in a month or so. (pending documentation, printing, etc.) I used the Lisa PASCAL development system, and Honestly, I think it is still the only viable development system for the mac. Lots of native development stuff is now emerging. Most of these are "quick" ports from other systems. Things to look for in a development system... 1. Does it support the segment loader fully. This allows for relocatable, purgable segments, and is much more flexible than overlaying, and is mostly transparent to the developer. 2. Is full MAC memory management supported? This is a must, because the mac heap is generally not well behaved. 3. How big is the runtime package? Only the required subroutines should be linked, and the magority should be 5 line (or so) interfaces to the tool- box, if not already done inline. As an example, I rote MacView as a single 6000 line, 130K source file. The object was about 56K. The library overhead was only 2K. 4. How fast is the minimum compile-link-execute cycle? How automated is it? The speed of the compiler is only a fraction of the total time used. Any disk swapping makes this almost unacceptable. 5. Does the development system make inteligent use of the mac user interface? You must think Macish to write Macish. A mouse driven editor would be a minimum prerequisit. While using full menu bars and the like seems cluumsy for the assembler,etc. (Look at Apple's assembler) An infocom style command window with a UNIX shell inside would be nice. (See Zork, etc. for the Mac) 6. Can the package create full-fledged MAC applications? What about resource compiling/editing? 7. Does the package claim portability to other systems? If so, stay away from it. Very few programs can be ported to the mac and still be considered MAC programs without a complete re-write. PFS File/Report is a perfect example of such a failure. OMNIS2 is a joke. A mac native development system suffers from many faults right off the bat. 1. You know in your heart the the Mac really doesn't support hard disk. It was never designed for it. You can tell by the lousy file system. The new finder may alleviate part of this problem, but still, you will have problems daisy chaining peripherals off the serial ports. Also, not hard disk is standard, and the current standard file pacages interact with the user as if small (400K) disks are on-line. 2. 128K is a problem. 512K will help, but that is still not standard. 68000 is generally "Fat" code. 3. You still need an extenal terminal, or a second MAC to debug. The new 16 line display debuugger is too small to do serious work, also, no hard- copy capability. This is how I would rate current MAC development systems. 1. LISA Pascal - Tried and true. This is what all developers except Microsoft are currently using. The UCSD shell, however, is an insult to Mac users. 2. Microsoft dev. system - A C compiler running under XENIX which compiles to P-code. (Use RMover on multiplan some day) Unfortunately, only Microsoft has access to this one. Too bad. 3. SUMACC - A C cross compiler running on UNIX systems and downloaded to the Mac. Nice, but still no segmenting. 4. MS BASIC, MAC BASIC, MAC FORTH, MAC PASCAL - These are not true development systems as they require the host interpreter to run any applications. Mac- FORTH level 3 is suupposed to address this problem, but it is not out yet and VERY expensive. 5. Apple native Mac assembler - Full featured assembler is out on pre-release. The MAC user interface is nice for the editor, but not anything else. The EXEC capability is extremely limited. Completely disk bound. 6. AZTEC C - The prerelease I say completely ignored the mouse. (OMNIS2?) While toolbox was suupported, programs could not be written to run outside the shell. Supports overlays, but this is not the same as segments. I wish Jim Goodnow luck. 7. SoftWorks C - Don't know much about it. I don't like the whitesmith's compiler. (is it still unix version 6?) 8. Hippo C - Haven't seen it. Doubt that is supports full OS and toolbox. (segmenting?) 9. Modula 2 - Not a native code compiler. The Mac can be very fast when running native code. While most of the time is pent in the main event loop, a highly interactive program can get tiring if just that much slower. 10.UCSD P system - A joke. Who in MACdom wants all those nested menus and modes? UGH! This package would encourage portability, wwhich is impossible while still retaining the MAC user interface. 11.Various "Other" MAC assemblers. I doubt that these will survive once the "Real" one from Apple comes out. How good is the macro capability? How large can source and code files be? Also, I doubt that you ould want to write a complete Mac application (>30K) completely in assembler. Even MacWrite and MacPaint and the finder are mostly written in PasCal. I think that covers all of them. I hope I didn't miss any. I have yet to see the MAC native PASCAL compiler from Apple. (January) Also, has anyone considered writing a language specifically for the Mac, without regard to portability considerations. Start off with PASCAL, delete PASCAL I/O library, add built-in high-level memory manager, and object oriented window support. Something that looks more like SMALLTALK, but without the huge overhead. Gus Fernandez FERNANDEZ@SU-SCORE -------
info-mac@uw-beaver (info-mac) (09/26/84)
From: Kirk Kelley <KIRK.TYM@OFFICE-2.ARPA> Regarding specific Smalltalk-like packages for the Mac ... Last I heard, Apple was working on translating the Smalltalk inspired object-oriented Lisa Toolkit into a Mac Toolkit. I assume it is done like the Lisa's in the Clascal upgrade to Pascal. I dont know if they also decided to go for an Objective-C version of the Toolkit. For what its worth, Dan Ingalls, implementer of early Smalltalks under Alan Kay and since at PARC, recently moved to Apple. -- kirk