gjc@paradigm.com (04/09/90)
Here I am, a lisp hacker, who learned what a macro was from JONL, and what lisp microcode was from RG, and what lexical scoping was from GLS. So when I go to write an expert system at a startup-company do I decide to use LISP? NO! Why? Mainly the unreasonable cost of the RUNTIME portion of a lisp. three costs: (1) technical cost of the overly-complex and large runtime portions. (2) financial cost-of-sales for runtime licenses. (3) administrative costs of runtime licensing procedures. Do language vendors for C,FORTRAN,PASCAL generally charge a runtime license fee? No, they do not. (Not even 3rd-party vendors). But lisp vendors generally have various "technical" rationalizations for per-instance runtime licensing costs and complexities. No need to go into these here. The result is a classic downward spiral: Fewer Commercial/Developers Users of Lisp => Justification for obtaining revenue from runtime licenses => Fewer Commercial/Developers who will want to use Lisp => need for higher runtime license costs for more revenue => Fewer users of lisp ... -gjc
kend@tekchips.LABS.TEK.COM (Ken Dickey) (04/10/90)
In article <485@paradigm.com> gjc@paradigm.com writes: ... >So when I go to write an expert system at a startup-company >do I decide to use LISP? > >NO! > >Why? Mainly the unreasonable cost of the RUNTIME portion of a lisp. > >three costs: >(1) technical cost of the overly-complex and large runtime portions. >(2) financial cost-of-sales for runtime licenses. >(3) administrative costs of runtime licensing procedures. > >Do language vendors for C,FORTRAN,PASCAL generally charge a runtime >license fee? No, they do not. (Not even 3rd-party vendors). > >But lisp vendors generally have various "technical" rationalizations for >per-instance runtime licensing costs and complexities. No need to go >into these here. The result is a classic downward spiral: ... >-gjc Perhaps you should try Scheme. Aside from the academic/no-cost compilers with source, Chez Scheme [Cadence Research Systems: (812) 333-9269] has an application builder which links in a minimal runtime for stand-alone applications. Chez runs on Sun3/4, Vax, Apollo, 88K and various other boxes. Using Scheme gets rid of 1,2,&3. Don't forget the cost of storage leaks. [I know of at least 1 C++ product which uses 5 heaps!]. Also, don't forget the cost of development time. If you use a productive enviroment which gets your software done in 1/2 the time of batch-compiled languages (C,FORTRAN,PASCAL) you may just hit your market windows. Perhaps I should ask what you mean by Lisp. Lisp 1.5 probably is dead! -Ken Dickey
alms@cambridge.apple.com (Andrew L. M. Shalit) (04/10/90)
In article <5951@tekcrl.LABS.TEK.COM> kend@tekchips.LABS.TEK.COM (Ken Dickey) writes: In article <485@paradigm.com> gjc@paradigm.com writes: ... >So when I go to write an expert system at a startup-company >do I decide to use LISP? > >NO! Perhaps you should try Scheme. Aside from the academic/no-cost compilers with source, Chez Scheme [Cadence Research Systems: (812) 333-9269] has an application builder which links in a minimal runtime for stand-alone applications. Chez runs on Sun3/4, Vax, Apollo, 88K and various other boxes. Ken also probably should have mentioned MacScheme (Lightship Scheme?) which can produce ~120K applications for distribution. I believe there is no licensing fee. Also, MACommonLisp (disclaimer alert!) has a single shot licensing fee. That is, a developer pays $100 a year, for any number of copies of any number of applications. -andrew
lgm@cbnewsc.ATT.COM (lawrence.g.mayka) (04/10/90)
In article <485@paradigm.com> gjc@paradigm.com writes: >So when I go to write an expert system at a startup-company >do I decide to use LISP? > >NO! > >Why? Mainly the unreasonable cost of the RUNTIME portion of a lisp. > >three costs: >(1) technical cost of the overly-complex and large runtime portions. >(2) financial cost-of-sales for runtime licenses. >(3) administrative costs of runtime licensing procedures. Until the world is ready for Lisp machines... You could develop in (portable) Common Lisp in your favorite environment but deliver your application in Austin Kyoto Common Lisp. My impression is that, with the proper arrangements, the esteemed professors in Kyoto do not impose (2) and (3). Even (1) is not so much of a problem with AKCL as with some other Common Lisp implementations. Can you name your hardware platform? For example, if you're developing for an IBM-compatible PC with 640 Kbytes of RAM, your situation is probably beyond hope unless you can make do with Xlisp. Lawrence G. Mayka AT&T Bell Laboratories lgm@ihlpf.att.com Standard disclaimer.
captain@vax1.acs.udel.EDU (Jeffrey Kirk) (04/10/90)
In article <14980@cbnewsc.ATT.COM> lgm@cbnewsc.ATT.COM (lawrence.g.mayka,ihp,) writes: ]In article <485@paradigm.com> gjc@paradigm.com writes: ]>So when I go to write an expert system at a startup-company ]>do I decide to use LISP? ]> ]>NO! ]> ]>Why? Mainly the unreasonable cost of the RUNTIME portion of a lisp. ]> ]>three costs: ]>(1) technical cost of the overly-complex and large runtime portions. ]>(2) financial cost-of-sales for runtime licenses. ]>(3) administrative costs of runtime licensing procedures. ] Support your own LISP, take one of the public-domain LISPS and add/subtract what you want. This solves 1-3 above. -- ZZ :wq! . Jeff C. Kirk: captain@vax1.acs.udel.edu ^x^s
dourish@arisia.Xerox.COM (Paul Dourish) (04/10/90)
In article <6008@udccvax1.acs.udel.EDU> captain@vax1.acs.udel.EDU (Jeffrey Kirk) writes: >Support your own LISP, take one of the public-domain LISPS and add/subtract >what you want. This solves 1-3 above. Scarcely the point.... it proves some sort of "inferiority" for Lisp if I have to do this. I don't have to support my own C, for instance. It's certainly a common criticism of Lisp that the run-time support is large, making it difficult to deliver applications to end-users. What are people's experiences with distillation tools that remove unwanted code and give smaller images for delivery systems? Gjc's right that this is a vicious circle; unfortunately, what it needs is some supplier who can afford to break it, perhaps in conjunction with a Lisp house prepared to lower the financial cost of run-time licenses. (Didn't Symbolics start to address these sorts of problems with a compatability system for PC-type machines?) -- Paul Dourish, Rank Xerox EuroPARC, Cambridge UK <Dourish.EuroPARC.Xerox.com> "Ain't they got no barbers where you come from, boy?"
jdye@zodiac.ADS.COM (John W. Dye Jr.) (04/11/90)
>Gjc's right that this is a vicious circle; unfortunately, what it needs is >some supplier who can afford to break it, perhaps in conjunction with a Lisp >house prepared to lower the financial cost of run-time licenses. (Didn't >Symbolics start to address these sorts of problems with a compatability >system for PC-type machines?) Unfortunately suppliers of Lisp are vicitms of a chicken-and-egg problem. The fact is that Lisp is not a very profitable buisness (Witness Gold Hill's recent chapter 11, Symbolics general status and Lucid and Franz's failure to grow as fast as they would like). Actually, I think that the remaining lisp vendors have done a marvelous job of staying solvent given the marketplace factors them. But GJC does have a very valid point. The delivery liscence is a severe limitation to size of the market for Lisp as an computer system delivery vehicle. Other barriers are the size and speed of applications written in lisp (although those factors are being remedied by the Common-Lisp vendors). But, given a choice between two language products which both produce fast, small, robust applications, I will choose based on which product is cheapest to incorporate into my workstation product. The extra 1K cost for the liscence fee will be 1k of profit that I DONT RECIEVE from the application I am selling and supporting. > >-- >Paul Dourish, Rank Xerox EuroPARC, Cambridge UK <Dourish.EuroPARC.Xerox.com> > > "Ain't they got no barbers where you come from, boy?" JD John Dye jdye@ads.com
Kelly@Vega (04/11/90)
In article <485@paradigm.com> gjc@paradigm.com writes: >>So when I go to write an expert system at a startup-company >>do I decide to use LISP? >> >>NO! >> >>Why? Mainly the unreasonable cost of the RUNTIME portion of a lisp. >> >>three costs: >>(1) technical cost of the overly-complex and large runtime portions. >>(2) financial cost-of-sales for runtime licenses. >>(3) administrative costs of runtime licensing procedures. >lgm@cbnewsc.ATT.COM (lawrence.g.mayka) replies > Until the world is ready for Lisp machines... Common Lisp is more of an Operating System than just a programming language. You certainly don't pay Lisp license fees for applications delivered for a Symbolics or an Explorer. You assume that the delivery machine already has UNIX, or MS-DOS, or whatever. If you have to deliver your application with an Operating System, you would certainly have to pay a license fee for the OS. You are buying into the OS, not C, when you use C as your programming language. Common Lisp is quite healthy. In my opinion, the growth of UNIX, C and C++ is cancerous. Common Lisp will be an Operating System. When you start writing programs that use multiprocessors and parallelism, you will rapidly discover that UNIX and C are dead. -Kelly Murray (Top Level, Inc.) murray@cs.umass.edu
gjc@paradigm.com (04/12/90)
In article <12789@dime.cs.umass.edu>, Kelly@Vega writes: > > Common Lisp is more of an Operating System than just a programming > language. False. A CL does *not* have to implement: - FILESYSTEM - EDITORS - NETWORKING - DEVICE DRIVERS for DISK/TAPE/NETWORK ... - SCHEDULING - WINDOW SYSTEM - PROTECTION - INTERLOCKING - INTERPROCESS COMMUNICATION There is a heck of a lot in an O/S such as VMS or UNIX. For that matter, there is a heck of a lot in something like the Symbolics release 6.x O/S, or the LMI-LAMBDA release 3.x Most all of the stuff of conventional O/S. So why is it that some CL implementations under say Unix, are now bigger than an entire lispmachine O/S image??? > You certainly don't pay Lisp license fees for > applications delivered for a Symbolics or an Explorer. False. You pay one HELL of a lot, since you need to buy a hardware board and pay for additional software licenses when you want to support a Lisp application on your MAC or SUN in that manner. The user must also pay additional monthly hardware support fees. > Common Lisp is quite healthy. In my opinion, the growth of UNIX, C and C++ > is cancerous. C is FORTRAN-DONE-RIGHT, so who could argue with that? And C++ perhaps is just filling the space that could have been taken up by reasonable lisp implementations. -gjc
carlson@Franz.COM (Bill Carlson) (04/12/90)
Hello George, Lisp is not dead or dying. On Unix machines, Lisp is doing extremely well, not just as a development tool, but for delivery as well. Franz as a company is healthy and growing rapidly which makes us believe that the Unix Lisp market is also healthy and growing. Companies like NeXT, Cray, Sun, Apollo, DEC, Sequent and IBM all openly endorse Lisp on their Unix machines. So if Lisp is dying, it must be in other circles (LMs, DOS?). Your points about delivery are well taken. I would argue that the main problem with runtime is with the size of the Lisp and the expense of the delivery platform rather than the cost of runtime licenses and the administrative costs. All of these, fortunately, are being dealt with now by various Lisp vendors. It helps too, that hardware is still getting less expensive and more powerful. In Allegro CL 4.0 and in Lucid/Sun CL 4.0 you will have affordable runtime systems, affordable in both machine resources and in price. Both are due out this year. Lucid/Sun CL will use tree-shaking algorithm while Franz will take a very different approach. In either case, the point is the same; Lisp vendors are dealing with the issue of delivery in a big way and working to reduce the size of the deliverable. Lisp runtime licenses (from Franz, I can't quote others) today cost from $100 to $600 on typical Unix machines. This is more than C and Fortran, but it isn't that much considering what is provided to you with Lisp. With Lisp you get lots more functionality, with lots of features and customizable options not found in C. Lisp is also getting more and more portable and is much faster now than ever before. Lisp is still best suited for maintaining and writing large complex applications. For some smaller, simpler projects, C is admittedly more appropriate at the current time. But this will change and you will see more and more Lisp-based deliverables. If the cost of Lisp runtimes are too much for you, you can opt for some free or very inexpensive alternatives (KCL, Ibuki, PD-Franz..). We don't expect all C-based companies to switch to Lisp or vice versa. Lisp has its niche, and as software gets more powerful and complicated, that niche will grow. Lisp is not dead. It is alive and kicking, even in the commercial world. Regards, Bill Carlson Franz Inc. carlson@franz.com -- ========================================================================= Bill Carlson Franz Inc. 1995 University Avenue, Suite 275 INTERNET: carlson@franz.com Berkeley, CA 94704 UUCP: uunet!franz!carlson 415-548-3600, FAX:415-548-8253
lgm@cbnewsc.ATT.COM (lawrence.g.mayka) (04/12/90)
In article <509@paradigm.com> gjc@paradigm.com writes: >In article <12789@dime.cs.umass.edu>, Kelly@Vega writes: >> Common Lisp is more of an Operating System than just a programming >> language. >False. A CL does *not* have to implement: > - FILESYSTEM - EDITORS > - NETWORKING - DEVICE DRIVERS for DISK/TAPE/NETWORK ... > - SCHEDULING - WINDOW SYSTEM > - PROTECTION - INTERLOCKING - INTERPROCESS COMMUNICATION Perhaps it is more accurate to say that Common Lisp attempts to provide a portable interface to a software development environment. Common Lisp includes BREAK, INSPECT, TRACE, STEP, COMPILE, LOAD, EVAL, ED, PPRINT, and a host of other environment-related forms. >So why is it that some CL implementations under say Unix, are >now bigger than an entire lispmachine O/S image??? Large Common Lisp images typically include a more or less complete software development environment, plus a number of operating-system-like capabilities such as preemptive multiple-process scheduling. >> You certainly don't pay Lisp license fees for >> applications delivered for a Symbolics or an Explorer. >False. You pay one HELL of a lot, since you need to buy a hardware board >and pay for additional software licenses when you want to support >a Lisp application on your MAC or SUN in that manner. The user must >also pay additional monthly hardware support fees. The point is that any calculation of "overhead" depends on the assumptions one is willing to make about typical customers. If targeted customers usually already have a Lisp machine and a Lisp-based operating system, these are no longer "chargeable" to the application. Even on a computer running the UNIX System, if customers typically already have a Common Lisp implementation and the application is packaged on that assumption (e.g., as a loadable binary), the Lisp is no longer "application overhead." Lawrence G. Mayka AT&T Bell Laboratories lgm@ihlpf.att.com Standard disclaimer.
jeff@aiai.ed.ac.uk (Jeff Dalton) (04/12/90)
In article <12789@dime.cs.umass.edu> Kelly@Vega writes: >In article <485@paradigm.com> gjc@paradigm.com writes: >>>Why? Mainly the unreasonable cost of the RUNTIME portion of a lisp. >>> >>>three costs: >>>(1) technical cost of the overly-complex and large runtime portions. Isn't it a financial cost too? One has to buy larger and more powerful machines in order to run Lisp; and such machines cost more. For example, I use a ~10 mips, 8 megabyte machine. It runs a wide range of programs written in C without much trouble, but if I want to use a Common Lisp on it, I usually stick to KCL because larger ones take a noticable performance hit from paging. Moreover, I find it really annoying that I can't write little programs in Lisp (because they automaticaly become big programs) and have to use C instead. Common Lisp implementations are a step backwards in this respect compared to earlier Lisps such as Franz. [Note that I say implementations. Someone could, I suspect, produce a Common Lisp with different properties.] Not only that, in some ways C has a better programming environment than the Lisps that would run on the same machines. (Try dbxtool on Suns, for example). >>>(2) financial cost-of-sales for runtime licenses. >>>(3) administrative costs of runtime licensing procedures. >Common Lisp is more of an Operating System than just a programming >language. [...] But some people are happy with their current OS and don't want to replace it with a completely new one that may not run the other things they want to run. Common Lisp ought to be analogous to a compiler plus a library. Sure, some implementations will be in a Lisp-based OS, but not all of them. Indeed, it's things like Symbolics Genera that are analogous to an OS, not Common Lisp. >You assume that the delivery machine already has UNIX, or MS-DOS, or >whatever. If you have to deliver your application with an Operating >System, you would certainly have to pay a license fee for the OS. >You are buying into the OS, not C, when you use C as your programming >language. Um, quite a few people do have machines that already have Unix, so it's perfectly reasonable to want to deliver applications for such machines in Lisp just as one could in C. Most people are not going to change operating systems just to use Lisp. >Common Lisp will be an Operating System. When you start >writing programs that use multiprocessors and parallelism, >you will rapidly discover that UNIX and C are dead. Right now, C seems to be winning here rather than losing.
rpk@wheaties.ai.mit.edu (Robert Krajewski) (04/14/90)
>Common Lisp will be an Operating System. When you start >writing programs that use multiprocessors and parallelism, >you will rapidly discover that UNIX and C are dead. Unix and C ain't gonna die. Look at this this way: given current application trends (OOP, complex storage management), environments that can *provide* what Common Lisp and a carefully pruned subset of CLOS need will be the wave of the future. The essence of this functionality is basically Scheme, since much of Common Lisp (generic sequence functions, math, etc.) can viewed as libraries, not an essentially computational model. Such environments will still have to support the many useful programs that don't need object management. They will probably also have to partition data and execution privileges in a more disciplined way than the classic Lisp Machine environment. So what I see coming is an environment that can support Unix/Posix/OS/2/Mac things, with new breed of ``application'' that is actually a collection of objects and classes that augment the basic environment, just as the typical Lisp Machine program can offer new functions and flavors to other parts of the machine without recourse to streams, pipes, string analysis, arbitrary protocols, etc.
rpk@wheaties.ai.mit.edu (Robert Krajewski) (04/14/90)
In article <2222@skye.ed.ac.uk> jeff@aiai.UUCP (Jeff Dalton) writes: >In article <12789@dime.cs.umass.edu> Kelly@Vega writes: >>In article <485@paradigm.com> gjc@paradigm.com writes: >>>>Why? Mainly the unreasonable cost of the RUNTIME portion of a lisp. >>>> >>>>three costs: >>>>(1) technical cost of the overly-complex and large runtime portions. > >Isn't it a financial cost too? One has to buy larger and more >powerful machines in order to run Lisp; and such machines cost more. >For example, I use a ~10 mips, 8 megabyte machine. This is becoming less and less of an issue; 8-meg machines are not so uncommon now in the Macintosh world, and in the PC world, such amounts of memory are accessible via modern environments such as OS/2 and Windows 3.0. i3/486s and 68030/40s are quite acceptable both as development and delivery platforms. >Moreover, I find it really annoying that I can't write little programs >in Lisp (because they automaticaly become big programs) and have to >use C instead. Ahh, but what happens if you write a C program that uses a big library in an environment that does not support dynamic linking ? Then, you run into a similar phenomenon, albeit much less drastic. (At Gold Hill, we estimated the Common Lisp core to cost about 600kbytes of moderately optimized 286 code.) Again, Lisp functionality like to reside in a library or OS-core (minus the historically-mandated baggage of sequence functions and other MacLisp artifacts). Powerful support is amortized by reuse. The driving impetus is the demand for powerful programs that are made tractable only by the services that are associated with Scheme or Common Lisp.
lgm@cbnewsc.ATT.COM (lawrence.g.mayka) (04/14/90)
In article <7853@rice-chex.ai.mit.edu> rpk@lammert.ai.mit.edu () writes: >of CLOS need will be the wave of the future. The essence of this >functionality is basically Scheme, since much of Common Lisp >(generic sequence functions, math, etc.) can viewed as libraries, >not an essentially computational model. It is true that much of the "bulkiness" of Common Lisp can be provided as autoloadable libraries, but to imply that the remainder is nothing more than Scheme stretches the point, I think. >Such environments will still have to support the many useful programs >that don't need object management. They will probably also have to >partition data and execution privileges in a more disciplined way >than the classic Lisp Machine environment. So what I see coming is >an environment that can support Unix/Posix/OS/2/Mac things, with >new breed of ``application'' that is actually a collection of objects >and classes that augment the basic environment, just as the typical >Lisp Machine program can offer new functions and flavors to other parts >of the machine without recourse to streams, pipes, string analysis, >arbitrary protocols, etc. In the nearer term, your projection makes a lot of sense. Lisp machines, for example, are not necessarily the current best choice for sharing a single processor among multiple potentially hostile users. But eventually, the overhead of interfacing the older, non-object-oriented programs to the newer, object-oriented programs will become more trouble than it's worth, and software vendors will progressively port their products to the new environment, adding functionality in the process. The old world will then take on the characteristics of a "compatibility box," appropriate for running "dusty decks" but not for developing new applications. This entire technology transition is no different in principle from others our industry, and other industries, have experienced over time. As usual, early adopters will assimilate the new technology first in search of a competitive advantage; more conservative market players will wait for widespread popularity or even ubiquity; and stragglers may never make the conversion, either servicing obsolete systems indefinitely or simply getting out of the business as it becomes unprofitable. Do not underestimate the power of standardization. The same market pressures that are forcing the migration of software products to the UNIX System (despite the latter's alleged inapproriateness for some applications) will eventually propel a movement to its successor. Uniformity of OA&M (operation support, administration, and maintenance) will of itself be a major consideration. This scenario assumes that the new technology will eventually become competitive in efficiency, cost, etc. with the old (i.e., within striking distance for most applications). If that does not prove to be the case, the two worlds may simply have to learn to coexist, communicate, and cooperate indefinitely. Lawrence G. Mayka AT&T Bell Laboratories lgm@ihlpf.att.com Standard disclaimer.