[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MCL Direction?

I have a few comments to the discussion about development environments
started by Dave Lucky:

- I agree with everybody that MCL is a great product and provides one of the
  best development environments there are. We have developed a large and
  complex application (> 2 MB of source), and I am absolutely convinced
  that no other environment or language would have permitted us to realize it
  (certainly not C++/Pascal with environments like ET++ or MacApp, with which
  we had much experience).

- However, Lisp can not be compared with languages like C++ or Object Pascal
  indiscriminately: One crucial difference, for instance, is
  that Lisp is designed to keep data in (maybe virtual) memory. If you want to
  write an application relying heavily on random access of files, you should
  therefore think twice before choosing Lisp. For this reason, I do not agree
  with what has been said about the irrelevance of the memory requirements:
  if the binary of the smallest application you can build is more than 1 MB,
  and you intend to live up to the "philosopy" of Lisp to keep the data in memory,
  you need a large machine. A few facts from our experience:

     - the binary of our stand-alone application is 2.7 MB, which corresponds
      to little more than 2 MB of source (no problem to make an application, by the
      way; a little experience will do it. Moreover, the pre-final release has
      a complete example which I'm certain will be included in 2.0).

    - if we load a document of 1.4 MB into our application, the dynamic
      data structures built require approximately 4.5 MB. We just expanded
      all our macs to 20 MB in order to be comfortable. In C++, the same
      data structures would be much smaller (just instantiate 10'000 Lisp
      structures or CLOS objects with, e.g., 3 empty slots to find out what
      such an instance costs).