From: Kaz Kylheku
Subject: Re: Announce: Pike Conference 2002
Date: 
Message-ID: <agl8qi$rnn$1@luna.vcn.bc.ca>
In article <················@pike.ida.liu.se>, Johan Sundstr�m wrote:
>                   Call for Participation and Contributions
> 
>                       Pike Conference 2002 - Aug 22-24
> 
>                           Pike and the Semantic Web

A case-insensitive search of this article fails on ``lisp''; yet it
appears in comp.lang.lisp.  Nevertheless, how about a response?

> RISE, the Research Center for Integrational Software Engineering, Link�ping
> University (http://www.ida.liu.se/~rise/), has agreed to take over hosting,
> development, and maintenance of Pike, formerly at Roxen Internet Software
> AB. Pike is a second generation Java-like language, has a fast and reliable

What does Java-like mean? Let me guess: the interface to the language is made
up of text-based representations of programs, constructed according to an
obtuse syntax, forming a barrier between the language and the programmer. 
How close am I?

> implementation, many killer applications, and a well running open source
> development community (http://pike.ida.liu.se/). Pike runs on most flavours

Following a few links, we learn that Pike is a descendant of LPC, the scripting
language used in LPMud.

> of Unix, on the Win32 platform and MacOS X.

ANSI Common Lisp has several open-source implementations: CMUCL, CLISP and ECL.
Moreover, there are proprietary implementations of it offered by a variety of
vendors, e.g.: Allegro, Corman Lisp, LispWorks.

> Besides maintaining Pike a fast and reliable platform as it has been in the
> past, a main RISE goal is to make it the first scripting language for the

Fast and reliable compared to what? Who is making competing implementations
of Pike? Is there a precise document from which one could make a compatible
implementation, or does the the language implementation constitute
the specification?

> Semantic Web. As a language, Pike is much better suited for the Semantic Web
> than Java or C#, since it provides multiple inheritance, sets, relations, and
> dynamic arrays.

Common Lisp already has these features. Java and C# are designs that date back
to some of less enlightened, darker chapters of 1960's computing history.
Really, they are a throwback to things like Simula 67.  They are not worthy of
being cited as adversaries to anything.  Heck, we can substitute ``Perl'' for
``Pike'' in the above paragraph.

However, they are backed by some influential vendors. Influence at that
level can only be displaced by another influence at the same level;
you cannot ``beat'' C# or Java by tinkering with a new programming
language. You can beat them by raising a whole lot of capital to drive a
marketing machine which will carve a space for your new language in the minds
of clueless undergraduates.

> A second goal is to embed software composition technology into
> Pike.

Already in Lisp.

> In the long run, Pike will be extended with modern concepts such as
> connectors or aspects. 

Can be done in Lisp without extending it, just by writing Lisp code, and
providing a notation for its semantics using macros.   It can be done without
breaking absolutely any existing code; your new language can be packaged up in
its own namespace. In Lisp, I can take someone's music composition language,
someone's system for rule-based reasoning, throw them into one program,
and mix together their use somehow.

Aspects are inspired partly by features of the Common Lisp Object System
(CLOS). The main pioneer of aspect oriented programming, Geroge Kiczales, is a
Lisp guy. He wrote PCL (Portable Common LOOPS), an implementation of CLOS.

In CLOS, you can associate before-, after- and around-methods to a generic
function, which are very similar to the advice around a join point. 

> This way, Pike will strengthen the RISE center, whose
> mission is to develop practical composition and integration technology for
> software components.

If the RISE center truly has these goals---meaning that expressing
them is not just a mantle for some other motive, such as polluting the world
with yet another programming language---they had better evaluate some existing
tools which already have the needed capabilities.

Now if you want to live in denial of any of this, then simply don't crosspost
your Pike announcements to comp.lang.lisp, where they are off topic anyway.