Newsgroups: alt.lang.design,comp.lang.c++,comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!agate!darkstar.UCSC.EDU!news.hal.COM!decwrl!netcomsv!netcom.com!vrotney
From: vrotney@netcom.com (William Paul Vrotney)
Subject: Re: Comparing productivity: LisP against C++ (was Re: Reference Counting)
In-Reply-To: swf@elsegundoca.ncr.com's message of Tue, 20 Dec 1994 20:14:50 GMT
Message-ID: <vrotneyD15A7u.4IM@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <19941203T221402Z.enag@naggum.no> <LGM.94Dec5075553@polaris.ih.att.com> <D0CLt9.6K3@research.att.com> <BUFF.94Dec15103904@pravda.world> <D0xAIp.3Dn@rheged.dircon.co.uk> <vrotneyD11MDv.Ks7@netcom.com> <D14LKq.4CJ@lcpd2.SanDiegoCA.NCR.COM>
Date: Wed, 21 Dec 1994 05:07:06 GMT
Lines: 59
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:104297 comp.lang.lisp:16123

In article <D14LKq.4CJ@lcpd2.SanDiegoCA.NCR.COM> swf@elsegundoca.ncr.com (Stan Friesen) writes:

>   In article <vrotneyD11MDv.Ks7@netcom.com>, vrotney@netcom.com (William Paul Vrotney) writes:
>   |> 
>   |> This is close to my experience.  I have mentioned that there feels like a 5
>   |> to 1 productivity ratio in Lisp to C++ to my colleagues who are more or less
>   |> experts in both Lisp and C++ and the usual response is that it is too
>   |> conservative an estimate.  One part of the big ratio is attributed to the
>   |> lack of a good C++ library.  I created a Lispy C++ library for myself which
>   |> includes lists, dynamic typing and other nice Lispisms, ...
>
>   You did what??
>
>   This sounds like you are trying to program C++ as if it were Lisp.

No, I just want to have some of the library capability in C++ that I have in
lisp.

>
>   This is certainly NOT going to get the most effective use out of C++.

Who cares?  My main concern is to get the program working, not half working
with lots of gotchas and memory leaks.  I've seen too many C++ programs in
this state.  I'm wide open to suggestions as how to get the most effective
use out of C++.

>
>   Effective C++ programming style requires a different approach than
>   Lisp programming - the best solution of a given problem is often
>   different in the two languages.
>

I think that I've tried this "C++ programming style" that you speak of and I
don't like it.  I've read some of the C++ books.  If I had to characterize
it I would say that this style (if I'm hearing you) is too static, and I
have to go way out of my way to write extraneous code to support this static
style, which introduces all sorts bugs and obscurities.  That's why I've
changed to a more Lispy programming style.  I find that it is quite
effective.

>
>   |> This leads me to believe that for a complex enough application, like a Go
>   |> program, it is better to develop it in Lisp then recode in C++ in the last
>   |> two weeks before delivery.  Or better yet compile efficiently (enough) in
>   |> Lisp when that becomes more feasible.
>
>   Or it is better designed up front.
>
>   "exploratory programming" is *one* way to handle complexity.
>   Formal design is another way to handle complexity.
>

Well, I'm telling you from experience that the Formal Design approach for
the kinds of problem that I mention is going to fail you.  You can sit in a
room and formally design all you want but you are not going to get anywhere
until you get some visualization of your data world.

-- 
William P. Vrotney - vrotney@netcom.com
