rs4u#@ANDREW.CMU.EDU (Richard Siegel) (12/06/86)
[Line-Eater? What Line-Eater? *Chomp* 8-) ] Organization: Carnegie-Mellon University, Pittsburgh, Pa. Position: Confused Undergraduate I'll remain neutral on the subject of posting the MacApp sources, but let me ask: what is MacApp written in? Object Pascal? Lisa Pascal? If it were written in LisaPascal (which I seriously doubt), it would be useful to those of us who can't afford an implementation of Object Pascal (read that MPW). Ergo, it's written in Object Pascal. Besides, I would wager it's a huge amount of code to post. Can you say "A megabyte of source code?" I bet you can! Personally, I'd like to see more implementations of Object Pascal (Like in a future version of Lightspeed Pascal), and a leaner MacApp library -- one that DOESN'T need a meg and hard drive! Is a stripped MacApp possible? Or a MacApp consisting of modules? What frosts me is that I am a college student, a programmer of some experience, and a Macintosh developer of some experience, but I don't have the resources (hardware = $$$$ x 10**3), so all these tools that Apple are putting out -- and they are high-quality, too; in spite of its slowness and size, MPW/MacApp is REALLY powerful -- are out of my reach! I have only what I can afford: a 512K Macintosh with an external drive, both 400K drives, old Roms, and so forth. I can't afford an upgrade, I can't afford another disk drive (I borrowed an 800K drive from a friend). I need a hard disk and a megabyte to run MacApp and/or MPW (I heard that all MPW needs is 512K and two 800K drives, and I don't believe it because I saw it choke on a 512Kenhanced), and I'm stuck. I'm sorry to have gone off on such a wild flaming tangent, but I seriously think that more attention needs to be paid to the "kitchen-table" developer (or college student developer, if you wish) than is being paid right now. --Rich These opinions are mine only, and they're like champagne: fermented for a long time. Richard M. Siegel Arpanet: rs4u@andrew.cmu.edu (the only way to get to me!) Disclaimer --> Disclaimers are bogus. (And as I finish this letter, my friend Joe Keane comes up to me and reads the letter and says: "Rich, you know, the guys at Apple are going to read your post, and say 'We're sorry you feel this way', and send you a megabyte of memory just to shut you up.")
lsr@apple.UUCP (Larry Rosenstein) (12/08/86)
>let me ask: what is MacApp written in? Object Pascal? Lisa Pascal? If it were >written in LisaPascal (which I seriously doubt), it would be useful to those >of us who can't afford an implementation of Object Pascal (read that MPW). >Ergo, it's written in Object Pascal. Besides, I would wager it's a huge >amount of code to post. Can you say "A megabyte of source code?" I bet you >can! > MacApp started out in the Lisa Workshop version of Object Pascal, and was ported to MPW Pascal. (The standard MPW Pascal compiler supports Object Pascal.) The MacApp sources are about a megabyte, and the sample programs take up another megabyte. When you buy MacApp you get 4 diskettes and several hundred pages of documentation. If you just want to look at the sources, APDA sells a printed listing. > Personally, I'd like to see more implementations of Object Pascal >(Like in a future version of Lightspeed Pascal), and a leaner MacApp library >-- one that DOESN'T need a meg and hard drive! Is a stripped MacApp possible? >Or a MacApp consisting of modules? > The simple fact is that MacApp implements a lot of features. We had very high standards for MacApp in terms of its adherence to the user interface guidelines, its error handling, and its reliability. In addition, MacApp was designed to be very general, so that it could be used in a variety of applications. It would certainly be possible to implement a MacApp-like framework that had only the most basic features in it. Such a framework would be more suitable for small utility applications or for learning Macintosh programming. Once you start implementing the rest of the MacApp features, I think you would end up with the same amount of code as in MacApp. One problem with dividing MacApp into separate units is that the principal MacApp object types all refer to one another. Right now the MPW Pascal compiler requires that they be defined in the same unit. (The compiler does not permit mutually recursive USES statements.) If that restriction was relaxed, then we could split the MacApp unit into several pieces. > What frosts me is that I am a college student, a programmer of some >experience, and a Macintosh developer of some experience, but I don't have >the resources (hardware = $$$$ x 10**3), so all these tools that Apple are >putting out -- and they are high-quality, too; in spite of its slowness and >size, MPW/MacApp is REALLY powerful -- are out of my reach! This is unfortunately true. MPW and MacApp are not intended for everyone. They are simply other alternatives for Macintosh programmers. I think that other third party products address the needs of the "kitchen-table" developers very well, while MPW and MacApp address the needs of professional developers. We would like to make MacApp available in other development systems, and have been working with third parties to make this happen. -- Larry Rosenstein Object Specialist Apple Computer AppleLink: Rosenstein1 UUCP: {sun, voder, nsc, mtxinu, dual}!apple!lsr CSNET: lsr@Apple.CSNET
dtw@f.gp.cs.cmu.edu.UUCP (12/10/86)
| MPW and MacApp are not intended for everyone. They are simply other | alternatives for Macintosh programmers. I think that other third party | products address the needs of the "kitchen-table" developers very well, | while MPW and MacApp address the needs of professional developers. | | We would like to make MacApp available in other development systems, and | have been working with third parties to make this happen. I don't understand why "professional" developers need MPW and MacApp and "kitchen-table" developers don't. No third party products provide the high level of support for the Mac user interface as does MacApp. If the "professional" needs this level of support, then why doesn't the "kitchen- table" developer? Is it that the "kitchen-table" developers are smarter, better programmers? Or is it that Apple just doesn't care about them, because they are less likely to directly help Apple sell Macs?
vito@trwspf.UUCP (12/10/86)
In article <364@apple.UUCP> lsr@apple.UUCP (Larry Rosenstein) writes: >We would like to make MacApp available in other development systems, and >have been working with third parties to make this happen. > When will this happen and with which languages. Personally, I would like to see better access to the toolbox from Smalltalk. In fact, I would like to prototype applications in Smalltalk and (when finished with what I've got), convert the Smalltalk code into a language (Object Pascal or Object Assembler) and get real performance!!! -- Herb Barad - TRW Data Systems Lab ARPA: barad@brand.usc.edu or vito%trwspf.uucp@brand.usc.edu USENET: ...!{brand|trwrb}!trwspf!vito
rs4u#@ANDREW.CMU.EDU.UUCP (12/10/86)
This is in response to Duane Williams' (dtw@f.gp.cs.cmu.edu) article of Dec. 9: I agree veery strongly -- it is the smaller, third-party developer or hobbyist or college student that needs the most support. While there are some fine development systems out there (to wit, Lightspeed C and Lightspeed Pascal) and the situation is much better for kitchen-table developers than it used to be, the fact is that it's the professionals wwith money to spend and marketable results to offer (or promise) that end up getting the lion's share of support. For example: to be a Registered Developer and receive direct phone and e-mail tech support from Apple costs $595 a year. I personally cannot afford that. I'm a Certified Developer, which costs nothing. I have received monthly mailings from Apple, lately containing Technotes, but thsoe are available just about anywhere. (They are freely distributed, yes?) Otherwise, the advantages are nil. "Or is it that Apple just doesn't care about them, because they are less likely to directly help Apple sell Macs?" I would suspect it's the latter. While Apple certainly could help more, the attitude seems prevalent among large companies: "We want to sell computers/toasters/baseball bats, so let's give all our support to the professional developer/toaster engineer/baseball bat handle-wrapper, rather to the little
wetter@tybalt.caltech.edu.UUCP (12/11/86)
In article <20@f.gp.cs.cmu.edu> you write: > >| MPW and MacApp are not intended for everyone. They are simply other >| alternatives for Macintosh programmers. I think that other third party >| products address the needs of the "kitchen-table" developers very well, >| while MPW and MacApp address the needs of professional developers. >| >| We would like to make MacApp available in other development systems, and >| have been working with third parties to make this happen. > >I don't understand why "professional" developers need MPW and MacApp and >"kitchen-table" developers don't. No third party products provide the high >level of support for the Mac user interface as does MacApp. If the >"professional" needs this level of support, then why doesn't the "kitchen- >table" developer? Is it that the "kitchen-table" developers are smarter, >better programmers? Or is it that Apple just doesn't care about them, >because they are less likely to directly help Apple sell Macs? From the acticle you quoted "We have been working with third parties to make this happen". In the article where he talks about the needs of kitchen vs provessional devlopers he is refering to MPW more then MacAPP. MPW is not intended for the average user turned programmer it is intended for someone familar with the traditional command line development enivirionment (and god forbid likes it, bleh!). MPW in not easy to use but it is incredibly powerful. Not all of the power of MPW is needed for MacAPP, only an object pascal compiler. Thus apple is trying to get third party compilers to suppor object pascal. Then the "kitchen table" developer can use MacAPP without having to resort to the more complete envirionment of MPW. As for the rest of your comments about whether Apple cares about the "kitchen table" developers, well I'll take them for what they are worth.... Pierce Wetter Reclaimer, spare that tree! Take not a single bit! It used to point to me, Now I'm protecting it. It was the reader's CONS That made it, paired by dot; Now, GC, for the nonce, Thou shalt reclaim it not. -------------------------------------------- wetter@tybalt.caltech.edu --------------------------------------------
lsr@apple.UUCP (Larry Rosenstein) (12/12/86)
In article <125@trwspf.UUCP> vito@trwspf.UUCP (Herb Barad) writes: > >When will this happen and with which languages. Personally, I would like >to see better access to the toolbox from Smalltalk. In fact, I would like >to prototype applications in Smalltalk and (when finished with what I've >got), convert the Smalltalk code into a language (Object Pascal or >Object Assembler) and get real performance!!! > In general, there are 2 ways to be compatible with MacApp. First is to adopt the MPW object module format and the Object Pascal method call runtime scheme (which was described in the December MacTutor, by the way). If you do this, then you can use a pre-compiled version of MacApp and only have to convert the MacApp interfaces into your language. Second is to translate MacApp into your lanaguage. This is a relatively big job, because MacApp is about 20,000 lines of code. If any language developer is interesting in supporting MacApp s/he can write to the MacApp product manager: Harvey Alcabes Apple Computer 20525 Mariani M/S 27-S Cupertino, CA 95014 It interesting tha Smalltalk was mentioned, because there is an ongoing research project at Apple investigating putting MacApp in Smalltalk. This was demonstrated at OOPSLA last October, but is not currently available. (It is based on a very old version of MacApp and is somewhat fragile.) The Smalltalk runtime is very different from that of Object Pascal, so the Smalltalk people wrote a translator (in Smalltalk). The translator did not do a 100% job, so they then hand edited the result. They are able to run some of the simple sample programs and switch back and forth from the Macintosh world to the Smalltalk world. (They implement 2 different screens.) While the MacApp program is running, you have the usual Macintosh user interface (desk accessories, pull-down menus, etc.). As you might imagine, there are a lot of issues that still need to be resolved, which is why it is a research project. For example, there is no Smalltalk to Pascal translator. Second, there are Pascal constructs that Smalltalk doesn't support such as VAR parameters. Third, some Toolbox calls require a procedure pointer as a parameter, which is difficult to do in Smalltalk. Finally, there are issues involved with memory management because the Smalltalk heap is separate from the Macintosh heap. -- Larry Rosenstein Object Specialist Apple Computer AppleLink: Rosenstein1 UUCP: {sun, voder, nsc, mtxinu, dual}!apple!lsr CSNET: lsr@Apple.CSNET
dgold@apple.UUCP (David Goldsmith) (12/12/86)
In article <MS.V3.18.rs4u.80020c06.blythedale.ibm032.129.1@andrew.cmu.edu> rs4u#@ANDREW.CMU.EDU (Richard Siegel) writes: >... For example: to be a Registered Developer and receive direct >phone and e-mail tech support from Apple costs $595 a year. I personally >cannot afford that. I'm a Certified Developer, which costs nothing. I have >received monthly mailings from Apple, lately containing Technotes, but thsoe >are available just about anywhere. (They are freely distributed, yes?) >Otherwise, the advantages are nil. Certified developers (and it does indeed cost nothing to become one) are also entitled to technical support via e-mail (MCI). Certified developers also get discounts on Apple equipment. Only Registered Developers get telephone technical support. -- David Goldsmith Apple Computer, Inc. MacApp Group AppleLink: GOLDSMITH1 UUCP: {nsc,dual,sun,voder,ucbvax!mtxinu}!apple!dgold CSNET: dgold@apple.CSNET, dgold%apple@CSNET-RELAY
lsr@apple.UUCP (Larry Rosenstein) (12/12/86)
In article <20@f.gp.cs.cmu.edu> dtw@f.gp.cs.cmu.edu (Duane Williams) writes: > >I don't understand why "professional" developers need MPW and MacApp and >"kitchen-table" developers don't. No third party products provide the high >level of support for the Mac user interface as does MacApp. If the >"professional" needs this level of support, then why doesn't the "kitchen- >table" developer? Is it that the "kitchen-table" developers are smarter, >better programmers? Or is it that Apple just doesn't care about them, >because they are less likely to directly help Apple sell Macs? "Kitchen-table" or "weekend" developers need as much help (if not more) in producing their applications. In general, they don't have the time to spend learning about the details of Inside Macintosh. MacApp tries to solve this problem. It is equally true that Apple is in the business of selling machines, and that the vast majority of users care about the commerical software that is available. Therefore, Apple devotes most of its limited resources towards commerical developers, because they are the most likely to ship products. Apple does care about "kitchen-table" developers. We helped APDA get off the ground, for example. As David Goldsmith mentioned, there is no fee to become a Certified Developer, which provides for discounts on equipment and E-Mail Technical Support. (You do have to convince the Developer Relations people that you are serious about shipping a product.) MPW was targeted towards "professional" developers because there seemed to be a lack of third party products in that market. I am not very familiar with all the development systems on the Macintosh, but I don't think any of them offer the expandability of MPW. Also, MPW supports multi-language development. The goal of making MPW run on a minimal hardware configuration was not a high priority. MPW was tested, however, on a 512Ke with 2 800K drives, but compiling large programs simply requires more memory. The main goal of MacApp was to produce a framework that could be used for commerical applications. Once again, there are already similar products that are designed to make development easier. From third parties there is MacExpress (not to be confused with DiskExpress from the same company), and the Pascal/C Extenders. In the public domain/shareware category are TransSkel (and related things). As was mentioned above, none of these systems (as far as I know) address as broad a range of features as does MacApp. Some of these features (e.g., memory management, error handling, printing) are very important and very difficult to do. Adding all these features increased the size of MacApp. Off hand, I can't think of many features that could be eliminated from MacApp in order to reduce its size. We could eliminate support for the clipboard, for example, but that means either you would have to implement this all yourself or leave it out of the program altogether. It might be true that the MPW Pascal compiler makes inefficient use of memory, and that a different compiler would be able to compile MacApp programs in 512K of memory. As far as a hard disk goes, I don't think you can implement a very large application on a machine with 2 800K drives. Even if you don't have the hardware to run MPW and MacApp, you can get a printed MacApp listing from APDA and get some benefit out of studying the source code. I will gladly describe any of the techniques used in MacApp, so that other people can incorporate them into their applications. -- Larry Rosenstein Object Specialist Apple Computer AppleLink: Rosenstein1 UUCP: {sun, voder, nsc, mtxinu, dual}!apple!lsr CSNET: lsr@Apple.CSNET
joel@gould9.UUCP (Joel West) (12/12/86)
For anyone interested in MacApp, I strongly recommend the December issue of MacTutor. Larry Rosenstein's example is more understandable and useful than the ones supplied with the source or printed by Schmucker. He also briefly summarizes the philosophy if you haven't seen it already. Ken Doyle's article talks about the MacApp/MPW Object Pascal implementation in a way that appears nowhere else. One developer I know that was previously anti-MacApp is now leaning towards Object Pascal (if not MacApp) for future development. Apple and the MacApp group have done a lot to make sure that the performance penalties are minimal. -- Joel West MCI Mail: 282-8879 Western Software Technology, POB 2733, Vista, CA 92083 {cbosgd, ihnp4, pyramid, sdcsvax, ucla-cs} !gould9!joel joel%gould9.uucp@NOSC.ARPA
mikec@tekred.UUCP (Mike Combs) (12/13/86)
In article <374@apple.UUCP> dgold@apple.UUCP (David Goldsmith) writes: >In article <MS.V3.18.rs4u.80020c06.blythedale.ibm032.129.1@andrew.cmu.edu> rs4u#@ANDREW.CMU.EDU (Richard Siegel) writes: >>cannot afford that. I'm a Certified Developer, which costs nothing. I have >>received monthly mailings from Apple, lately containing Technotes, but thsoe >>are available just about anywhere. (They are freely distributed, yes?) >>Otherwise, the advantages are nil. > >Certified developers (and it does indeed cost nothing to become one) are also >entitled to technical support via e-mail (MCI). Certified developers also >get discounts on Apple equipment. Only Registered Developers get telephone >technical support. >-- >David Goldsmith >Apple Computer, Inc. I've found Apple's technical support through MCI to be very useful, indirectly, and directly. Indirectly, because writing down the problem to send to Apple forces you to concretely identify it. More than once, the process of describing the problem has led to it's solution before I e-mailed off the question. Directly, because Apple replies in a day or so. Their MCI support is much better than many outfit's telephone support. You don't have to explain the problem to five people before you reach the right one. You don't have to call them back when they forget to call you back. And you don't wait on the tech-line hold for 1/2 an hour. ..mac <- These were my initials before Apple borrowed them. But I don't mind. But perhaps you should copyright your initials before it's too late. :-) -- ----- Mike A. Combs -------------------------------------------------- ^--the "A" is for: "Accidently erased the files" GEnie: mike.combs MCI: m.combs tektronix!tekgen!tekred!mikec