[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lisp considered unfinished
- To: info-mcl@digitool.com
- Subject: Re: Lisp considered unfinished
- From: Kevin Joback <kevin@molknow.com>
- Date: Thu, 8 Jun 1995 21:47:44 -0400 (EDT)
- In-reply-to: <3r0v3d$bvp@tools.near.net>
- Sender: owner-info-mcl@digitool.com
Against my better judgment...
Some ramblings (and maybe ranting) from a chemical engineer attempting to
sell commercial molecular design software products written in LISP:
- First as background my formal programming experience was a one half
semester course in FORTRAN. When I started learning LISP I said "Wow,
look at all these parentheses." When I started learning C++ I said "Wow,
look at all these semicolons." Learning a new language is a pain but if I
can be reasonably sure it is worthwhile people invest the time. Look at
the languages people learn for their spreadsheets and databases and even
their HP calculators. If people thought it was worth it, people would
learn LISP.
- The key factor is feeling confident that the investment of time and
effort learning a new language will pay off. A colleague of mine felt
confident that Visual Basic would suffice for a chemical kinetics package
he was thinking of. The reason he felt confident was that there were a
number of existing programs written in VB he could refer to. These existing
programs were not Gulf War or Space Station efforts. Nor was his. I don't
understand the comment that BASIC is an inadequate language. His
numerical integrations are as accurate as anyone else's. As far as
development time, in under two weeks he had a debugged and documented
$500 program that people are buying and think is great.
- I have to say that as I start a new port of our molecular design system
I do not feel confident that it will be easy to deliver a finished LISP
product. This is why I feel "unfinished" is an appropriate description
for some of the LISP implementations I've used. Halfway through
development of one product I started looking at how to generate hardcopy
output. I could not find it documented. The LISP vendor said they had not
addressed hardcopy in their current release. I wanted to invoke a system
dialog. That also had not been addressed yet. Another LISP, how about
oriented text for the Y axis in graphs. Not yet implemented.
- Reimplementing the product in Visual C++, I started with a skeleton
application which called the system dialog I wanted, had hardcopy already
built in, and had a CDRom of hints that talked about displaying rotated
text. The problem with C++ is that I have to compile and link my code
everytime I wanted to make one change.
- A big step in generating confidence would be for LISP vendors to
include a skeleton application framework upfront. Let me know what can be
accomplished. A good test of development time would be how long it takes
to create a "Hello World" APPLICATION (not just the display of Hello
World in a listener) in Visual C++ vs their LISP implementation.
- Interestingly the 5MB Hello World program is not a problem for me. Most
engineers have at least 1GB of disk and 8MB of RAM on their PCs and much
more on their workstations. Speed differences are not a big deal either.
However, when the system starts garbage collecting right in the middle of
someone dragging a molecule across the screen, that is a real problem.
- My customers see only the end product. They don't care what language
I've written the program in. They also don't care if I was much more
productive developing my code than my competitor. Unfortunately for me my
competitors can afford many more programmer than I can.
All in all I would hope the LISP vendors could make a clear statement
about the markets their products address. If LISP is for research, fine.
You are already there. If LISP is for application development
then you need to make it a lot easier to "finish" programs.