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

Re: Java GOOD -- Fire BAD

There are two categories of programmers.. those who categorize the world
into good and bad and others that.. oops. Never mind. :)

Language choices are not always an either/or proposition. Esp. when it's
not that hard to embed Lisp-like languages in C/C++ like substrates (and to
a lesser extent, vice-versa -- I've built products that did both). We use
both Lisp and Java here. In production. We regret the choices we have had
to make / implement in Lisp as much as the code we have had to choose to
write in Java.. for truth be told.. we'd all, I suspect, rather be like
Paul Graham -- having made our millions and retiring to the Bahamas! :) I
suspect however that business reality is that .. it is not the shortest
time to build or the set of features in one's product or buzzword
compliance or robust libraries alone that ensures product success -- i.e.
not any set of dimensions that programmers typically care to discuss.

And Joe -- yes, you live in a shelltered existence. You should look at
programs like AutoCad, Emacs, Mathematica, SAP R3, Visual Studio, Excel,
Notes, MQ-series, Windows etc. etc. (that's just a random collection of the
top of my head btw). A lot of these use multiple languages that defy simple
time-line characterizations that you propose.

             "Joe Marshall"                                                
             Sent by:                                                   To 
             owner-ll1-discuss         <ll1-discuss@ai.mit.edu>, "David    
             @ai.mit.edu               Cohen" <cohen4@mindspring.com>      
             08/21/2003 09:11                                      Subject 
             AM                        Re: Java GOOD -- Fire BAD           

David Cohen writes:

> And: even if you find a company where you can work in Lisp/Prolog/etc.,
> perennial pattern (anti-pattern?) is that a working prototype or product
> built in Lisp/Prolog/etc. and then, despite the fact that the software
> works, management decides that it needs to be re-written in
> Even Paul Graham had this happen to him--Yahoo recently decided to port
> Yahoo store to C++ despite the fact that this would lead to a downgrade
> functionality. Years ago I remember a Prolog project on Wall Street where
> the prototype was good enough to be put into production (not uncommon
> working in these kinds of languages) and then management decided to
> it in C++. The effort foundered. But the Prolog version in production was
> making enough money that it covered the cost of the failed C++ rewrite.
> I'll bet someone could fill a book or three with stories like this.

I have seen this happen time and time again:
   1.  Prototype is developed in Lisp
   2.  Attempt is made to port to a less capable platform:
        these days it's Java or C++, but in the 80's it was
        C and Ada (remember Ada?)
    3. The result is a general fiasco.

I have seen this happen quite often:
    1.  Flagship product is developed in C/C++
    2.  Somebody in R&D tries Lisp
    3.  Lisp version is quickly up and running, provides
        more features than the flagship product, and
        performs better.
    (unfortunately, this is usually followed with Lisp
    project cancelled, R&D guy gets disgusted and quits)

However, I have *never* seen:
    1.  Product or prototype developed in Lisp.
    2.  Subsequent product developed in C++ that is
         more capable, delivered on time and on budget.

Perhaps I'm living a sheltered existence.