jasper@cisunx.UUCP (sullivan jeffrey a) (09/04/87)
Can anyone out there give a good comparison of the pros and cons of MacScheme vs. Expercommon Lisp with regards to a program development environment? I understand that MacScheme+Toolsmith has a slick interface (pseudo-object- oriented approach) while E-C lisp has the speed and double-clickable stand- alones. Does E-C lisp have any plans to support MacApp, or develop their own object-oriented environment for E-C lisp? Also, how common IS E-C lisp? And what about the fables application builder from Semantic Microsystems? Will it be out soon? At All? Thank you for your time. Jeff Sullivan bitnet: jasper@pittvms.bitnet UUCP: jasper@cisunx.uucp OR JASPER@vms.cis.pittsburgh.edu
bc@apple.UUCP (bill coderre) (09/05/87)
In article <3856@cisunx.UUCP>, jasper@cisunx.UUCP (sullivan jeffrey a) writes: > Can anyone out there give a good comparison of the pros and cons of MacScheme vs. Expercommon Lisp with regards to a program development environment? > > I understand that MacScheme+Toolsmith has a slick interface (pseudo-object- > oriented approach) while E-C lisp has the speed and double-clickable stand- > alones. Does E-C lisp have any plans to support MacApp, or develop their > own object-oriented environment for E-C lisp? Also, how common IS E-C lisp? > > And what about the fables application builder from Semantic Microsystems? Will > it be out soon? At All? Scheme is a dialect of Lisp created by Professor Gerry Sussman and others at MIT. Since then, it has been "standardized" by a comittee of all kinds of folks, notably Will Clinger. Will also had a hand the creation of MacScheme, which is fully STANDARD Scheme. Scheme is a favorite of the University types, being a fully redesigned Lisp that emphasizes straightforwardness, readability, and intuitiveness. If you've never used a Lisp, it's an excellent one to start with, and also has pretty much all the "expressive power" (and even a few new features) of "Common Lisp". University types use the textbook "Structure and Interpretation of Computer Programming" as an introduction to powerful programming concepts such as data abstraction, procedural abstraction, data-driven programming, and meta-linguistic abstraction. (So much for the big words.) MacScheme includes an "SICP compatibility" file, if you want to follow the book, and many of the examples in the book are on disk. MacScheme also has an optional package "Toolsmith" that provides many useful Mac features (menus, windows, events) in a high-level format. They also have outstanding toolbox support. Bugs are few (I can't recall any, offhand!), and Scheme, while having less functions overall than other lisps, still has all the expressive power. MacScheme has no "real" OOPS in it. You can do your own pretty easily, but there isn't one already. There also aren't packages and macros, which some people will find a shortcoming. I believe that there is some facility for making a Mac pseudo-application (a double-clickable entity that doesn't require the original Lisp disk to run). (Any lisp that generates applications will still require lots of memory to run, as a general rule-of-thumb. (Sometimes, lispers will try hard and make small running code.)) I have called Semantic and received phone support with no hassle. MacScheme is normally byte-compiled, which is slower than a fully compiled language, but still not too shabby. They have released a full compiler, which I have not tried yet. All in all, MacScheme is an excellent product. I have used it quite a bit and enjoy it. $125 for the basic thing, $125 for the Toolsmith, and more for the compiler. From Semantic Micro Systems, address info in MacUser. Semantic has university and volume discounts. * * * Now, I have a somewhat lower opinion of ExperCommonLisp. First, let's get some terms straight. "Common Lisp" refers to a standard set of functions that the Lisp world has agreed on, described in Guy Steele's book "Common Lisp: The Language". There are about 775 functions and variables in Common Lisp, as well as some important concepts such as the scoping rules and the concept of "function" and "value" cells. Exper Common Lisp does not have a substantial amount of the REQUIRED functions to meet the Common Lisp standard. Some of the missing functions effectively remove some of the nicer features of CL, such as lexically embedded functions. Worse, it has a "single cell" structure (which is like Scheme, not Lisp, and will cause incompatibility more often than missing features). ECL has a file compiler, that produces standalone applications. Unfortunately, you can't use the function LAMBDA in your compiled files. (For those that don't know, it's kind of like C missing printf. Not the same functionality, but about as crucial.) Mac Toolbox calls are supported. They also have several optional packages like OPS-5. Haven't used any. You may wonder why I am ragging on them so much. Well, in addition to the big misnomer of trying to pass this thing off as Common Lisp, or even a proper subset, which it is certainly not, I use the features missing from ECL rather heavily. It was a shock to find out just how different ECL was, and how much work I'd have to do to get going in it. ExperTelligence has improved the product over time, but I've often felt like I paid lots of money to find their bugs. (An only somewhat amusing note: I tried to find out what was and was not in ECL, by apropos'ing a CL database, but the database was more than 32000 chars, so the program kept breaking. I eventually gave up, although I do believe that I could have eventually written a program to do it.) Incidentally, they don't have any compatibility documents. I don't recommend ECL to beginners: it's too expensive to "try out"; and it is different enough from every other Lisp that it would cause lots of frustration to go to a different system later. ECL is $800. Expertelligence's address is also in MacUser. * * * I would recommed you look at Coral Software's Allegro Common Lisp, which is a REAL Common Lisp. All of the functions in Steele's book are implemented. OOPS is supported. Many mac features (menus, events, windows, dialogs) are implemented in OOPS style (so that your program can create sublcassed variants on the provided objects). Also, the toolbox is supported through low-level traps. There are many useful tools such as Apropos windows, a cool debugger, a stepper, and an inspector. Many, many, many new features are "Coming Soon" (Real Soon Now, to quote my least favorite Mac critic). I posted a while ago a press release about Allegro, so go find that for more details. Allegro is $400 INTRODUCTORY. They have school and volume discounts. Call them at (617)547-2662 to get a full spec sheet. (They do have an 800 number, which I always forget.) NOTE: I was a Beta tester of Allegro, so I am not 100% unbiased. I do strongly believe that Allegro is the best product on the market. Note also: I am no longer working for Apple, and they are not currently endorsing any Lisp...............................bc