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

Re: [feyerabend-project] An introduction to Lisp

Expand Messages
  • Pascal Costanza
    Hi, You re welcome. ;) Please let me know how this worked out... All the best, Pascal ... -- Pascal Costanza University of Bonn
    Message 1 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 2 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 3 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 4 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 5 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 6 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 7 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 8 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 9 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 10 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 11 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 12 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 13 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 14 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 15 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.