Loading ...
Sorry, an error occurred while loading the content.

Re: [feyerabend-project] An introduction to Lisp

Expand Messages
  • Erann Gat
    ... It depends on what kind of product the company makes. If the source code is actually part of the company s business strategy (e.g. if the exit strategy is
    Message 1 of 22 , Aug 21, 2002
    • 0 Attachment
      > Dirk Riehle wrote:
      >
      > > If you were the CTO of a startup, and you would have to convince your
      > > CEO to start development efforts using CLOS rather than Java, how
      > > would you argue its case?

      It depends on what kind of product the company makes.

      If the source code is actually part of the company's business strategy
      (e.g. if the exit strategy is to be acquired, or the company provides
      software consulting services or some such thing) then I would not try to
      convince my CEO because developing in CLOS under that assumption is almost
      certainly the wrong thing to do. (I think that's an unfortunate statement
      about the state of the world.)

      On the other hand, if the development language is not an integral part of
      the business strategy (e.g. the software is purely server-side, no
      strategic plan to be acquired, etc.), then it's a purely technical
      decision and as CTO I would expect that to be my call. Again, no reason
      to do any "convincing". (I might have to do some explaining, but that's
      not the same thing at all.) I would expect my CEO to either support me in
      my decision or ask me to resign.

      The situation is very different if you're not in an executive position.
      Then it gets much more complicated, and very often you really do need to
      "convince" your superiors. To say it isn't easy is, alas, a serious
      understatement.

      <rant>
      The whole situation with languages in software engineering has
      always struck me as rather bizzare. The skills of a software engineer are
      almost invariably defined in terms of the languages they use, which is to
      say, in terms of the tools they use, not in terms of the tasks they
      perform. Job ads ask for a "C++ programmer" or a "Perl programmer". If
      you had the equivalent situation in, say, building construction you'd see
      "hammer user" or "screwdriver user" instead of "carpenter." Of course,
      you do see things like "forklift operator", but even there the task is
      implicit in the tool. There's only one thing people do with forklifts,
      which is move big pallets around. Not so with hammers, screwdrivers, or
      programming languages. Writing software is (or ought to be) a lot more
      like carpentry than it is like operating a forklift. I think that a big
      part of the reason that so much software sucks is that businesses try to
      construct software with employees whom they treat like forklift operators.
      </rant>

      E.
    • Mike Beedle
      ... Dirk: Use large ROI Case Studies of companies that made killer apps using Lisp to present a _business case_: ITA/Orbitz: http://www.itasoftware.com/
      Message 2 of 22 , Aug 21, 2002
      • 0 Attachment
        Dirk Riehle wrote:
        >If you were the CTO of a startup, and you would
        >have to convince your CEO to start development
        >efforts using CLOS rather than Java, how would
        >you argue its case?

        Dirk:

        Use large ROI Case Studies of companies that made killer apps
        using Lisp to present a _business case_:

        ITA/Orbitz:
        http://www.itasoftware.com/
        http://www.paulgraham.com/carl.html
        http://www.franz.com/success/customer_apps/data_mining/itastory.lhtml

        Yahoo Stores (was Viacom):
        http://www.paulgraham.com/lib/paulgraham/sec.txt
        http://www.paulgraham.com/lib/paulgraham/bbnexcerpts.txt

        Overture:
        http://www.franz.com/success/customer_apps/data_mining/cadabra.lhtml
        http://www.overture.com/

        Ascent:
        http://www.franz.com/success/customer_apps/scheduling/ascent.lhtml
        http://www.ascent.com/

        Northwest Airlines:
        http://www.franz.com/success/customer_apps/scheduling/nwa.lhtml

        British Telecom:
        http://www.franz.com/success/customer_apps/it_management/btlabs.lhtml

        I specially like the ITA/Orbitz and the Yahoo Stores stories.

        I believe Paul Graham sold Viaweb to Yahoo Stores for 57 mil --
        that's no small change.

        However, presenting a good _business case_ is the hard part -- it needs
        to be more than just technology. The business case would underline
        a hard business problem that can be either uniquely solved, or
        solved better with Lisp and lead to either large profits or
        large savings.

        Believe or not, this was the kind of thinking that went on
        at ITA before it was founded. Their founders, AI Lab MIT graduate
        students wanted to own a company and code it Lisp -- that was
        decided first. Then, they looked for a hard business problem
        and they found it :-)

        The rest is history. I would have loved to be part of that deal,

        - Mike
      • Pascal Costanza
        Hi, You re welcome. ;) Please let me know how this worked out... All the best, Pascal ... -- Pascal Costanza University of Bonn
        Message 3 of 22 , Aug 22, 2002
        • 0 Attachment
          Hi,

          You're welcome. ;)

          Please let me know how this worked out...

          All the best,
          Pascal

          jmadams@... wrote:
          >
          > Nice job. What you have written is useful to me. Here at Space
          > Telescope we are thrashing somewhat over the question should we
          > continue to use lisp in the next generation space telescope planning
          > and scheduling systems? It is not easy for non-lisp people to get
          > their head around the subject. That your perspective is based on
          > years of java experience will help some folks in this regard.
          >
          > Thanks.
          >
          > Pascal Costanza <costanza@...> writes:
          > > Hi everybody,
          > >
          > > In February we had a short discussion on Lisp on the pattern discussion
          > > mailing list, especially the entry barriers of Lisp because of allegedly
          > > strange syntax, and so on.
          > >
          > > During the past few months I have digged deeply into Common Lisp and
          > > Scheme, and in order to give something back to the community (and get
          > > some ideas out of my head) I have written an introduction to Lisp. It
          > > can be found at http://www.pascalcostanza.de/lisp/guide.html. I hope you
          > > find it useful.
          >
          > --
          > John Michael Adams
          >
          >
          > To unsubscribe from this group, send an email to:
          > feyerabend-project-unsubscribe@yahoogroups.com
          >
          >
          >
          > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

          --
          Pascal Costanza University of Bonn
          mailto:costanza@... Institute of Computer Science III
          http://www.pascalcostanza.de Römerstr. 164, D-53117 Bonn (Germany)
        • Pascal Costanza
          ... What about giving a cool demo? This is how I managed at several stages in the past to convince people to use a certain technology. (no Lisp yet, though) An
          Message 4 of 22 , Aug 22, 2002
          • 0 Attachment
            Dirk Riehle wrote:

            > Hi all,
            >
            > I'm a fan of all the List/CLOS papers I've read, but never became a friend
            > of Lisp as an everyday tool. (That is, I never used it outside school.)
            >
            > If you were the CTO of a startup, and you would have to convince your CEO
            > to start development efforts using CLOS rather than Java, how would you
            > argue its case?

            What about giving a cool demo? This is how I managed at several stages
            in the past to convince people to use a certain technology. (no Lisp
            yet, though)

            An important thing is to learn to understand how managers think. Don't
            argue on the basis of technical merits. Give them a demo and show them
            new cool features they haven't seen before. Show them, for example, how
            you can change the behavior of a program without stopping it.

            In my experience, managers think that we are people with only crazy,
            non-realistic ideas (and sometimes they're right ;). They only believe
            what they see. That's not necessarily a bad thing.

            Pascal

            --
            Pascal Costanza University of Bonn
            mailto:costanza@... Institute of Computer Science III
            http://www.pascalcostanza.de Römerstr. 164, D-53117 Bonn (Germany)
          • Dirk Riehle
            Thanks for the answers so far: - I don t think showing some success stories help. For every Lisp success story there are, unfortunately, substantially more
            Message 5 of 22 , Aug 25, 2002
            • 0 Attachment
              Thanks for the answers so far:

              - I don't think showing some success stories help. For every Lisp success
              story there are, unfortunately, substantially more success stories for C,
              C++, Java (success measured as commercial success...)

              - Business goals change and I would believe only the most seasoned CEOs
              with strong backing can rule out an exit strategy that involves being
              bought. And even then, it is probably still stupid if they ruled it out
              right away.

              Let me play the devil's advocate. It is a well-known sermon:

              Choosing CLOS or the like:

              - you don't get enough people
              - those people you get cost too much
              - you are incompatible with the rest of the world
              - adapters and bug-fixes will always be last for you

              Specifically for a startup:

              - choosing a niche language at the core of your technology strategy may
              make you liable to shareholder lawsuits if the company goes south

              Actually this isn't even about a specific language but about any
              non-mainstream technology. I remember these arguments from the days when we
              tried to convince UBS to widely deploy a meta-programming approach to
              achieve flexibility etc. on an enterprise level.

              Looks like this is the standard "Crossing the Chasm" problem. Well, then
              CLOS is dead, because you don't get a second chance. Unless, maybe, you
              position it right to solve a new business problem. But then think Java:
              Smalltalk would have been a better choice as the browser language that Java
              started out as, but it didn't happen.

              Dirk
            • Pascal Costanza
              ... I don t know, it depends on how you sell it. I have found Paul Graham s story about Yahoo stores quite impressive, especially the bit about changing code
              Message 6 of 22 , Aug 26, 2002
              • 0 Attachment
                Dirk Riehle wrote:
                >
                > Thanks for the answers so far:
                >
                > - I don't think showing some success stories help. For every Lisp success
                > story there are, unfortunately, substantially more success stories for C,
                > C++, Java (success measured as commercial success...)

                I don't know, it depends on how you sell it. I have found Paul Graham's
                story about Yahoo stores quite impressive, especially the bit about
                changing code on the fly.

                > - Business goals change and I would believe only the most seasoned CEOs
                > with strong backing can rule out an exit strategy that involves being
                > bought. And even then, it is probably still stupid if they ruled it out
                > right away.

                I don't know enough about the way the economy works in the US currently.
                However, my impression is that it is capitalism and liberalism driven to
                the extreme. I don't know if there are any chances at all to do decent
                work in such a situation.

                Especially, I find the various "scientific" ways to predict success or
                failure extremely strange, like for example expressed in Dick's "Models
                of Software Acceptance". IMHO, they are self-fulfilling prophecies at
                best. We're dealing with people's behaviors and any theory about them
                will probably change them as well - that's an essential property of
                social sciences. So you can only explain successful projects in
                retrospect but you cannot predict what will happen in the future. The
                future can and eventually will be different.

                > Let me play the devil's advocate. It is a well-known sermon:
                >
                > Choosing CLOS or the like:
                >
                > - you don't get enough people
                > - those people you get cost too much
                > - you are incompatible with the rest of the world
                > - adapters and bug-fixes will always be last for you

                That's a static view. If people would be allowed to learn at their
                workspace, things could be different.

                > Specifically for a startup:
                >
                > - choosing a niche language at the core of your technology strategy may
                > make you liable to shareholder lawsuits if the company goes south
                >
                > Actually this isn't even about a specific language but about any
                > non-mainstream technology. I remember these arguments from the days when we
                > tried to convince UBS to widely deploy a meta-programming approach to
                > achieve flexibility etc. on an enterprise level.

                Java was non-mainstream in the beginning, but companies opted for it
                nevertheless.

                > Looks like this is the standard "Crossing the Chasm" problem. Well, then
                > CLOS is dead, because you don't get a second chance.

                Who says so? (i.e. that you don't get a second chance)

                > Unless, maybe, you
                > position it right to solve a new business problem.

                For example.

                In my opinion, the situation is currently as follows. Java was
                successful in bringing some properties of higher-level languages to the
                mainstream, like garbage collection and a disregard of pure efficiency
                in favor of more convenient features. IMHO it's important to note that
                this is an improvement over Algol- and C-like languages. (This is to say
                that, apart from its shortcomings, Java has real merits.)

                Now, Microsoft has jumped on the unhappiness of many programmers about a
                Java-centric world and created (the illusion of) a language-independent
                virtual machine as part of .NET. However, .NET's IL is still too close
                to Java bytecode, and so still too limited, and with a too-strong focus
                on OOP, for many programming languages.

                I think this story will eventually lead into a true paradigm-agnostic
                virtual machine by some other vendor that will (consciously or
                unconsciously) be based on a Lisp-variant internally. Only then the
                abstract instruction set will be powerful enough to have the potential
                to be targeted by any language. Lisp treats data and programs uniformly
                and I guess that this will turn out as an essential property of such a
                virtual machine.

                Because we are living in a post-modern world, there will never be a
                single language for all purposes. The deliberate restrictions of many
                languages have their merits (for example static type systems). Common
                Lisp could be repackaged as a virtual machine for many languages, with
                Common Lisp as the low-level entry for "power users". This would reduce
                the need to build "bridges" between different languages.

                Just my 0.02€

                Pascal

                --
                Pascal Costanza University of Bonn
                mailto:costanza@... Institute of Computer Science III
                http://www.pascalcostanza.de Römerstr. 164, D-53117 Bonn (Germany)
              • Pascal Costanza
                ... Well, I think this is mostly our own fault (i.e., the fault of computer scientists). The term programming language raises certain associations in
                Message 7 of 22 , Aug 26, 2002
                • 0 Attachment
                  Erann Gat wrote:
                  >

                  > <rant>
                  > The whole situation with languages in software engineering has
                  > always struck me as rather bizzare. The skills of a software engineer are
                  > almost invariably defined in terms of the languages they use, which is to
                  > say, in terms of the tools they use, not in terms of the tasks they
                  > perform. Job ads ask for a "C++ programmer" or a "Perl programmer". If
                  > you had the equivalent situation in, say, building construction you'd see
                  > "hammer user" or "screwdriver user" instead of "carpenter."

                  Well, I think this is mostly our own fault (i.e., the fault of computer
                  scientists). The term "programming language" raises certain associations
                  in non-programmers. If they ask for "C++ programmers" they think about
                  it in the same way as in asking for people who speak Spanish or French.
                  Perhaps "programming tools" would be a better term?

                  I don't know - several factors contribute to the fact that computer
                  science is totally different from other disciplines. In a historical
                  perspective, we are still at a very early stage and so we probably need
                  metaphors and analogies. How can we avoid that non-experts misunderstand
                  our terminology?

                  > </rant>

                  Pascal

                  --
                  Pascal Costanza University of Bonn
                  mailto:costanza@... Institute of Computer Science III
                  http://www.pascalcostanza.de Römerstr. 164, D-53117 Bonn (Germany)
                • David Leibs
                  Thanks Pascal, You have inspired me. Next time I start something significant I am going to use Common Lisp. I have never gotten to take Common Lisp for a
                  Message 8 of 22 , Aug 26, 2002
                  • 0 Attachment
                    Thanks Pascal,
                    You have inspired me. Next time I start something significant I am going to use
                    Common Lisp. I have never gotten to take Common Lisp for a proper ride because
                    I was tied up pushing Smalltalk between 1984-2000. I have really missed Lisp.

                    Given how the world has gone so wacky over XML I can imagine an S-Expression
                    Renaissance.

                    -David Leibs



                    feyerabend-project@yahoogroups.com wrote:

                    >
                    > To unsubscribe from this group, send an email to:
                    > feyerabend-project-unsubscribe@yahoogroups.com
                    >
                    > ------------------------------------------------------------------------
                    >
                    > There are 3 messages in this issue.
                    >
                    > Topics in this digest:
                    >
                    > 1. Re: An introduction to Lisp
                    > From: Pascal Costanza <costanza@...>
                    > 2. Re: An introduction to Lisp
                    > From: Pascal Costanza <costanza@...>
                    > 3. From Lisp to ???
                    > From: "Logan, Patrick D" <patrick.d.logan@...>
                    >
                    > ________________________________________________________________________
                    > ________________________________________________________________________
                    >
                    > Message: 1
                    > Date: Mon, 26 Aug 2002 17:23:49 +0200
                    > From: Pascal Costanza <costanza@...>
                    > Subject: Re: An introduction to Lisp
                    >
                    > Dirk Riehle wrote:
                    > >
                    > > Thanks for the answers so far:
                    > >
                    > > - I don't think showing some success stories help. For every Lisp success
                    > > story there are, unfortunately, substantially more success stories for C,
                    > > C++, Java (success measured as commercial success...)
                    >
                    > I don't know, it depends on how you sell it. I have found Paul Graham's
                    > story about Yahoo stores quite impressive, especially the bit about
                    > changing code on the fly.
                    >
                    > > - Business goals change and I would believe only the most seasoned CEOs
                    > > with strong backing can rule out an exit strategy that involves being
                    > > bought. And even then, it is probably still stupid if they ruled it out
                    > > right away.
                    >
                    > I don't know enough about the way the economy works in the US currently.
                    > However, my impression is that it is capitalism and liberalism driven to
                    > the extreme. I don't know if there are any chances at all to do decent
                    > work in such a situation.
                    >
                    > Especially, I find the various "scientific" ways to predict success or
                    > failure extremely strange, like for example expressed in Dick's "Models
                    > of Software Acceptance". IMHO, they are self-fulfilling prophecies at
                    > best. We're dealing with people's behaviors and any theory about them
                    > will probably change them as well - that's an essential property of
                    > social sciences. So you can only explain successful projects in
                    > retrospect but you cannot predict what will happen in the future. The
                    > future can and eventually will be different.
                    >
                    > > Let me play the devil's advocate. It is a well-known sermon:
                    > >
                    > > Choosing CLOS or the like:
                    > >
                    > > - you don't get enough people
                    > > - those people you get cost too much
                    > > - you are incompatible with the rest of the world
                    > > - adapters and bug-fixes will always be last for you
                    >
                    > That's a static view. If people would be allowed to learn at their
                    > workspace, things could be different.
                    >
                    > > Specifically for a startup:
                    > >
                    > > - choosing a niche language at the core of your technology strategy may
                    > > make you liable to shareholder lawsuits if the company goes south
                    > >
                    > > Actually this isn't even about a specific language but about any
                    > > non-mainstream technology. I remember these arguments from the days when we
                    > > tried to convince UBS to widely deploy a meta-programming approach to
                    > > achieve flexibility etc. on an enterprise level.
                    >
                    > Java was non-mainstream in the beginning, but companies opted for it
                    > nevertheless.
                    >
                    > > Looks like this is the standard "Crossing the Chasm" problem. Well, then
                    > > CLOS is dead, because you don't get a second chance.
                    >
                    > Who says so? (i.e. that you don't get a second chance)
                    >
                    > > Unless, maybe, you
                    > > position it right to solve a new business problem.
                    >
                    > For example.
                    >
                    > In my opinion, the situation is currently as follows. Java was
                    > successful in bringing some properties of higher-level languages to the
                    > mainstream, like garbage collection and a disregard of pure efficiency
                    > in favor of more convenient features. IMHO it's important to note that
                    > this is an improvement over Algol- and C-like languages. (This is to say
                    > that, apart from its shortcomings, Java has real merits.)
                    >
                    > Now, Microsoft has jumped on the unhappiness of many programmers about a
                    > Java-centric world and created (the illusion of) a language-independent
                    > virtual machine as part of .NET. However, .NET's IL is still too close
                    > to Java bytecode, and so still too limited, and with a too-strong focus
                    > on OOP, for many programming languages.
                    >
                    > I think this story will eventually lead into a true paradigm-agnostic
                    > virtual machine by some other vendor that will (consciously or
                    > unconsciously) be based on a Lisp-variant internally. Only then the
                    > abstract instruction set will be powerful enough to have the potential
                    > to be targeted by any language. Lisp treats data and programs uniformly
                    > and I guess that this will turn out as an essential property of such a
                    > virtual machine.
                    >
                    > Because we are living in a post-modern world, there will never be a
                    > single language for all purposes. The deliberate restrictions of many
                    > languages have their merits (for example static type systems). Common
                    > Lisp could be repackaged as a virtual machine for many languages, with
                    > Common Lisp as the low-level entry for "power users". This would reduce
                    > the need to build "bridges" between different languages.
                    >
                    > Just my 0.02€
                    >
                    > Pascal
                    >
                    > --
                    > Pascal Costanza University of Bonn
                    > mailto:costanza@... Institute of Computer Science III
                    > http://www.pascalcostanza.de Römerstr. 164, D-53117 Bonn (Germany)
                    >
                    > ________________________________________________________________________
                    > ________________________________________________________________________
                    >
                    > Message: 2
                    > Date: Mon, 26 Aug 2002 17:31:32 +0200
                    > From: Pascal Costanza <costanza@...>
                    > Subject: Re: An introduction to Lisp
                    >
                    > Erann Gat wrote:
                    > >
                    >
                    > > <rant>
                    > > The whole situation with languages in software engineering has
                    > > always struck me as rather bizzare. The skills of a software engineer are
                    > > almost invariably defined in terms of the languages they use, which is to
                    > > say, in terms of the tools they use, not in terms of the tasks they
                    > > perform. Job ads ask for a "C++ programmer" or a "Perl programmer". If
                    > > you had the equivalent situation in, say, building construction you'd see
                    > > "hammer user" or "screwdriver user" instead of "carpenter."
                    >
                    > Well, I think this is mostly our own fault (i.e., the fault of computer
                    > scientists). The term "programming language" raises certain associations
                    > in non-programmers. If they ask for "C++ programmers" they think about
                    > it in the same way as in asking for people who speak Spanish or French.
                    > Perhaps "programming tools" would be a better term?
                    >
                    > I don't know - several factors contribute to the fact that computer
                    > science is totally different from other disciplines. In a historical
                    > perspective, we are still at a very early stage and so we probably need
                    > metaphors and analogies. How can we avoid that non-experts misunderstand
                    > our terminology?
                    >
                    > > </rant>
                    >
                    > Pascal
                    >
                    > --
                    > Pascal Costanza University of Bonn
                    > mailto:costanza@... Institute of Computer Science III
                    > http://www.pascalcostanza.de Römerstr. 164, D-53117 Bonn (Germany)
                    >
                    > ________________________________________________________________________
                    > ________________________________________________________________________
                    >
                    > Message: 3
                    > Date: Mon, 26 Aug 2002 10:29:06 -0700
                    > From: "Logan, Patrick D" <patrick.d.logan@...>
                    > Subject: From Lisp to ???
                    >
                    > Getting this conversation back on-topic... I think Lisp is a good vehicle to
                    > get to the next thing, but we should not mistake it for the next thing.
                    >
                    > Something interesting I read this weekend...
                    >
                    > http://www.paulgraham.com/spam.html
                    >
                    > Paul Graham's simple statistical approach to handling spam. This is an
                    > example of the little bits and pieces that can be used in new ways. It was
                    > easy for him to prototype it in Lisp. The solution is beyond Lisp, Lisp was
                    > the vehicle for his thought process.
                    >
                    > How else can these little ideas be strung together into new and simpler ways
                    > of doing useful things?
                    >
                    > -Patrick
                    >
                    > ________________________________________________________________________
                    > ________________________________________________________________________
                    >
                    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
                  • Richard P. Gabriel
                    ... Though it s not relevant, I would argue like this: My team will be able to program circles around everyone else. They will be able to construct rapidly a
                    Message 9 of 22 , Aug 26, 2002
                    • 0 Attachment
                      At 22:23 +0200 8/25/02, Dirk Riehle wrote:
                      >Choosing CLOS or the like:
                      >
                      >- you don't get enough people
                      >- those people you get cost too much
                      >- you are incompatible with the rest of the world
                      >- adapters and bug-fixes will always be last for you

                      Though it's not relevant, I would argue like this:

                      My team will be able to program circles around everyone else. They
                      will be able to construct rapidly a language specific to the problem
                      we are solving rather than using a language designed by computer
                      scientists worrying about their place in history and a herd of
                      library writers working in cubicles a thousand miles from our
                      business. My team will be able to use a language without training
                      wheels. Strong typing is for weak minds, and it's exactly like they
                      say at MIT: Our current popular languages are designed to help losers
                      lose less.

                      I will be able to point to various examples where Lisp programmers
                      have written not only 3-5 times faster, but they wrote things other
                      programmers thought were impossible. In this regard, I'd tell the
                      CEO, our competitors will be spending all their time trying to figure
                      out that it's really possible we're doing what we're doing, because
                      they will be thinking in terms of customization at compile time or
                      link time, not at runtime.

                      Moreover, we will be operating where the CEO is focusing on his or
                      her specialty and not imposing his or her knuckleheaded view on
                      technology.

                      Because Lisp is dead, I'll get better programmers for less money.
                      I'll be able to guarantee 50 more IQ points for the same pay. And my
                      guys will be able to spend their time typing in value not book
                      keeping overhead and typing in type descriptions because their guys
                      are too stupid to know when they type + numbers are involved.

                      Because no one uses Lisp, I'll have my pick of thousands of great,
                      experienced programmers looking to work for someone with a non-zero
                      IQ, not the ones fresh out of college with 10 programs under their
                      belts.

                      I'll be compatible with everything because it is right now. And if
                      someone throws me a bug, I can code around it in a few minutes. Being
                      a niche market means we're more proprietary. People will not use Lisp
                      to compete with us because they are lamebrains listening to the
                      latest fashion statement from Sun or Microsoft.The open source crowd
                      isn't even smart enough to notice C++, so they are especially nowhere
                      in the picture.

                      Of course, no CEO will belive this because every one of them is stupid.

                      -rpg-
                    • Brian Wallis
                      ... Thanks Dick, That was a great way to start my morning. I ll be quoting from it all day :-) brian wallis...
                      Message 10 of 22 , Aug 27, 2002
                      • 0 Attachment
                        On Tue, 27 Aug 2002 13:03, Richard P. Gabriel wrote:

                        > Though it's not relevant, I would argue like this:

                        Thanks Dick, That was a great way to start my morning. I'll be quoting from it
                        all day :-)

                        brian wallis...
                      • eliot@parcplace.com
                        ...and to folow on I d argue that the current post-9/11 downturn is the time when Lisp and Smalltalk will come to be dominant players in the enterprise .
                        Message 11 of 22 , Aug 27, 2002
                        • 0 Attachment
                          ...and to folow on I'd argue that the current "post-9/11 downturn" is the time when Lisp and Smalltalk will come to be dominant players in "the enterprise". In fact 9/11 has little to do with the current economic realities, but marks the time; that being the bursting of the 90's stock market bubble, with corporate collapse the new commonplace (which could soon include Microsoft, see www.billparish.com/presslist.html, especially http://www.billparish.com/msftfraudfacts.html).

                          Those "stupid" CEOs and their inefficient companies are now being culled in a darwinian selection process caused by a "sudden" change in the environment. Gone is the easy investment provided by the stock market, and with it the realities of unweildy mergers (WorldCom) have been exposed as fradulent; but which in biological terms are grotesque mutations too gluttonous to survive in lean times, too unweildy to move fast and too disabled in their malformed nervous systems to actually coordinate their limbs. As the regulatory environment grows harsher so companies are put under greater strain, more fail and seek the rich feeding grounds of chapter 11 bankruptcy in which they can stave off payments to creditors.

                          Those CEOs were adaptations to an environment which in the short-term supported the gigantic and that which could grow at the highest rate. But the meteor has hit and if governments don't step in only the mammals and insects will survive (if the whole thing doesn't collapse, but then computer languages may be the least of our problems). Analogously, Java was/is force-fed marketing dollars and promoted by significant tools players (Sun, IBM, Microsoft) at least one of which is a dinosaur on the verge of extinction. Java was extremely fit for the pre 9/11 environment; replicated at zero cost (ok, not _zero_; IBM charged $11 for their offering), highly visible, and so able to find many willing hosts. Its failure to carve out the ecological niche it claimed to be able to dominate at the start (mobile code on the internet) mattered little in an environment where hype was what a language needed to prosper, and Java was the one and only language to get the huge amount of hype it did get from corporate backers.

                          In the mean time Smalltalk and Lisp companies have learnt to survive on the scraps left by the behemoth. [In actual fact they've existed largely on existing customers with mission-critical applications to keep running; existing customers who specifically ban the vendors from mentioning their use of said languages since it constitutes an important competitive advantage]. Those vendors who avoided or miraculously survived the same stock-market-derived temptations to grow via merger and aquisition and start selling snake-oil (i.e. try to con their share holders that a move into selling Java GUI builders would make them irresistable stock-market picks), have emerged with mature reliable products, that can be maintained by small teams (beautifully formed by nearly a decade in the cold). Some have been aquired by older more stable com,panies that have provided the necessary veneer of stability to get their existing customers to provide new revenue and upgrade.

                          The mission-critical applications deployed in Lisp and Smalltalk are impressive. The Smalltalk ones I'm aware of include the timetable calculation for a major European railway, derivatives trading systems generating $10^9 annual profit, command and control of all petroleum distribution in the U.S. for a consortium of three major oil companies, and so on. Amongst these are systems that their corporate IS teams have estimated would cost two to three times their entire existing development costs to port to Java. Others are systems maintained by teams of three or four programmers being harrassed by know-nothing managers pushing them to port to Java when the team is well aware of the infeasibility of the task. Still others are running on eight year old versions with management pushing for reimplementation for Java and the vendor negotiating for upgrades, a solution orders of magnitude cheaper for the customer.

                          In short, the languages are being used, their markets are growing and the competition is becoming less and less attractive. But Smalltalk and Lisp only win when the imposed fitness function is an objective one. The fitness function being imposed on U.S. corporations post 9/11 is in turn forcing - from a management perspective, or enabling - from a programmer perspective, IS departments to impose an objective fitness program on their technologies.

                          Of course, the context of existing users of Lisp and Smalltalk is entirely different from "pre-enlightenment" companies. What can be done to drag such denizens forward from the dark ages? [Argh! I have to go home and buy diapers on the way...] Please let it not be hype, but industry journals typically favour paid articles, academic journals all too readily follow fashion as their contributors abandon principle to chase funding, and an objective, temperate and informative medium usenet does not make.

                          This leaves schools (but those run by followers of fashion are lowering IWQs with C++ and Java) and Open Source (Python is prospering). [Damn, I really do have to go home now; the supporting argumentation and completion of this article is too small to write in the margin of this screed...]

                          +-----------------------------
                          | Date: Mon, 26 Aug 2002 20:03:49 -0700
                          | From: "Richard P. Gabriel" <rpg@...>
                          | Subject: Re: [feyerabend-project] An introduction to Lisp

                          | At 22:23 +0200 8/25/02, Dirk Riehle wrote:
                          | >Choosing CLOS or the like:
                          | >
                          | >- you don't get enough people
                          | >- those people you get cost too much
                          | >- you are incompatible with the rest of the world
                          | >- adapters and bug-fixes will always be last for you

                          | Though it's not relevant, I would argue like this:

                          | My team will be able to program circles around everyone else. They
                          | will be able to construct rapidly a language specific to the problem
                          | we are solving rather than using a language designed by computer
                          | scientists worrying about their place in history and a herd of
                          | library writers working in cubicles a thousand miles from our
                          | business. My team will be able to use a language without training
                          | wheels. Strong typing is for weak minds, and it's exactly like they
                          | say at MIT: Our current popular languages are designed to help losers
                          | lose less.

                          | I will be able to point to various examples where Lisp programmers
                          | have written not only 3-5 times faster, but they wrote things other
                          | programmers thought were impossible. In this regard, I'd tell the
                          | CEO, our competitors will be spending all their time trying to figure
                          | out that it's really possible we're doing what we're doing, because
                          | they will be thinking in terms of customization at compile time or
                          | link time, not at runtime.

                          | Moreover, we will be operating where the CEO is focusing on his or
                          | her specialty and not imposing his or her knuckleheaded view on
                          | technology.

                          | Because Lisp is dead, I'll get better programmers for less money.
                          | I'll be able to guarantee 50 more IQ points for the same pay. And my
                          | guys will be able to spend their time typing in value not book
                          | keeping overhead and typing in type descriptions because their guys
                          | are too stupid to know when they type + numbers are involved.

                          | Because no one uses Lisp, I'll have my pick of thousands of great,
                          | experienced programmers looking to work for someone with a non-zero
                          | IQ, not the ones fresh out of college with 10 programs under their
                          | belts.

                          | I'll be compatible with everything because it is right now. And if
                          | someone throws me a bug, I can code around it in a few minutes. Being
                          | a niche market means we're more proprietary. People will not use Lisp
                          | to compete with us because they are lamebrains listening to the
                          | latest fashion statement from Sun or Microsoft.The open source crowd
                          | isn't even smart enough to notice C++, so they are especially nowhere
                          | in the picture.

                          | Of course, no CEO will belive this because every one of them is stupid.

                          | -rpg-


                          | To unsubscribe from this group, send an email to:
                          | feyerabend-project-unsubscribe@yahoogroups.com

                          |

                          | Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
                          ---
                          Eliot Miranda ,,,^..^,,, mailto:eliot@...
                          VisualWorks Engineering, Cincom Smalltalk: scene not herd Tel +1 408 216 4581
                          3350 Scott Blvd, Bldg 36 Suite B, Santa Clara, CA 95054 USA Fax +1 408 216 4500
                        • patrickdlogan
                          Trying to stay very much on topic (and trimming my replies too, folks!)... Even if Microsoft is allowed to fail, there will be work to do on the Feyerabend
                          Message 12 of 22 , Aug 27, 2002
                          • 0 Attachment
                            Trying to stay very much on topic (and trimming my replies too,
                            folks!)...

                            Even if Microsoft is allowed to fail, there will be work to do on the
                            Feyerabend Project. Sticking to technical aspects, a large number of
                            developers have the Microsoft mind-set. They cherish the traditional
                            one-upsmanship of knowing anachronistic details of the proposed WS-
                            Complexity spec ver. 1.2.1. This same spec can be implemented in
                            CLOS. So that is not enough, even if it is the better choice today.

                            I believe and hope that a successful Feyerabend Project result would
                            be taking computing out of the hands of developers with this mind-
                            set. (They would be allowed to give up that mind-set and follow along
                            the new path.)

                            This is not about some CEO agreeing to a Lisp or Smalltalk pilot
                            project, and a bunch of geeks putting on a show Friday night in a
                            barn. This is about cutting to the chase of something that would not
                            require marketing. It would be so obviously better.

                            Er, I hope.

                            -Patrick
                          • Dirk Riehle
                            Since we are discussing an age-old problem that the Lisp/CLOS companies had already 10-15 years ago, I wonder whether hasn t been proof of CLOS (programmers )
                            Message 13 of 22 , Aug 28, 2002
                            • 0 Attachment
                              Since we are discussing an age-old problem that the Lisp/CLOS companies had
                              already 10-15 years ago, I wonder whether hasn't been proof of CLOS
                              (programmers') higher effectiveness. Aren't there any studies that show how
                              much more effective you can be with a CLOS (language + tool set) over a
                              C/C++/Java (language + tool set)?

                              I also believe that you can do more things faster and better with CLOS etc.
                              However, it is not clear to me that this is the case the first half year of
                              a startup that is doing product development. Doesn't it kick in only after
                              a certain amount of time? When you really start evolving the product? When
                              you need features that typically aren't there in a first release?

                              >Because Lisp is dead, I'll get better programmers for less money.

                              Well, the sad thing is, I wonder whether it's that easy still to get them.
                              The universities I've been connected with don't really teach Lisp/CLOS
                              anymore. (To any real degree.)

                              >latest fashion statement from Sun or Microsoft.The open source crowd
                              >isn't even smart enough to notice C++, so they are especially nowhere
                              >in the picture.

                              After a talk a few years back I asked Eric Raymond whether there is real
                              open source outside the C/Unix world. He didn't know. Of course there is,
                              but not anywhere near where we would like it to be. It's strange.

                              >Of course, no CEO will belive this because every one of them is stupid.

                              Oh did you enjoy writing this sentence with bitterness in your words.

                              Well, I think most CEOs are clueless when it comes to technology. They
                              shouldn't be, but then, they are clueless about many things, just like most
                              people. So they go with the "safe" solution, except that it will kill them.
                              (Most of them anyway, except for the few survivors, who survive for
                              whatever other reason. Evolutionary selection is so apparent among startups.)

                              Enough rambling.

                              Dirk
                            • Erann Gat
                              ... http://www.flownet.com/gat/papers/lisp-java.pdf (See also http://www.flownet.com/gat/papers/ljfaq.html) All this interest in Lisp motivated me to finish a
                              Message 14 of 22 , Aug 28, 2002
                              • 0 Attachment
                                On Wed, 28 Aug 2002, Dirk Riehle wrote:

                                > Since we are discussing an age-old problem that the Lisp/CLOS companies had
                                > already 10-15 years ago, I wonder whether hasn't been proof of CLOS
                                > (programmers') higher effectiveness. Aren't there any studies that show how
                                > much more effective you can be with a CLOS (language + tool set) over a
                                > C/C++/Java (language + tool set)?

                                http://www.flownet.com/gat/papers/lisp-java.pdf

                                (See also http://www.flownet.com/gat/papers/ljfaq.html)

                                All this interest in Lisp motivated me to finish a writing project that
                                I've been working on for about two years recounting my experiences with
                                Lisp at JPL. You can find it at:

                                http://www.flownet.com/gat/jpl-lisp.html

                                Warning: it's not a happy ending (though the first half is actually not
                                too terribly depressing, and there's a warning before the scary part.)

                                My bottom line on selling Lisp is that if you find yourself having to
                                argue about it you've already lost. The right thing to do at that point
                                is to find someone else to work for, or even better, start your own
                                company and kick your old company's ass.

                                Erann
                                gat@...
                              • Theo D'Hondt
                                I promised myself not to let myself be dragged into this kind of discussion but ... Theo D Hondt Programming Technology Lab : Computer Science Department
                                Message 15 of 22 , Aug 30, 2002
                                • 0 Attachment
                                  I promised myself not to let myself be dragged into this kind of
                                  discussion but


                                  ----------------------------------------------------------------
                                  Theo D'Hondt
                                  Programming Technology Lab : Computer Science Department
                                  Faculty of Sciences : Brussels Free University
                                  Pleinlaan 2 / B-1050 Brussels / BELGIUM EUROPE
                                  mailto:tjdhondt@... http://prog.vub.ac.be/~tjdhondt
                                  Phone : +32-2-629 33 08 Fax : +32-2-629 35 25
                                  ----------------------------------------------------------------
                                • Theo D'Hondt
                                  but here goes: Common Lisp isn t Lisp and (certainly) neither is CLOS. Lisp might be a thing of beauty but ... I remember being disgusted by the ADA reference
                                  Message 16 of 22 , Aug 30, 2002
                                  • 0 Attachment
                                    but here goes:

                                    Common Lisp isn't Lisp and (certainly) neither is CLOS. Lisp might be a
                                    thing of beauty but ... I remember being disgusted by the ADA reference
                                    manual and then having to submit to the fact that CL/CLOS manuals were
                                    triple its size. Somewhere in this thread somebody used the term
                                    "bloated" for something entirely different but it might be applicable
                                    here. And Scheme as (Common) Lisp subjected to a fitness regime is
                                    still not satisfactory (does Scheme count 3 or 4 variations on the Let
                                    special form?). During the first issue of the Feyerabend workshop Dave
                                    Thomas insisted on the importance of LITTLE languages - I am convinced
                                    he is right. Lisp might be the original little language but we might be
                                    able to do better ...
                                    ----------------------------------------------------------------
                                    Theo D'Hondt
                                    Programming Technology Lab : Computer Science Department
                                    Faculty of Sciences : Brussels Free University
                                    Pleinlaan 2 / B-1050 Brussels / BELGIUM EUROPE
                                    mailto:tjdhondt@... http://prog.vub.ac.be/~tjdhondt
                                    Phone : +32-2-629 33 08 Fax : +32-2-629 35 25
                                    ----------------------------------------------------------------
                                  • Pascal Costanza
                                    ... Here is a quote from an interview with James Gosling (see http://java.sun.com/features/2002/03/gosling.html) ... I think that this is just a pattern that
                                    Message 17 of 22 , Sep 2, 2002
                                    • 0 Attachment
                                      Theo D'Hondt wrote:
                                      > Common Lisp isn't Lisp and (certainly) neither is CLOS. Lisp might be a
                                      > thing of beauty but ... I remember being disgusted by the ADA reference
                                      > manual and then having to submit to the fact that CL/CLOS manuals were
                                      > triple its size. Somewhere in this thread somebody used the term
                                      > "bloated" for something entirely different but it might be applicable
                                      > here.

                                      Here is a quote from an interview with James Gosling (see
                                      http://java.sun.com/features/2002/03/gosling.html)

                                      | JDC: The Java language adds features with every release, and this is
                                      | generally good, but the whole thing is getting pretty large. If you
                                      | could take a few things out, what would they be?

                                      | JG: The Java language actually doesn't add very many features. [...]
                                      | What has really gone nuts is all the different APIs [...]. And this
                                      | question, in some sense, is unanswerable. It says, if you could take
                                      | a few things out of [the] J2SE [platform], what would they be? One
                                      | of the tragedies we have is that we've got so many customers and
                                      | everything that is in the platform is critical to a pretty large
                                      | group of customers. So, for any particular person, any particular
                                      | developer, not all of [the] J2SE [platform] is going to matter. But
                                      | for every developer, the slice of the platform that they care about
                                      | is different. [...]

                                      I think that this is just a pattern that emerges when you try to balance
                                      several forces. They are: trying to serve the needs of many potential
                                      users, trying to achieve portability, and trying to do this all in a
                                      unified framework. If you drop the unified framework then you get
                                      several interoperability problems that you need to solve on a case by
                                      case basis.

                                      > And Scheme as (Common) Lisp subjected to a fitness regime is
                                      > still not satisfactory (does Scheme count 3 or 4 variations on the Let
                                      > special form?). During the first issue of the Feyerabend workshop Dave
                                      > Thomas insisted on the importance of LITTLE languages - I am convinced
                                      > he is right. Lisp might be the original little language but we might be
                                      > able to do better ...

                                      I don't think that it is possible to show that "little languages" are
                                      inherently better than big languages (or than languages with big
                                      libraries). They just resolve different sets of forces.

                                      The size of a language cannot be a measure in its own right. Although
                                      "umlambda"
                                      (http://www.eleves.ens.fr:8080/home/madore/programs/unlambda/) is
                                      clearly a joke, it shows that the size of a language must be balanced
                                      against other forces in order to provide something useful.

                                      I think we are in need of a kind of "Pattern Language of Programming
                                      Language Design". I am convinced that language advocacies don't make any
                                      sense and that a PLoPLD would clarify that each programming language
                                      just tries to balance a different set of forces. I don't think that
                                      there can ever be a single general-purpose programming language because
                                      I am convinced that there cannot be consistent resolution of all
                                      thinkable forces in this regard. However, from what I have seen so far,
                                      Common Lisp has obviously (to me, at least) successfully managed to
                                      resolve a relatively large set of fundamental forces.

                                      Pascal

                                      --
                                      Pascal Costanza University of Bonn
                                      mailto:costanza@... Institute of Computer Science III
                                      http://www.pascalcostanza.de Römerstr. 164, D-53117 Bonn (Germany)
                                    Your message has been successfully submitted and would be delivered to recipients shortly.