Aaron Johnson.
>
>Hello friends,
>
> It occurs to me that lesser languages like Java, etc. succeed in
>the modern world where Lisp seems like a computer science lesson from days
>of old because they have, or are perceived to have, an easy way to
>write/design a GUI, and to integrate well with low-level OS
CAPI, CLIM, Common Graphics and whatever gui toolkit MCL has aren't
enough? :-)
>libraries/functions. I love Lisp, but there are things that I would never
>attempt with it that I would do in a snap with Python (actually a great
Obviously, since Python and CL are very different languages with
different goals. Python is a scripting language, great for quick sysadmin
wizardry, but not for building big, complex apps. Use both. :-)
>language). I could use TK or WxPython to design a GUI frontend to my
>functions in less than an hour. Java, Python, Perl, Tcl/Tk etc. also are
>"web aware", i.e. they acknowledge that for a language to be "hot", it has
>to appeal to the web-using public, and be usable for the web by the
>web-using public.
Well... yes, some _standard_ support for doing web stuff would be
nice.
>what you're able to do with it!) There's only one Python, Perl, and
>Tcl/Tk, and that helps them stay central and release one version of the
>language--not the fragmented state of affairs that both Lisp as a language
>and Linux as an OS suffer.
I don't think so: there's plenty of implementations of c and c++ and
they're freaking popular; there's only one Windows and it doesn't make things
easier for it's users... :-P
//-----------------------------------------------
// Fernando Rodriguez Romero
//
// frr at mindless dot com
//------------------------------------------------
> Hello friends,
>
> It occurs to me that lesser languages like Java, etc. succeed in
> the modern world where Lisp seems like a computer science lesson from days
> of old because they have, or are perceived to have, an easy way to
> write/design a GUI, and to integrate well with low-level OS
> libraries/functions. I love Lisp, but there are things that I would never
> attempt with it that I would do in a snap with Python (actually a great
> language). I could use TK or WxPython to design a GUI frontend to my
> functions in less than an hour.
Why does it take so long? On my Mac I use either the interactive
interface builder or a GUI description tool like CLIM.
> Java, Python, Perl, Tcl/Tk etc. also are
> "web aware", i.e. they acknowledge that for a language to be "hot", it has
> to appeal to the web-using public, and be usable for the web by the
> web-using public.
That's what I use CL-HTTP for.
> When Lisp gets its elegance across, as well as having easy access
> to all the things people like about things like Tcl/Tk, Java, Perl,
> Python; and not just obscure kits like Garnet, etc.
> (One of the problems
> is that various implementations go different lengths to provide such
> functionality--Java sucks, but at least you know what you're getting and
> what you're able to do with it!) There's only one Python, Perl, and
> Tcl/Tk
There is not one implementation of those that comes near
the performance of commercial Lisp implementations. If you
are a script kiddie - go use PERL. If you want to be a programmer,
use Common Lisp.
--
Rainer Joswig, Hamburg, Germany
Email: mailto:jos...@corporate-world.lisp.de
Web: http://corporate-world.lisp.de/
> On Thu, 23 Nov 2000 08:52:14 -0600, "Aaron K . Johnson" <a...@21stcentury.net>
> wrote:
>
> >
> >Hello friends,
> >
> > It occurs to me that lesser languages like Java, etc. succeed in
> >the modern world where Lisp seems like a computer science lesson from days
> >of old because they have, or are perceived to have, an easy way to
> >write/design a GUI, and to integrate well with low-level OS
>
> CAPI, CLIM, Common Graphics and whatever gui toolkit MCL has aren't
> enough? :-)
The Macintosh GUI toolkit is amazingly simple and powerful. Digitool
ships almost all of their Lisp system in source code (you
get the full source code for everything GUI related: editor,
interface builder, graphics functionality, inpector,
backtrace). If you look at the contrib directory at
ftp.digitool.com or on the MCL CDROM, you will find literally
MEGABYTES of cool extensions. MCL has stuff to interface
to MIDI, control video disk players, full access to
QuickTime (people have been programming authoring environments
in MCL), speech I/O, QuickDraw 3d, business graphics,
drag&drop, diverse browers, ...
> It occurs to me that lesser languages like Java, etc. succeed
> in the modern world where Lisp seems like a computer science lesson
> from days of old because they have, or are perceived to have, an easy
> way to write/design a GUI, and to integrate well with low-level OS
> libraries/functions.
Java, Python, Perl, VB, etc. succeed because of their libraries:
I'm not talking of libraries supporting the language (Ã la Common
Lisp), but libraries for GUIs, databases, Internet, etc...
> I love Lisp, but there are things that I would never attempt with it
> that I would do in a snap with Python (actually a great language). I
> could use TK or WxPython to design a GUI frontend to my functions in
> less than an hour. Java, Python, Perl, Tcl/Tk etc. also are "web
> aware", i.e. they acknowledge that for a language to be "hot", it
> has to appeal to the web-using public, and be usable for the web by
> the web-using public.
As Kent Pitman said, (implementations of) Common Lisp should annex
these libraries. As these languages have an interactive mode, they
may be used by Lisp as interfaces to these libraries by generating
code for that language (cf Erik Naggum in
<31838671...@naggum.net>) and communicating through pipes,
sockets, ... For example, you could say:
(setq data (py:call (urllib (urlopen url) (read))))
to tell Python to return you the result of:
urllib.urlopen(url).read()
where `url' is actually replaced by the value of the Lisp variable
`url'.
Here is a POP protocol example (from the book Learning Python):
from poplib import *
server = POP3('mailserver.spam.org')
print server.getwelcome()
server.user('da')
server.pass_('youllneverguess')
|
|
V
(py:import poplib *)
(py:set server (py:call '(POP3 "mailserver.spam.org"))) ;; `server` is a
(format t "~A" (py:call '(server (getwelcome))) ;; variable in
(py:call '(server (user "da"))) ;; the Python world
(py:call '(server (pass_ "youllneverguess")))
Of course, from here, you can write things like :
(with-pop-account (account "mailserver.spam.org" "da" "youllneverguess")
...))
or wrap the whole stuff in nice packages...
The `glue' would deal with conversions between data structures :
(py:call '((range 1 10))) Lisp world
|
V
range(1, 10) Python world
|
V
[1, 2, 3, 4, 5, 6, 7, 8, 9] Python world
|
V
'(1 2 3 4 5 6 7 8 9) Lisp world
> When Lisp gets its elegance across, as well as having easy
> access to all the things people like about things like Tcl/Tk, Java,
> Perl, Python; and not just obscure kits like Garnet, etc. (One of the
> problems is that various implementations go different lengths to
> provide such functionality--Java sucks, but at least you know what
> you're getting and what you're able to do with it!)
Actually, if stuff described above could be achieved with Perl,
Tcl/Tk, Java, etc. as well, then Lisp would be the Emacs of the
languages ! The language stack would then be :
_____________________________________________
| |
| Lisp |
|_____________________________________________|
| | | | | | |
| | Perl+ | Java+ | Python | Tcl/Tk | What |
| | libs | libs | + libs | + libs | Ever |
| |_______|_______|________|________|______|
| |
| C |
|_____________________________________________|
As (new) languages become more and more interactive, Lisp can
easily talk to all these languages and use their libraries...
> There's only one Python, Perl, and Tcl/Tk, and that helps them stay
> central and release one version of the language--not the fragmented
> state of affairs that both Lisp as a language and Linux as an OS
> suffer.
What's important is that they keep interfacing with all the new
technologies so that Lispers can annex them without having to learn
new languages. Let them work for us: use the libs, dump the
languages !
--
Georges KO (Taipei, Taiwan) g...@gko.net
Décade I, Tridi de Frimaire de l'Année 209 de la Révolution
sound great- wish I could say that there were something Lisp provided
to us linuxers like that- there'd be no reason for any other languages!
aaron.
> --
> Rainer Joswig, Hamburg, Germany
> Email: mailto:jos...@corporate-world.lisp.de
> Web: http://corporate-world.lisp.de/
>
Sent via Deja.com http://www.deja.com/
Before you buy.
Look at www.python.org for a listing of python success stories. i think
you'll find that Python is quite robust and capable of very large apps.
> >language). I could use TK or WxPython to design a GUI frontend to my
> >functions in less than an hour. Java, Python, Perl, Tcl/Tk etc. also
are
> >"web aware", i.e. they acknowledge that for a language to be "hot",
it has
> >to appeal to the web-using public, and be usable for the web by the
> >web-using public.
>
> Well... yes, some _standard_ support for doing web stuff would
be
> nice.
>
> >what you're able to do with it!) There's only one Python, Perl, and
> >Tcl/Tk, and that helps them stay central and release one version of
the
> >language--not the fragmented state of affairs that both Lisp as a
language
> >and Linux as an OS suffer.
>
> I don't think so: there's plenty of implementations of c and
c++ and
> they're freaking popular; there's only one Windows and it doesn't
make things
> easier for it's users... :-P
C/C++ is popular for 2 reasons- speed, and OS functionality. (and i
suppose public gullibility ;) )
>
> //-----------------------------------------------
> // Fernando Rodriguez Romero
> //
> // frr at mindless dot com
> //------------------------------------------------
>
I agree 100%
> Actually, if stuff described above could be achieved with Perl,
> Tcl/Tk, Java, etc. as well, then Lisp would be the Emacs of the
> languages ! The language stack would then be :
>
> _____________________________________________
> | |
> | Lisp |
> |_____________________________________________|
> | | | | | | |
> | | Perl+ | Java+ | Python | Tcl/Tk | What |
> | | libs | libs | + libs | + libs | Ever |
> | |_______|_______|________|________|______|
> | |
> | C |
> |_____________________________________________|
>
> As (new) languages become more and more interactive, Lisp can
> easily talk to all these languages and use their libraries...
.
>
> What's important is that they keep interfacing with all the new
> technologies so that Lispers can annex them without having to learn
> new languages. Let them work for us: use the libs, dump the
> languages !
cool- but will we lose some speed doing all those foreign language
calls that are not to C libs?
Aaron.
> --
> Georges KO (Taipei, Taiwan)
g...@gko.net
> Décade I, Tridi de Frimaire de l'Année 209 de la
Révolution
>
> cool- but will we lose some speed doing all those foreign language
> calls that are not to C libs?
I personally never recommended not calling a C lib. I've merely observed
that there was no C lib to call in many cases and said it's better to
call something than to say "we don't have that". And I think Java has
tons more off the shelf solutions than does C, with new ones appearing
all the time.
Java sucks as an implementation language, IMO, but that's objectively not
enough to stop people from programming in it. And if we don't want to find
ourselves programming in it, then we'd better not ignore the fact that others
are willing to. We can't keep up, except by tying ourselves to it in a way
that makes innovations to it available to us in realtime. If there's a time
lag, we're screwed because we're doomed to be forever at a temporal
disadvantage and not usable as a leading edge tool. If there's no time lag
in accessing cool things, the slowness of an occasional callout (which is
O(1) loss in speed in most cases) can be compensated by the smartness of
other Lisp facilities and even by intangibles like Lisp's ability to debug
things quickly and deliver better "time to market".
By making it available to "us", it would make Lisp more available to "them".
That's a win, whichever way you look at it.
Perhaps of the two, the latter is the more important in the long run.
In UNIX versions of the free CLs (CLISP,CMUCL) we can find several
GUI-Toolkits that talk down a socket to a GUI-Server.
The systems I know of are CLM, CLX and cl-gtk (which is outdated).
While reaching some portability over CL-implementations through
the use of the socket-connection, we have no real
cross-plattform-capabilities by using CLM or CLX (Add itionally we have the
fact that this toolkits are ugly compared to higher or more "Lispy"
toolkits like CAPI)
So why not building a GUI-Server in wxWindows - which would run nice on
win32, Linux(Motif), Linux(GTK) and so far I know on BeOS and MacOS too.
wxWindows doesn't provide only GUI it provides us also with a very good
socket-interface (on all supported plattforms).
Most parts would be written on the Lisp side using the GUI-Server whenever
something has to go concrete.
I would prefer a very simple approuch like LispWorks CAPI (or simpler for
the beginnigs).
IMHO if we concentrate on simplicity we could have it in _very_ short time.
What would we get:
A real crossplattform GUI-Toolkit for:
- Linux, Win32, MacOS, BeOS
- Most free and commercial Lisps (e. g. CLISP, CMUCL, ACL, Lispworks...)
- Network distributed GUI (similar to X11 but on a much higher level)
What do you think upon that?
Regards,
Jochen
Aaron K . Johnson wrote:
>
> Hello friends,
>
> It occurs to me that lesser languages like Java, etc. succeed in
> the modern world where Lisp seems like a computer science lesson from days
> of old because they have, or are perceived to have, an easy way to
> write/design a GUI, and to integrate well with low-level OS
> libraries/functions. I love Lisp, but there are things that I would never
> attempt with it that I would do in a snap with Python (actually a great
> language). I could use TK or WxPython to design a GUI frontend to my
> functions in less than an hour. Java, Python, Perl, Tcl/Tk etc. also are
> "web aware", i.e. they acknowledge that for a language to be "hot", it has
> to appeal to the web-using public, and be usable for the web by the
> web-using public.
> When Lisp gets its elegance across, as well as having easy access
> to all the things people like about things like Tcl/Tk, Java, Perl,
> Python; and not just obscure kits like Garnet, etc. (One of the problems
> is that various implementations go different lengths to provide such
> functionality--Java sucks, but at least you know what you're getting and
> what you're able to do with it!) There's only one Python, Perl, and
> Tcl/Tk, and that helps them stay central and release one version of the
> language--not the fragmented state of affairs that both Lisp as a language
> and Linux as an OS suffer.
>
> Aaron Johnson.
>
>
> C/C++ is popular for 2 reasons- speed, and OS functionality. (and i
> suppose public gullibility ;) )
>
I think you really mean `speed of the 10 line programs that fit in 1st
level cache that are all people ever benchmark'. Certainly I don't
think you can mean `speed of delivered large applications': I've used
some impressively slow C++ applications.
--tim
If you plan to go that way, why not use Java? It seems that the push
in GUI is in that front nowadays. Moreover, if you want some parts of
the application to run on the GUI server (a'la NeWS), then I would
quite prefer Java to C++ when extending the server.
--
Pertti Kellom\"aki, Tampere Univ. of Technology, Software Systems Lab
> > cool- but will we lose some speed doing all those foreign language
> >calls that are not to C libs?
Well, you can write code in that language, much like when you want
to write some parts in C to speed up things, and ask the interpreter
to load it at startup.
> I personally never recommended not calling a C lib. I've merely
> observed that there was no C lib to call in many cases and said it's
> better to call something than to say "we don't have that". And I
> think Java has tons more off the shelf solutions than does C, with new
> ones appearing all the time.
The nature of the "dialog" with C and the other languages are not
of the same nature: with C, it would be by using the classic FFI
approach, whereas with the higher level, the dialog would be through
socket, pipe, whatever: the later has the advantage of not having to
touch the Lisp side when a new module is added to a "slave" language:
you can call it in that language, you can call it in Lisp.
> Java sucks as an implementation language, IMO, but that's objectively
> not enough to stop people from programming in it. And if we don't
> want to find ourselves programming in it, then we'd better not ignore
> the fact that others are willing to. We can't keep up, except by
> tying ourselves to it in a way that makes innovations to it available
> to us in realtime. If there's a time lag, we're screwed because we're
> doomed to be forever at a temporal disadvantage and not usable as a
> leading edge tool.
By having this bridge mechanism, the other languages would do the
dirty job for us.
> If there's no time lag in accessing cool things, the slowness of an
> occasional callout (which is O(1) loss in speed in most cases) can
> be compensated by the smartness of other Lisp facilities and even by
> intangibles like Lisp's ability to debug things quickly and deliver
> better "time to market".
Example: how to get GTK bindings in Common Lisp?
Well, there's a Lisp called librep that binds GTK, so if librep
can be annexed (can be talked to from your Common Lisp
implementation), then GTK would be yours and whenever a better librep
comes out, you just upgrade librep... And if the librep bindings suck,
then you can turn into Python's version... without upgrading anything
on your Lisp side...
That's great, it means that we would have actually MORE choices
than if we were programming in one specific language !
Imagine a Lisp application using Python (libs) to fetch mail, Java
(libs) for the GUI and Perl (libs) for database access stuff :-) or
whatever ...
--
Georges KO (Taipei, Taiwan) g...@gko.net
Décade I, Quartidi de Frimaire de l'Année 209 de la Révolution
> Jochen Schmidt <j...@dataheaven.de> writes:
> > So why not building a GUI-Server in wxWindows - which would run nice on
> > win32, Linux(Motif), Linux(GTK) and so far I know on BeOS and MacOS too.
> > wxWindows doesn't provide only GUI it provides us also with a very good
> > socket-interface (on all supported plattforms).
>
> If you plan to go that way, why not use Java? It seems that the push
> in GUI is in that front nowadays. Moreover, if you want some parts of
> the application to run on the GUI server (a'la NeWS), then I would
> quite prefer Java to C++ when extending the server.
There are several reasons why I've not chosen Java:
- It is not planned to run parts of the application on the GUI server (as
you mentioned)
- Native Look: wxWindows is using the native look of the several platforms.
- Speed: You can say what you want, actual Java GUIs are _really_ slow
(particularily those written with swing)
- Because I prefer C++ over Java.
But - and there's the point - if someone jumps in to collaborate I could
also live with a Java-Solution. The sideeffect of collaboration would be
that it is much more likely that we end with an working program.
My aim would be to integrate this GUI-Toolkit as good in the several Lisps
I can. At the best there should be no difference between this solution and
e. g. an inbuilt toolkit like CAPI in LispWorks.
Regards,
Jochen Schmidt
> - Speed: You can say what you want, actual Java GUIs are _really_ slow
several serious java programmers I've talked have no problems admitting
that java is not suitable for serious GUIs. "BUT", they tend to add,
"it's perfect for servers". However, the java servers I've seen so far
that have really been put to stress tests (real life stress tests,
running on really heavy Sun iron serving a *lot* of clients), have
performed almost unbelievably lousy.
--
(espen)
On Fri, 24 Nov 2000, Jochen Schmidt wrote:
> Some day ago I had following idea:
>
> In UNIX versions of the free CLs (CLISP,CMUCL) we can find several
> GUI-Toolkits that talk down a socket to a GUI-Server.
> The systems I know of are CLM, CLX and cl-gtk (which is outdated).
> While reaching some portability over CL-implementations through
> the use of the socket-connection, we have no real
> cross-plattform-capabilities by using CLM or CLX (Add itionally we have the
> fact that this toolkits are ugly compared to higher or more "Lispy"
> toolkits like CAPI)
> So why not building a GUI-Server in wxWindows - which would run nice on
> win32, Linux(Motif), Linux(GTK) and so far I know on BeOS and MacOS too.
> wxWindows doesn't provide only GUI it provides us also with a very good
> socket-interface (on all supported plattforms).
> Most parts would be written on the Lisp side using the GUI-Server whenever
> something has to go concrete.
> I would prefer a very simple approuch like LispWorks CAPI (or simpler for
> the beginnigs).
> IMHO if we concentrate on simplicity we could have it in _very_ short time.
>
> What would we get:
> A real crossplattform GUI-Toolkit for:
>
> - Linux, Win32, MacOS, BeOS
> - Most free and commercial Lisps (e. g. CLISP, CMUCL, ACL, Lispworks...)
> - Network distributed GUI (similar to X11 but on a much higher level)
>
> What do you think upon that?
>
> Regards,
>
> Jochen
>
Jochen and Lispers-
Sounds great. I know so little about how we'd go about coding it.
Is there some sort of documentation about how to begin getting Lisp to
talk to wxWindows. I've used wxPython, and found it to be a faster,
slightly less good-looking version of Tk. My dream-Tk without Tcl slowing
it down, so something like TkInter for Python, but for Lisp. Note that
TkInter still suffers from making calls to Tcl. I never understood why the
Python developers went the route of TkInter instead of wxPython from the
start. After all, since Python is so much better that Tcl in every way,
why rely on Tcl for Gui stuff?
Anyway, is it even possible to make low-level calls to Tk from
another language without Tcl? This would be the cross-platform dream for
Lispers!
Aaron.
On 24 Nov 2000, Tim Bradshaw wrote:
> akjm...@my-deja.com writes:
>
> > C/C++ is popular for 2 reasons- speed, and OS functionality. (and i
> > suppose public gullibility ;) )
> >
>
> I think you really mean `speed of the 10 line programs that fit in 1st
> level cache that are all people ever benchmark'. Certainly I don't
> think you can mean `speed of delivered large applications': I've used
> some impressively slow C++ applications.
>
> --tim
>
Apparently, I'm told this is because C was forced into something it was
never meant to do in the first place: Object-Oriented programming.
BTW, I find the whole OO paradigm sort of an annoying catch-phrase
phenomenon that has turned me off to really investigating it, other than
being forced to use it in wxPython.....
-Aaron
I still have a bad taste in my mouth from the crawl-speed of things like
STk, that I'm skeptical of the language intercommunication
approach. Again, this is a subjective observation- I don't have
benchmarks.
-Aaron
> In UNIX versions of the free CLs (CLISP,CMUCL) we can find several
> GUI-Toolkits that talk down a socket to a GUI-Server.
> The systems I know of are CLM, CLX and cl-gtk (which is outdated).
Actually CLX works differently: CLX is the CL equivalent of xlib,
i.e. it talks X protocol directly to the X server. This is a direct
consequence of the fact that X11 had been intended to be used
cross-language from the beginning, without having to go through ugly
foreign function interfaces. Sadly this idea was lost later on, when
most widget sets need to be linked to directly.
> While reaching some portability over CL-implementations through
> the use of the socket-connection, we have no real
> cross-plattform-capabilities by using CLM or CLX (Add itionally we have the
> fact that this toolkits are ugly compared to higher or more "Lispy"
> toolkits like CAPI)
CMUCL's CLM can be made quite similar to CAPI with the use of a couple of
convenience macros. Of course you still have to use CLX instead of GP
for the low-level stuff, should that be needed.
The problems I've found with CMUCL's CLM (which is a different
implementation than the portable CLM part of GINA) is that the server
is not very stable when compiled with LessTif, and is slow as a dog
when compiled with a real Motif.
> What would we get:
> A real crossplattform GUI-Toolkit for:
>
> - Linux, Win32, MacOS, BeOS
> - Most free and commercial Lisps (e. g. CLISP, CMUCL, ACL, Lispworks...)
> - Network distributed GUI (similar to X11 but on a much higher level)
>
> What do you think upon that?
I'd think this would be a nice project for someone, so get started
already ;)
Regs, Pierre.
--
Pierre R. Mai <pm...@acm.org> http://www.pmsf.de/pmai/
The most likely way for the world to be destroyed, most experts agree,
is by accident. That's where we come in; we're computer professionals.
We cause accidents. -- Nathaniel Borenstein
I am learning Lisp. I have a pretty good grasp of C, Python, and Perl.
I really think that Lisp lends itself to many programs I previously
wrote with the languages I mentioned, but I cannot find a Lisp library
that provides basic networking facilities that are needed to write the
type of programs I want to. I looked at clocc
<http://clocc.sourceforge.net>, but it has almost no documentation or
examples that come with it, and I cannot get it to work. I found many
networking libraries for Scheme (SLIB and libraries in Bigloo) but I
want to use Common Lisp. I know there must be certain libraries like
this, because I heard of people using CL to write network programs -- do
you know of any?
Thanks,
-- John
What Lisp needs to gain more audience (still, I think, a desirable goal),
is:
1. A corporate sponsor with deep pockets and an axe to grind in the form of
a new platform; a sponsor who is willing to lose money on languages and
tools to gain platform market share. This sponsor needs to choose Lisp as
the language of choice for the new platform.
2. An updated spec so the sponsored Lisp dialect can take advantage of the
new platform's splendid characteristics.
3. Some compelling reason for people to use the new platform.
I base this conclusion on analogies to the three current popular languages,
C/C++ (Unix and to some extent Windows platforms, sponsored by AT&T and then
Microsoft), Visual Basic (Windows sponsored by Microsoft), and Java (the
Internet "platform" sponsored by Sun). Similar analogies to even older
languages could be made, such as PL/I (or whatever) for OS/360 and so on.
BTW, I believe these characterstics are necessary but not sufficient for
widespread success of a serious application programming language.
As none of those things are on the horizon, I don't think Lisp is quite out
of the trenches yet.
-- Harley
On Sat, 25 Nov 2000, Patrick W wrote:
>
> "Stock Crack" <stock...@flashcom.com> wrote in message
> news:t1u932c...@corp.supernews.com...
> >
> > What Lisp needs to gain more audience (still, I think, a desirable goal),
> > is:
> >
> > 1. A corporate sponsor with deep pockets and an axe to grind in the form
> of
> > a new platform; a sponsor who is willing to lose money on languages and
> > tools to gain platform market share. This sponsor needs to choose Lisp as
> > the language of choice for the new platform.
> >
> > 2. An updated spec so the sponsored Lisp dialect can take advantage of the
> > new platform's splendid characteristics.
> >
> > 3. Some compelling reason for people to use the new platform.
> >
> > I base this conclusion on analogies to the three current popular
> languages,
> > C/C++ (Unix and to some extent Windows platforms, sponsored by AT&T and
> then
> > Microsoft), Visual Basic (Windows sponsored by Microsoft), and Java (the
> > Internet "platform" sponsored by Sun). Similar analogies to even older
> > languages could be made, such as PL/I (or whatever) for OS/360 and so on.
> > BTW, I believe these characterstics are necessary but not sufficient for
> > widespread success of a serious application programming language.
> >
> > As none of those things are on the horizon, I don't think Lisp is quite
> out
> > of the trenches yet.
>
> I think it would take much less than this to give Lisp a shot in the arm.
>
> The language stands on its own merits. People either love it or hate it, and
> those who hate it can look elsewhere - who needs them? Unfortunately those
> who love it often look elsewhere too. Those are the people who would gladly
> be persuaded to stay without corporate sponsorship or marketing slogans.
>
> I think there's little point in looking at the big issues until the small
> ones are taken into account. The reason for Lisp's lack of growth in
> popularity is very simple in my opinion.
>
> Current and future generations of good programmers are learning their craft
> with cheap and free tools on Linux and the BSDs. Suppose you're a 17 year
> old fledgeling programmer and you want to test your skill with a simple IRC
> client or a graphical logic game. You might have dabbled with clisp or cmucl
> and liked the Lisp language, but would you choose it to write your new toy?
> You'd have a hard time doing so, in spite of the the quality of the
> language.
>
> Would you then fork out for an AllegroCL license, or would you *first* think
> of using Python with Tkinter, C++ with QT or wxWindows, C with GTK+ or some
> other option instead? These other options have everything you need to build
> your toy - for nix. None of them come close to Lisp in language potency, but
> they get the simple jobs done. And from little things, big things grow ...
>
> Two simple features would attract a lot of young blood to the free Lisp
> implementations (thence onward and upward):
>
> 1. Easy gui development
> 2. Easy access to comms (web, mail, ftp, etc).
>
> I believe it really is as simple as that.
>
Excellent points. I couldn't have said it better. In particular, i believe
that Lisp needs a more centralized GUI like Tk. It should be universal,
and easy to use. When I say universal I mean EVERY Lisp implementation
should support it, so that code could be portable to any machine. That
Lisp is as popular as it is at all is a miracle (even though its truly
awesome), because most Lisp/scheme code is nowhere near being portable. I
think the portability issue and the GUI issue are of paramount importance.
Consider this from the Lisp FAQ-a list of how the different Lisps have you
save an image-
Lucid: DISKSAVE
Symbolics: Save World [CP command]
CMU CL: SAVE-LISP
Franz Allegro: EXCL:DUMPLISP (documented)
SAVE-IMAGE (undocumented)
Medley: IL:SYSOUT or IL:MAKESYS
MCL: SAVE-APPLICATION <pathname>
&key :toplevel-function :creator
:excise-compiler
:size :resources :init-file :clear-clos-caches
KCL: (si:save-system "saved_kcl")
LispWorks: LW:SAVE-IMAGE
Is it any wonder that the GUI state of things is any better?
-Aaron
> Kellom{ki Pertti wrote:
>
> > Jochen Schmidt <j...@dataheaven.de> writes:
> > > So why not building a GUI-Server in wxWindows - which would run nice on
> > > win32, Linux(Motif), Linux(GTK) and so far I know on BeOS and MacOS too.
> > > wxWindows doesn't provide only GUI it provides us also with a very good
> > > socket-interface (on all supported plattforms).
> >
> > If you plan to go that way, why not use Java? It seems that the push
> > in GUI is in that front nowadays. Moreover, if you want some parts of
> > the application to run on the GUI server (a'la NeWS), then I would
> > quite prefer Java to C++ when extending the server.
>
> There are several reasons why I've not chosen Java:
>
> - It is not planned to run parts of the application on the GUI server (as
> you mentioned)
> - Native Look: wxWindows is using the native look of the several platforms.
> - Speed: You can say what you want, actual Java GUIs are _really_ slow
> (particularily those written with swing)
> - Because I prefer C++ over Java.
>
Why not stick with GTK? Just curious.
--
Marco Antoniotti =============================================================
NYU Bioinformatics Group tel. +1 - 212 - 998 3488
719 Broadway 12th Floor fax +1 - 212 - 995 4122
New York, NY 10003, USA http://galt.mrl.nyu.edu/valis
Like DNA, such a language [Lisp] does not go out of style.
Paul Graham, ANSI Common Lisp
> What Lisp needs to gain more audience (still, I think, a desirable goal),
> is:
>
> 1. A corporate sponsor with deep pockets and an axe to grind in
> the form of a new platform; a sponsor who is willing to lose money
> on languages and tools to gain platform market share. This sponsor
> needs to choose Lisp as the language of choice for the new platform.
>
> 2. An updated spec so the sponsored Lisp dialect can take advantage of
> the new platform's splendid characteristics.
>
> 3. Some compelling reason for people to use the new platform.
> As none of those things are on the horizon, I don't think Lisp
> is quite out of the trenches yet.
Well, Apple once started to try to do it with a Lisp-family language.
They axed the project along with many others when they started to lose
money.
Now they have a new platform coming out which, being a Unix with a
pretty face, may well be quite compelling for many people.
-- Bruce
> Excellent points. I couldn't have said it better. In particular, i believe
> that Lisp needs a more centralized GUI like Tk. It should be universal,
> and easy to use. When I say universal I mean EVERY Lisp implementation
> should support it, so that code could be portable to any machine. That
> Lisp is as popular as it is at all is a miracle (even though its truly
> awesome), because most Lisp/scheme code is nowhere near being portable. I
> think the portability issue and the GUI issue are of paramount importance.
>
> Consider this from the Lisp FAQ-a list of how the different Lisps have you
> save an image-
>
> Lucid: DISKSAVE
> Symbolics: Save World [CP command]
> CMU CL: SAVE-LISP
> Franz Allegro: EXCL:DUMPLISP (documented)
> SAVE-IMAGE (undocumented)
> Medley: IL:SYSOUT or IL:MAKESYS
> MCL: SAVE-APPLICATION <pathname>
> &key :toplevel-function :creator
> :excise-compiler
> :size :resources :init-file :clear-clos-caches
> KCL: (si:save-system "saved_kcl")
> LispWorks: LW:SAVE-IMAGE
If this hinders you to write a Common Lisp application, I think you
should better look at another comp.lang.XXX with (not (eq XXX Lisp)).
> Is it any wonder that the GUI state of things is any better?
Take the file systems. Similar important compared to GUIs.
How does C-based software manage to open files on the different
platforms (VMS, Unix, DOS, Windows XXXX, MacOS HFS, MacOS HFS+, ...)?
Is there a standard for that? For pathnames? File attributes?
Still there seems to be plenty software that has been written,
capable of accessing a file system. Common Lisp has a unified
model of pathnames and stream-based IO - still it does not better
than C.
Actually those who manage to write commercially successful
Lisp software seem to be very silent. Those who can't are
telling us once a week.
I once wrote a small application together with a student to
access our telephone system (German Telekom Octopus) and to provide
us daily usage and billing reports. I think I developed it
on MCL and Genera. It got deployed with CLisp on a SUN Enterprise 250
- the core code ran almost unchanged for a year.
The student ported it to LispWorks on Windows. Later it got
a CLIM GUI. Despite what you are saying, carefully written Lisp
code is extremely portable and able to run for years.
I once talked to people who are maintaining an application with a
million+ (!!) lines of Lisp code. They develop on Lisp machine
and deploy on ACL. A port of this application to LispWorks
took them just three months. For a million lines of Lisp code...
Now you tell me Lisp is not portable. (The joke was when they
looked at CL-HTTP, it was a refreshingly small application for
them.)
If you, for example, use CL-HTTP you can deploy your code with a web
interface on several platforms virtually unchanged (Windows,
Unix, Mac, Lispm). John Mallery takes great care to publish
new devos as Mac, tar.gz and Lispm distribution. I often wish
there were more Lisp developers that are as fearless as he is.
Would you, when the White House asked you to write a web
application to distribute government documents, write your
own web server in Lisp, patch the Lisp machine mailer so that
it actually works, write your own document distribution system
for web and mail access in Lisp, use a CLOS database, and ***deploy***
it on a Lisp machine? Without a single line of C/Java/Perl/... code?
Sure not, you would give up *******************long************************
before, just because there are ten ways to dump a Lisp application??!!
John's approach is different: If there is an obstacle (say a bug
in a TCP interface), it gets debugged and fixed once and forever.
If there is an incompatibility in the different Lisps, he provides
a portable version. What's the result: the code he wrote runs at
the White House for several years now and the White House is actively
**using** it. The system even survived the rush hours during the
Lewinsky affair. ;-) Other used the system on different platforms
(NASA: MCL, Honda: ACL, Incops: MCL, XXX: LispWorks, ...) to
deploy complex user interfaces. Have you ever looked at the Lisp course
(http://www.psychologie.uni-trier.de:8000/elmart) that's running
in MCL+CL-HTTP over the web? This application received an "European
Academic Software Award" in 1998.
I also used Paul Meurer's ODBC interface in MCL
and LWW (works also for ACL). Code runs without any changes.
What's wrong using one of those libraries on top of CLX
for X graphics? Say CLUE, CLIO, XIT, CLIM, ...? Choose one.
Most of can be made running in any Lisp. I even once changed
CLX to run in MCL - this is work of a few hours. MCL than
will connect to an X server. If you are really interested, some
companies are offering portable Lisp GUI libraries. IISY
offered a MCL compatible GUI library for ACL, GBB is offering
"Chalkbox", even students seem to be capable of connecting
Java with Lisp (http://www.ai.mit.edu/people/cvince/date/screen-navigator.html).
To give you a last example. Here in Hamburg, a company developed a
Lisp-based application for the telephone support staff of
the local public transport system. It finds routes through
the extensive public transport system (bus, underground train, trains and
ships). The application has been prototyped and later deployed
in three versions: a) for the support staff with SUN+Screen+Keyboard,
b) SUN + touchscreen + printer using a special console that survives
unfriendly usage for the public and c) a CGI version for the web. (now there
is also a Java version for PCs). If you go to
the Hamburg Central station you will be able to use a such a public
terminal - sure nobody knows that it is written in Common Lisp + CLX.
But it is ***cool***. So damn cool.
On the other hand, sometimes you get to a point where you're *tired*
of jumping through hoops just to do simple things- and really sick of
being pushed around by a bunch of "features" that some committee of
marketers think you need. Then you start looking for a stable, well
specified environment, which lets you just do what you want without a
lot of fuss and bother. Given those requirements, the list of
languages gets small pretty fast. Notably, Lisp stays on the list-
suffering not from language problems but from a perceived lack of
"integrability". I find ramping up skill in Lisp is lots more
enjoyable than doing so in C++. But, at some point you get annoyed at
the lack of a thorough, organized top to bottom infrastructure in
clisp/cmucl and then Allegro/Lispworks start to look appealing.
Me, as a nominal Lisp amateur, I'm bartering some time working for my
Dad's company in exchange for them buying me a copy of LispWorks.
Why? Because it makes me think differently. C/C++ is all very well,
but I really value how Lisp makes me reconsider everything. The
recent Sapir-Whorf references on this list make that point especially
germane, as C/C++ and all their brood certainly engender particular
approaches- sometimes nearly programming cliches. "Software
Patterns", indeed. Its kind of fun to think "mapcar" when I see a
menu in restaurant... and I can't even begin to say how much I
appreciate NOT having to fiddle with pointers. People can say all
they like about how 'strange' Lisp syntax is- but those that do have
likely not compared it in detail to some of the more exotic C++
notation.
I'm all for cheap/free tools, I think that is certainly the way to
learn. After acquiring a degree of skill, I think a programmer may
end up at a point where choices must be made to satisify their need
for performance and efficiency in their tools, and I think thats where
the commercial Lisp environments come in.
William James suggested people choose their religions to suit their
tempraments, maybe a similar function occurs with programmers & their
languages. Of course, that means some people tend towards COBOL. To
each their own.. ;)
Gregm
> Lastly, on the lack of libraries, I'd like to suggest to the people
> that complain about it to write some and make them available. Some
> complainers seem to think it their right to demand such things from
> the people who use CL to write applications. Even setting issues of
> intellectual property aside, making available code to the public has a
> real cost. But even on the availability of libraries, the comparison
> should be made carefully. There is in the {Perl, Python, Java, ...}
> community a plethora of libraries for the more simple things like
> HTTP, SMTP etc.
> This stuff is so trivial in CL that I usually roll my
> own since looking for a library, evaluating the licence, compiling it
> and getting it integrated in my environment would take longer than
> just writing it myself.
I am new to Lisp, and I'm looking for libraries such as those for HTTP
and SMTP.
I don't expect other Lisp programmers to write libraries for me, but
many people who come to Lisp from other languages wonder how come there
aren't many available (I'm talking about networking libs here, not GUI
stuff because there are many of those around) since Lisp has been here
for a while.
I'm not lazy, and I'm willing to write my own libraries and make them
publicly available for no charge, but I don't know where to begin. If I
don't even have a basic socket interface (I can't find any libs that
provide even that), how can I write such libraries? You say it's
trivial, and I'm really curious how. Could you please briefly explain
how one would go about writing a thing like that? Where to begin, etc.
Thanks a lot,
Maybe they have a point (beyond the obvious implication that they lack the
ability).
I don't think Aaron intended to imply it's not possible to write
commercially successful software in Lisp. I didn't either. I think both of
us, in contrast to you, were discussing aspects of Lisp's lack of surface
appeal to new generations of programmers, *not* suggesting it isn't a great
practical tool for experienced Lispers.
[ John Mallery's fearlessness]
> Sure not, you would give up
*******************long************************
> before, just because there are ten ways to dump a Lisp application??!!
> John's approach is different: If there is an obstacle (say a bug
> in a TCP interface), it gets debugged and fixed once and forever.
> If there is an incompatibility in the different Lisps, he provides
> a portable version.
Would you step back a bit and look at the context of the discussion? I
notice you've got a Lisp machine on your home page, so is it a fair
assumption you've been around Lisp for a long time? I'm assuming you know
what a great language it is, you're comfortable with the tools you use, and
you're confident in your ability to make Lisp do whatever you desire. John
Mallery's fearlessness must have come from a similar confidence. It's not
something that one would or could do having only a passing acquaintance with
Lisp.
Having more people like John Mallery would be a nice side effect of making
Lisp more accessible to new generations of programmers. Not the only side
effect, to be sure. There would be a lot more noise and stupidity as well.
But if 1% of those who pick up on Lisp are enthusiastic and talented, there
will be progress - in tools, literature, community, momentum, public
profile. Without the bare minimum of surface appeal, there will be fewer
talented people who even *try* Lisp. (I don't know JM, but I know a few who
have the same attitude. Most of them have never touched Lisp They're using
Python).
Not knowing what you're missing is a strong disincentive to perseverance.
You and John Mallery may not have that problem. Others ... well ... don't
know what they're missing.
>several serious java programmers I've talked have no problems admitting
>that java is not suitable for serious GUIs. "BUT", they tend to add,
I don't have much experience with Java, but the few java apps I've
used were a serious memory hog and slower than Visual Basic. This is why I'm
not sure if I like the idea (Kent's idea?) of adding extensive support for
calling java libs: I'm scared that java libs will bring java performance...
:-P
>"it's perfect for servers". However, the java servers I've seen so far
>that have really been put to stress tests (real life stress tests,
>running on really heavy Sun iron serving a *lot* of clients), have
>performed almost unbelievably lousy.
Maybe CL vendors should go for that market: java programmers who were left
stranded by java's performance. CL seems like the perfect tool for "servlets"
and it might be a good way to increase our small community.
>I once talked to people who are maintaining an application with a
>million+ (!!) lines of Lisp code. They develop on Lisp machine
=:-O Damn, I never went past the 80.000... ;-) What does this app
do? Just curious...
>If you, for example, use CL-HTTP you can deploy your code with a web
>interface on several platforms virtually unchanged (Windows,
>Unix, Mac, Lispm). John Mallery takes great care to publish
I was planning to take a look at it or Allegro serve. How would you
compare both (features, documentation, performance...)? O:-)
>deploy complex user interfaces. Have you ever looked at the Lisp course
>(http://www.psychologie.uni-trier.de:8000/elmart) that's running
Yes, and it's _really_ cool. :-)
> Would you step back a bit and look at the context of the discussion? I
> notice you've got a Lisp machine on your home page, so is it a fair
> assumption you've been around Lisp for a long time? I'm assuming you know
> what a great language it is, you're comfortable with the tools you use, and
> you're confident in your ability to make Lisp do whatever you desire. John
> Mallery's fearlessness must have come from a similar confidence. It's not
> something that one would or could do having only a passing acquaintance with
> Lisp.
But I started somehow sometime, writing my share of Pascal, Basic,
Assembler and Modula 2.
> Having more people like John Mallery would be a nice side effect of making
> Lisp more accessible to new generations of programmers.
Maybe it is also the other way round? "The new generation of programmers"
needs to be more accessible? Maybe after some time of experimenting
they will. Like children experimenting with smoking and after
some time the will discover that it is unhealthy not at lot
of fun (besides many telling you).
> Not the only side
> effect, to be sure. There would be a lot more noise and stupidity as well.
Yes, but this is normal.
> But if 1% of those who pick up on Lisp are enthusiastic and talented, there
> will be progress - in tools, literature, community, momentum, public
> profile.
Much of what others want to achieve, is already there. But maybe not
in a way they expect.
If people feel the need for (new) tools, literature, community. etc.
I'd say, go ahead. Create tools, write books, build a community.
You can't expect me to do it for you. I have my own agenda
and write my own tools.
There is also no need to discover and use Lisp. Many programmers can
get along and can survive without ever touching it. Other
programming languages and tools are also productive.
There is no obvious need to drive a Mercedes. But those
who did will know that it is well-engineered and reliable.
> Without the bare minimum of surface appeal, there will be fewer
> talented people who even *try* Lisp. (I don't know JM, but I know a few who
> have the same attitude. Most of them have never touched Lisp They're using
> Python).
They need to learn and discover Lisp. They even need to form the
language for their needs (like the previous generations of users formed
Lisp for their purposes). Lot's of things are simply there and
need to discovered. An example: people would get the impression
that there are no books about Lisp - they look into their
bookstore and they see hundred books about Java and maybe none
about Lisp. They just need to discover that one can order books
and there are book catalogs that one can browse. They also
need to discover that there is a thing called the Internet,
where some of the most important Lisp books are available (CLtL2,
ANSI CL HyperSpec, ...) in various formats.
What they need to be? They need to be programmers in the first
place. Having written 5KLOC of Python doesn't make you a programmer.
Much of the source code you can see at Sourceforge scares me,
it is of incredible poor quality and I wouldn't let it into
my software. Just writing it again gives me much more confidence
in the code. I would agree with Peter Norvig's observations
(http://www.norvig.com/21-days.html) and his motto:
"Teach Yourself Programming in Ten Years".
Lisp is the Zen way of Programming.
> A bit more vibrant community wouldn't be a bad thing. I know that's anathema
> to some of you guys, but the attitude in c.l.l. sometimes reminds me of a
> clan of rich retirees languishing in luxury in an exclusive suburb. If
> someone under thirty arrives you can almost people muttering: "There goes
> the neighbourhood".
I was thirthy-ish when I discovered CL but I don't think your image is
correct. I think one of the strengths of Lisp is that is has been used
for forty years to solve the most challenging and complex problems of
the time. The language has been designed with large and complex
applications in mind. This means that to see the advantages of CL it
helps to have experience with other languages in large applications.
A beginning programmer with his shining new C++ compiler and GUI
toolkit reads the tutorial, writes 100 lines of code and has a small
graphical application with an edit widget, some buttons and an
image. Now you show him that you can do this with 40 lines of
Lisp. This isn't going to convince him. Now go to a team of C++
programmers with 10 million lines of code that is such a tangle of
includes and dependencies that it takes a day to compile on an Ultra
10. Give them a demonstration that you can redefine a class in the
listener, write an update function and have the existing instances in
your system consistent with the new definition, and you'll have their
attention.
But it takes a few years of experience of other languages to
appreciate CL. The same thing goes on with the debate of pricing
(esp. Franz's). If you approach it from the hobbyist programmer's
point of view and compare the price of MS Visual
Whatever-it-is-called-these-days to a commercial Lisp, you'll find it
excessive. If you compare it to stuff from Platinum, Computer
Associates or Rational for Enterprise development it's cheap. Note
that these vendors don't target the home market at all. It is in fact
a significant contribution to the Lisp community by Franz and Xanalys
to make available trial versions. Some people here tend to assume they
have a right to them and for them to be free, but these projects cost
real money to Franz and Xanalys.
Lastly, on the lack of libraries, I'd like to suggest to the people
that complain about it to write some and make them available. Some
complainers seem to think it their right to demand such things from
the people who use CL to write applications. Even setting issues of
intellectual property aside, making available code to the public has a
real cost. But even on the availability of libraries, the comparison
should be made carefully. There is in the {Perl, Python, Java, ...}
community a plethora of libraries for the more simple things like
HTTP, SMTP etc. This stuff is so trivial in CL that I usually roll my
own since looking for a library, evaluating the licence, compiling it
and getting it integrated in my environment would take longer than
just writing it myself. On the other hand, libraries for somewhat more
complex stuff are rare in any language since they take a lot of
work. I'm not aware of too many libraries for z39.50 or free asn.1
compilers or stuff like that.
--
Lieven Marchand <m...@bewoner.dma.be>
Lambda calculus - Call us a mad club
To re-iterate my points, and I want to say Rainer, that your previous
points were well-taken (in particular re:the filesystem).
1) Lisp may never really well take off like say, Python, if the
public doesn't get a free implemetation that they feel and perceive to be
more or as powerful as Python. This means whipping up a GUI in short order
that will without fuss be portable, handsome/eyecatching, easily
maintained, etc.
2) Lisp has to fight an uphill Public Relations battle at this
point that a new language like Python doesn't. Lisp is doing well
considering the years of apprehension and misunderstanding about it being
an ancient academic language.
3) Tutorials must be written (yes, with pretty screenshots, etc.)
that show a powerful Lisp in action, with colorful GUI's. I cannot
understress this point enough. Its human psychology to consider the "cool"
things to be handsome and colorful. Just Look at Tcl/Tk. As a language,
and how it performs-its terrible. But people look at Tk and think "that's
really attractive". Its sounds superficial, but its true, and, after all,
aesthetics ARE important. I still have a hard time imagining Lisp as being
a visually striking platform to code in. Most people do. Again you could
argue with me, but you'd be wrong because you'd be blind to the hard
numbers of where people are looking (Java, Tcl/Tk, Python)
I'll take this up later....gotta go now.
-Aaron
On Sun, 26 Nov 2000, Patrick W wrote:
>
> "Rainer Joswig" <jos...@corporate-world.lisp.de> wrote in message
> news:joswig-B476C1....@news.is-europe.net...
> > In article <BkKT5.45138$SF5.8...@ozemail.com.au>, "Patrick W"
> > <mai...@my-deja.com> wrote:
> >
> > > Would you step back a bit and look at the context of the discussion? I
> > > notice you've got a Lisp machine on your home page, so is it a fair
> > > assumption you've been around Lisp for a long time? I'm assuming you
> know
> > > what a great language it is, you're comfortable with the tools you use,
> and
> > > you're confident in your ability to make Lisp do whatever you desire.
> John
> > > Mallery's fearlessness must have come from a similar confidence. It's
> not
> > > something that one would or could do having only a passing acquaintance
> with
> > > Lisp.
> >
> > But I started somehow sometime, writing my share of Pascal, Basic,
> > Assembler and Modula 2.
>
> Of course. I'm not suggesting you old-timers had all the breaks and life's
> so much tougher than it used to be. In a lot of ways beginners today have it
> much easier - but they're pampered with the wrong luxuries - like junk
> food - plenty of fat but no real nourishment.
>
> > > Having more people like John Mallery would be a nice side effect of
> making
> > > Lisp more accessible to new generations of programmers.
> >
> > Maybe it is also the other way round? "The new generation of programmers"
> > needs to be more accessible?
>
> Sure. I wouldn't argue with that. However, it's not one or the other. It's
> both.
>
> > > But if 1% of those who pick up on Lisp are enthusiastic and talented,
> there
> > > will be progress - in tools, literature, community, momentum, public
> > > profile.
> >
> > Much of what others want to achieve, is already there. But maybe not
> > in a way they expect.
>
> Fair comment. But IMO the current state of affairs is dangerously close to:
> "much of what others want once was there, and still may be if you look hard
> enough".
>
> > If people feel the need for (new) tools, literature, community. etc.
> > I'd say, go ahead. Create tools, write books, build a community.
> > You can't expect me to do it for you. I have my own agenda
> > and write my own tools.
>
> A bit more vibrant community wouldn't be a bad thing. I know that's anathema
> to some of you guys, but the attitude in c.l.l. sometimes reminds me of a
> clan of rich retirees languishing in luxury in an exclusive suburb. If
> someone under thirty arrives you can almost people muttering: "There goes
> the neighbourhood".
>
> > There is also no need to discover and use Lisp. Many programmers can
> > get along and can survive without ever touching it. Other
> > programming languages and tools are also productive.
> > There is no obvious need to drive a Mercedes. But those
> > who did will know that it is well-engineered and reliable.
>
> And the rarer the Mercedes, the better you enjoy yours hmm? ;-)
>
> >... people would get the impression
> > that there are no books about Lisp - they look into their
> > bookstore and they see hundred books about Java and maybe none
> > about Lisp. They just need to discover that one can order books
> > and there are book catalogs that one can browse. They also
> > need to discover that there is a thing called the Internet,
> > where some of the most important Lisp books are available (CLtL2,
> > ANSI CL HyperSpec, ...) in various formats.
>
> True, the books are few - but of a standard you don't find elsewhere.
> (Norvig's PAIP is worth more than any number of C++ books I've bought).
>
> > What they need to be? They need to be programmers in the first
> > place. Having written 5KLOC of Python doesn't make you a programmer.
> > Much of the source code you can see at Sourceforge scares me,
> > it is of incredible poor quality and I wouldn't let it into
> > my software. Just writing it again gives me much more confidence
> > in the code. I would agree with Peter Norvig's observations
> > (http://www.norvig.com/21-days.html) and his motto:
> > "Teach Yourself Programming in Ten Years".
>
> Yes, an interesting article. It concurs with my experience in other fields.
>
> > Lisp is the Zen way of Programming.
>
> Eh? Vague? Unpredictable? Mind-bendingly illogical? Without structure?
> Inscrutable? Liable to whack you over the head with a thick stick at any
> moment? Jesus, man, what sort of software you creating?? ;-)
>
>
>
>
> wrote with the languages I mentioned, but I cannot find a Lisp library
> that provides basic networking facilities that are needed to write the
> type of programs I want to. I looked at clocc
> <http://clocc.sourceforge.net>, but it has almost no documentation or
> examples that come with it, and I cannot get it to work. I found many
Part of the reason why you don't find much documentation included with
CLOCC is that the project is still relatively young--about 9 months, if I
remember well. Simply put, there are currently few resources for writing
documentation or examples.
As for CLOCC basic networking facilities, I suggest that you look at
src/port/net.lisp, particularly the function names (mostly
self-explanatory), the lambda lists and the documentation strings. Since
the file is short--around 350 lines--you may also try reading the code
itself. For examples of use check src/cllib/url.lisp. At times beginners
overestimate the difficulties of reading source code.
Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/
> better job of understanding my points here. I don't mean to insult Lisp,
> but merely wish to discuss some of the potential reasons why it isn't more
> popular than it should be.
You make the assumption that "it should be popular". Why? You are
talking about Lisp in general (which is popular) or about
Common Lisp?
> You may not agree that it isn't popular, but if
> you said that, I'd say you are living in isolation, perhaps working for
> one of the few companies that DOES use Lisp.
No, I'm not simply working for a company that does use Lisp.
If necessary, I make the company use Lisp.
> 1) Lisp may never really well take off like say, Python,
Look, there are areas where Python not even comes close to Lisp.
You are bound to this scripting is programming thing.
> 3) Tutorials must be written (yes, with pretty screenshots, etc.)
> that show a powerful Lisp in action, with colorful GUI's.
See David Lamkins presentation of Macintosh Common Lisp.
See some screenshots of MCL applications on my tiny web site.
> and how it performs-its terrible. But people look at Tk and think "that's
> really attractive".
Then we have a different idea about "attractiveness". The latest
thing that looks relatively attractive is the new MacOS X GUI.
Compared to that most of the stuff out there is UGLY. Plain UGLY
and ANCIENT.
> aesthetics ARE important. I still have a hard time imagining Lisp as being
> a visually striking platform to code in.
See the Sk8 and Igor Engraver screenshots on my web site
(a version of Igor Engraver will be available from Noteheads
for Windows soon - doing cross-platform development for an
application with extreme graphics/font demands using Macintosh
Common Lisp and LispWorks for Windows).
Go to www.wingededge.com and look at the screen shots of Mirai
(an Allegro Common Lisp application). This is as mindblowing as it
gets. Or read a bit about the hundred projects that were done with Sk8:
http://www.cwi.nl/~steven/sigchi/bulletin/1998.2/spohrer.html
See some screenshots of an application called "Eon":
http://www.cs.umass.edu/~tmurray/papers/JLSEon/JLS96.html .
There are lots of examples of highly visual applications
done in Lisp. You just don't know it. Nobody told you.
And you didn't look.
> Most people do. Again you could
> argue with me, but you'd be wrong because you'd be blind to the hard
> numbers of where people are looking (Java, Tcl/Tk, Python)
I'm very fond of visual appeal when it comes to programming, that's
why I most of the time use a Mac. Look&feel is simply so much
better than the Java/Python/TCL/PERL GUI crap.
> A beginning programmer with his shining new C++ compiler and GUI
> toolkit reads the tutorial, writes 100 lines of code and has a small
> graphical application with an edit widget, some buttons and an
> image. Now you show him that you can do this with 40 lines of
> Lisp. This isn't going to convince him. Now go to a team of C++
> programmers with 10 million lines of code that is such a tangle of
> includes and dependencies that it takes a day to compile on an Ultra
> 10. Give them a demonstration that you can redefine a class in the
> listener, write an update function and have the existing instances in
> your system consistent with the new definition, and you'll have their
> attention.
Probably they just won't believe you that it's possible. That would mean
they had wasted their life and that's hard to admit. "And anyway",
they'd add to reassure themselves, "if it were possible, it would surely
have been something someone would have made noise about long before now.
No, probably it's just smoke and mirrors and not serious technology I can
gamble 10 million lines of code on."
Are you referring to ANSI Common Lisp, the Standard, when you make
these claims? If so, do you consider standardization of a language to
be a negative aspect of its usability? In other words, would you
rather use an unstandardized language with many useful bells and
whistles over a standardized language with many useful, unstandardized
bells and whistles?
All too many of those who complain about Common Lisp have very little
idea what they can do with the language in the available environments,
and seem awfully preoccupied with specific (free) implementations and
what they can do, just like they are willing to use one-implementation
"languages" in ways they _claim_ they would never use a standardized
language, so one must assume that they have some sort of weird hangup
against implementation-specific features unless there is only _one_
implementation.
| I love Lisp, but there are things that I would never attempt with it
| that I would do in a snap with Python (actually a great language).
I'm extremely wary of people who say "I love Lisp, but ...".
There is _nothing_ I would not write in Common Lisp, because just like
Python and whatever other "great" tools are out there, somebody had to
write them and they chose a to build a _language_ to make that tool.
Well, guess what? Common Lisp is the language-building language par
excellence. Why do you need a whole new syntax and cruft just to add
a few nice pieces? That's just an insane abuse of scarce resources,
and a completely misguided notion of "competition".
| I could use TK or WxPython to design a GUI frontend to my functions in
| less than an hour.
Good for you! Have you tried Allegro CL's GUI builder?
| Java, Python, Perl, Tcl/Tk etc. also are "web aware", i.e. they
| acknowledge that for a language to be "hot", it has to appeal to the
| web-using public, and be usable for the web by the web-using public.
Only Java is web-aware qua language as far as I can tell. The rest
have some software written _in_ their language that could make a claim
to being web-aware, but qua language? No way!
You are not really talking about languages, Aaron, but about tools.
If you insist on comparing tools with languages, languages must lose.
An application with an input language that can modify its behavior is
very different from a full-blown programming language with a separate
specification from its implementations, plural.
| When Lisp gets its elegance across, as well as having easy access to
| all the things people like about things like Tcl/Tk, Java, Perl,
| Python; and not just obscure kits like Garnet, etc.
So what's wrong with the _language_ Common Lisp because of this?
| There's only one Python, Perl, and Tcl/Tk, and that helps them stay
| central and release one version of the language--not the fragmented
| state of affairs that both Lisp as a language and Linux as an OS
| suffer.
And what would happen if you added all the stuff that you want to
Common Lisp? I cannot see how it could possibly lead to _less_
fragmentation. You would not use the software written in Common Lisp
if it were there because it is not part of the language (standard),
and so there is no way for Common Lisp to overcome that "I love Lisp,
but" stand that you have chosen to take, is there?
Where, exactly, did you look before you decided what Lisp is missing?
The _only_ way you can get better able to use Common Lisp is, *gasp*,
to _use_ Common Lisp, just like someone decided to _use_ Python, Perl,
etc. If some hypothetical "I love Perl, but ..." crowd had complained
like you do, _nothing_ of what you apparently like about these tools
would ever have happened. Why do these people just get the work done?
Is it because do _not_ "love" their languages? Why is it OK to use
"love" for Common Lisp as an excuse _not_ to use it?
#:Erik, seriously annoyed.
--
Solution to U.S. Presidential Election Crisis 2000:
Let Texas secede from the Union and elect George W. Bush their
very first President. All parties, states would rejoice.
This is exactly why the Rice PLT group chose wxWindows for their
"MrEd" <URL:http://www.cs.rice.edu/CS/PLT/packages/mred/index.html>
GUI application toolkit (upon which the "DrScheme" development & teaching
environment is built). MrEd runs on all of Windows 95/98/NT/2000, MacOS,
and Unix/X (including Linux here as a "Unix").[*] It provides:
- A windowing toolbox for creating windows and menus
- A drawing toolbox for drawing to windows, bitmaps,
and printer devices
- An editor toolbox for creating multimedia editors
MrEd's GUI toolbox is integrated with a thread system.
MrEd dispatches each GUI event to the handler thread via
synchronous (single-threaded) callback procedures, but
MrEd also supports multiple eventspaces, which permit
asynchronous (multi-threaded) event handling among
different sets of windows.
MrEd's underlying Scheme engine, "MzScheme", provides a fairly typical
interface to TCP/IP networking, so hooking a Common Lisp application
to a MrEd-based GUI over sockets should be relatively straightforward.
The *real* question is going to be the protocol between the CL application
and a MrEd-based GUI. I don't mean the syntax -- you can certainly use
S-exprs & READ [though one would of course want to stick to the common
subset of the CL & Scheme S-exprs syntaxes] -- I mean the semantics.
There's the inevitable question of trading off simplicity of interface
(which many presume to equate with portability, though that's really a
*different* issue) versus exposing the full functionality (or most of it)
of the backend GUI. Look at this and you'll see what I'm talking about:
<URL:http://www.cs.rice.edu/CS/PLT/packages/doc/mred/index.htm>
The good news is that there's a lot more than Tk there.
The bad news is that there's a lot more than Tk there. ;-} ;-}
+---------------
| I would prefer a very simple approuch like LispWorks CAPI (or simpler
| for the beginnigs). IMHO if we concentrate on simplicity we could
| have it in _very_ short time.
+---------------
Suggestion: Start by defining the protocol. Then publish it for comments.
-Rob
[*] While MzScheme itself does run on BeOS [and even on "bare" x86
PCs, as a kernel based on Utahs' "OSKit"], unfortunately MrEd doesn't,
at least not as distributed. If, as you say, wxWindows *does* run on
BeOS, it might be possible to port MrEd fairly straightforwardly
(though note that the wxWindows which MrEd uses has diverged somewhat
from Julian Smart's original version).
-----
Rob Warnock, 31-2-510 rp...@sgi.com
Network Engineering http://reality.sgi.com/rpw3/
Silicon Graphics, Inc. Phone: 650-933-1673
1600 Amphitheatre Pkwy. PP-ASEL-IA
Mountain View, CA 94043
For myself, I'd rephrase it thus:
> Some Common Lisp beginners have very little
> idea what they can do with the language in the professional quality
> commercial environments, and seem more concerned initially with (free)
> implementations and what they can do ... so one must assume that they
> prefer to avoid being dependent on company-specific features when
they're
> getting started.
On Sat, 25 Nov 2000, Rainer Joswig wrote:
> Look, there are areas where Python not even comes close to Lisp.
> You are bound to this scripting is programming thing.
>
Scripting is a proper subset of programming, yes. Python is considered a
"programming language" , as is Perl, etc. Your point? BTW, have you ever
even tried Python? You strike me just as a pure Lisp zealot who won't
accept any critical observations. Don't you have a wish list for Lisp, at
all? Perhaps you don't care whether its free or not? Perhaps you don't
care whether more people use it? I care that more people use it, because
the more people use it, the more its developed, and more money goes into
it (e.g. JAVA) Python has its limitations, yes. Most languages do,
including Lisp. Lisp is great, but its not the fucking holy grail.....
> > 3) Tutorials must be written (yes, with pretty screenshots, etc.)
> > that show a powerful Lisp in action, with colorful GUI's.
>
> See David Lamkins presentation of Macintosh Common Lisp.
> See some screenshots of MCL applications on my tiny web site.
>
The web site you have is really quite slow. Just curious, what's it
running on?
I have to say honestly, I'm really not impressed. Flat 2D look, like the
system was from 1983 or something. The Window themes are what Macintosh
stole from the Linux community (IceWm), only they look much cooler in
Linux.
> Then we have a different idea about "attractiveness". The latest
> thing that looks relatively attractive is the new MacOS X GUI.
> Compared to that most of the stuff out there is UGLY. Plain UGLY
> and ANCIENT.
>
And your screenshots don't. Have a look at www.gnome.org, or
www.enlightenment.org for some real look&feel....
> Go to www.wingededge.com and look at the screen shots of Mirai
> (an Allegro Common Lisp application). This is as mindblowing as it
> gets.
Fairly decent. I hope not as mindblowing as it gets though. Still pretty
good.
> Or read a bit about the hundred projects that were done with Sk8:
> http://www.cwi.nl/~steven/sigchi/bulletin/1998.2/spohrer.html
> See some screenshots of an application called "Eon":
> http://www.cs.umass.edu/~tmurray/papers/JLSEon/JLS96.html .
> There are lots of examples of highly visual applications
> done in Lisp. You just don't know it. Nobody told you.
> And you didn't look.
Now I did, and I must say my initial impression remains. Lisp could look
much slicker....
> I'm very fond of visual appeal when it comes to programming, that's
> why I most of the time use a Mac. Look&feel is simply so much
> better than the Java/Python/TCL/PERL GUI crap.
I think the Mac, although it kind of started the GUI pc thing, has since
really fallen behind the FREE desktops that the Open Source community has
come up with. Notice now that Mac realizes this, they are going to steal
FreeBSD ideas for OS X. Open Source is the best thing that ever happened
to software, and I think the Lisp companies would do well to get with the
spirit of it. Mac will be taking the step. I don't really fucking care if
windows does or not.
-Aaron.
On 25 Nov 2000, Erik Naggum wrote:
> * "Aaron K . Johnson" <a...@21stcentury.net>
> | It occurs to me that lesser languages like Java, etc. succeed in the
> | modern world where Lisp seems like a computer science lesson from days
> | of old because they have, or are perceived to have, an easy way to
> | write/design a GUI, and to integrate well with low-level OS
> | libraries/functions.
>
> Are you referring to ANSI Common Lisp, the Standard, when you make
> these claims? If so, do you consider standardization of a language to
> be a negative aspect of its usability? In other words, would you
> rather use an unstandardized language with many useful bells and
> whistles over a standardized language with many useful, unstandardized
> bells and whistles?
>
Ok, I'll answer: I want standards and "bells and whistles"
I refer you to http://www.lib.uchicago.edu/keith/crisis/crisis.html I
understand this man's sentiment. He says "...the programming languages I
like I feel I can't use". I DO want to use Lisp more. Its syntax (or lack
of it)is just plain superior. See also , in relation to Python:
http://www.strout.net/python/pythonvslisp.html A very fair assessment is
made, I think, of the strengths and weaknesses of both.
> All too many of those who complain about Common Lisp have very little
> idea what they can do with the language in the available environments,
> and seem awfully preoccupied with specific (free) implementations and
> what they can do, just like they are willing to use one-implementation
> "languages" in ways they _claim_ they would never use a standardized
> language, so one must assume that they have some sort of weird hangup
> against implementation-specific features unless there is only _one_
> implementation.
>
Just what language are you trying to insult here? I LIKE Lisp, but I'm
starting to find from a couple of people some religious zealot knee-jerk
reaction to ANY commentary about some potential problems it has to
overcome. I do have a problem with shelling out serious dough for a more
powerful Lisp , yes, and I'm just observing that for all of Lisp's
wonderful syntactical elegence, its a shame that it can't be more than it
is in the public eye. This is not a language war, at least I didn't intend
it to be. I guess Lisp zealots just get infuriated when they hear anything
good about any other language that they might learn from. Python (for
example) learned from Lisp. Now, its Lisp's turn to learn from Python,
which is winning the popular vote. I keep bring up Python, and I want to
say in advance, I'm not trying to provoke a language war. please keep the
tone cordial. So don't write belligerent responses like "Oh yeah, well
take that Python scripting pseudo-language and shove it up your -----" :)
> I'm extremely wary of people who say "I love Lisp, but ...".
>
> There is _nothing_ I would not write in Common Lisp, because just like
> Python and whatever other "great" tools are out there, somebody had to
> write them and they chose a to build a _language_ to make that tool.
> Well, guess what? Common Lisp is the language-building language par
> excellence. Why do you need a whole new syntax and cruft just to add
> a few nice pieces? That's just an insane abuse of scarce resources,
> and a completely misguided notion of "competition".
>
> | I could use TK or WxPython to design a GUI frontend to my functions in
> | less than an hour.
>
> Good for you! Have you tried Allegro CL's GUI builder?
>
I'd be happy to. Wanna write me the check for the cost?
> You are not really talking about languages, Aaron, but about tools.
> If you insist on comparing tools with languages, languages must lose.
> An application with an input language that can modify its behavior is
> very different from a full-blown programming language with a separate
> specification from its implementations, plural.
>
Ok, so I'm talking about tools....then where the f**k are all those cool
Lisp tools that other languages seem to have for no cost and active
development? Am I getting this wrong here? Is Lisp pro-or-anti Open
Source?
> | When Lisp gets its elegance across, as well as having easy access to
> | all the things people like about things like Tcl/Tk, Java, Perl,
> | Python; and not just obscure kits like Garnet, etc.
>
> So what's wrong with the _language_ Common Lisp because of this?
>
Nothing.
> | There's only one Python, Perl, and Tcl/Tk, and that helps them stay
> | central and release one version of the language--not the fragmented
> | state of affairs that both Lisp as a language and Linux as an OS
> | suffer.
>
> And what would happen if you added all the stuff that you want to
> Common Lisp? I cannot see how it could possibly lead to _less_
> fragmentation. You would not use the software written in Common Lisp
> if it were there because it is not part of the language (standard),
> and so there is no way for Common Lisp to overcome that "I love Lisp,
> but" stand that you have chosen to take, is there?
>
> Where, exactly, did you look before you decided what Lisp is missing?
>
The CMU repository for one. The Association of Lisp users. The Johns
Hopkins site. Shall I continue? Most of the GUI tools have stopped being
developed in 1992 or so. NOT an acceptable state of affairs for the
world's hippest language. Read the article "Good News, Bad News, and How
to Win Big". By Richard Gabriel, of Lucid
http://www.ai.mit.edu/docs/articles//good-news/good-news.html
In it he says:
"The real problem has been that almost no progress in Lisp environments
has been made in the last 10 years."
He also says:
"Retain the High Ground in Environments
I think there is a mistake in following an environment path that creates
monolithic environments. It should be possible to use a variety
of tools in an environment, and it should be possible for those who create
new tools to be able to integrate them into the environment.
I believe that it is possible to build a tightly integrated environment
that is built on an open architecture in which all tools, including
language processors, are protocol-driven. I believe it is possible to
create an environment that is multilingual and addresses the
software lifecycle problem without imposing a particular software
methodology on its users.
Our environments should not discriminate against non-Lisp programmers the
way existing environments do. Lisp is not the center of
the world. "
> The _only_ way you can get better able to use Common Lisp is, *gasp*,
> to _use_ Common Lisp, just like someone decided to _use_ Python, Perl,
> etc. If some hypothetical "I love Perl, but ..." crowd had complained
> like you do, _nothing_ of what you apparently like about these tools
> would ever have happened. Why do these people just get the work done?
> Is it because do _not_ "love" their languages? Why is it OK to use
> "love" for Common Lisp as an excuse _not_ to use it?
>
> #:Erik, seriously annoyed.
> --
Don't be annoyed. Peace, man. I'm not the enemy. Just conversing. Don't
get zealous.
> Solution to U.S. Presidential Election Crisis 2000:
> Let Texas secede from the Union and elect George W. Bush their
> very first President. All parties, states would rejoice.
>
I like that idea. Bush can take the whole fucking South, too.
Regards,
-Aaron
> ... I do have a problem with shelling out serious dough for a more
> powerful Lisp , yes, and I'm just observing that for all of Lisp's
> wonderful syntactical elegence, its a shame that it can't be more than it
> is in the public eye. [...]
> Erik> Good for you! Have you tried Allegro CL's GUI builder?
>
> I'd be happy to. Wanna write me the check for the cost?
I started to write a long reply to this but it mostly came down to this:
Beggars can't be choosers.
You seem to think we can't take criticism, but the truth is that the
criticisms you raise are well known and tedious to hear from people
who have nothing to offer in the way of time or money. Some of us have
devoted our entire lives to getting things as far as they are. When
you criticize things with a tone that suggests you expect us to slap our
foreheads and say "oh my god, we forgot about gui's" or "damn it, why didn't
we think of giving software away for free?", you seriously underestimate
the very real obstacles to the kind of world you are asking for.
Oh, and by the way, if you think it's so easy to build a large, professional
quality system--perhaps a Lisp implementation, or "just" a GUI builder--and
then give it away for free, please do it. I'm sure we'll all welcome your
very generous offer. But if you can't bring yourself to expend such energy
and then take no compensation for it, don't be so quick to suggest that
others should.
So you don't have a language issue, you have a poverty issue.
I suggest you find a street corner and cry "just which language are
you trying to insult" to passers-by who don't give you a nickel.
That'll make them about as positive to your requests as I am now.
| Don't be annoyed. Peace, man. I'm not the enemy. Just conversing.
| Don't get zealous.
You're underestimating both of us, now. Don't do that.
| I like that idea. Bush can take the whole fucking South, too.
:)
#:Erik
--
I don't see your point. Python is easily embeddable so why don't you link a
Python interpreter into your Lisp?
You could then use the packages you want. As it has already been pointed
out, Lisp is quite good in generating code.So you could easily write Lisp
code that writes Python code.
You could also write a read-eval loop in Python over a socket and call it
from Lisp. It's quite easy.
> See also , in relation to Python:
> http://www.strout.net/python/pythonvslisp.html A very fair assessment is
> made, I think, of the strengths and weaknesses of both.
Hum, if I use his grid with the correct values for Lisp, guess who wins ;-)
Here is a better article on the same topic from Peter Norvig :
http://www.norvig.com/python-lisp.html
Marc
>But it takes a few years of experience of other languages to
>appreciate CL. The same thing goes on with the debate of pricing
>(esp. Franz's). If you approach it from the hobbyist programmer's
>point of view and compare the price of MS Visual
>Whatever-it-is-called-these-days to a commercial Lisp, you'll find it
>excessive.
Xanalys and Digitool's pricing and licensing _is_ "little-guy"
friendly. Two out of three. This comparatively high pricing affaire isn't a
generic CL's issue...
> Just what language are you trying to insult here? I LIKE Lisp, but I'm
> starting to find from a couple of people some religious zealot knee-jerk
> reaction to ANY commentary about some potential problems it has to
> overcome. I do have a problem with shelling out serious dough for a more
> powerful Lisp , yes, and I'm just observing that for all of Lisp's
> wonderful syntactical elegence, its a shame that it can't be more than it
> is in the public eye. This is not a language war, at least I didn't intend
> it to be. I guess Lisp zealots just get infuriated when they hear anything
> good about any other language that they might learn from. Python (for
> example) learned from Lisp. Now, its Lisp's turn to learn from Python,
> which is winning the popular vote. I keep bring up Python, and I want to
> say in advance, I'm not trying to provoke a language war. please keep the
> tone cordial. So don't write belligerent responses like "Oh yeah, well
> take that Python scripting pseudo-language and shove it up your -----" :)
Winning the popular vote is of limited significance. The important
question is where will Python/Perl/Java be in 10 years? How stable
are they? What will happen to all the Wonderful New Things written in
the above languages? I suspect once these languages become old, most of
their users will move on to the next New Generation languages.
I'll be interested these languages once the specs are ISO'ed, the
languages are stable and the compilers have been around for 5 or 10
years. If they're not going to last that long, why bother? It takes
a long time to become good at a language.
Some implementations of Lisp may lack some native tools found with the
new languages but thats not the point. As I (imperfectly,
incorrectly) understand it, Lisp is more about solving hard problems
more easily- which is where the design of the language itself is so
critical- than easy problems like creating the latest generation of
widgets, skins, etc.
What things should Lisp learn from Python then?
> > You are not really talking about languages, Aaron, but about tools.
> > If you insist on comparing tools with languages, languages must lose.
> > An application with an input language that can modify its behavior is
> > very different from a full-blown programming language with a separate
> > specification from its implementations, plural.
> >
>
> Ok, so I'm talking about tools....then where the f**k are all those cool
> Lisp tools that other languages seem to have for no cost and active
> development? Am I getting this wrong here? Is Lisp pro-or-anti Open
> Source?
It also might be that serious Lisp development can be done <without>
all these wonderful things. But, please be more specific about what
tools Lisp is missing. I mean important tools, like debugging,
profiling, etc... a GUI is more of a personal preference, but
everybody needs a debugger.
Lisp is plenty open source. There are several Lisp distributions you
can download. Following classic tradition, you are completely free to
add whatever features you want and contribute them back to the
community.
Gregm
On Sun, 26 Nov 2000, Kent M Pitman wrote:
> "Aaron K . Johnson" <a...@21stcentury.net> writes:
>
> > ... I do have a problem with shelling out serious dough for a more
> > powerful Lisp , yes, and I'm just observing that for all of Lisp's
> > wonderful syntactical elegence, its a shame that it can't be more than it
> > is in the public eye. [...]
>
> > Erik> Good for you! Have you tried Allegro CL's GUI builder?
> >
> > I'd be happy to. Wanna write me the check for the cost?
>
> I started to write a long reply to this but it mostly came down to this:
> Beggars can't be choosers.
>
> You seem to think we can't take criticism, but the truth is that the
> criticisms you raise are well known and tedious to hear from people
> who have nothing to offer in the way of time or money. Some of us have
> devoted our entire lives to getting things as far as they are. When
> you criticize things with a tone that suggests you expect us to slap our
> foreheads and say "oh my god, we forgot about gui's" or "damn it, why didn't
> we think of giving software away for free?", you seriously underestimate
> the very real obstacles to the kind of world you are asking for.
>
> Oh, and by the way, if you think it's so easy to build a large, professional
> quality system--perhaps a Lisp implementation, or "just" a GUI builder--and
> then give it away for free, please do it. I'm sure we'll all welcome your
> very generous offer. But if you can't bring yourself to expend such energy
> and then take no compensation for it, don't be so quick to suggest that
> others should.
>
In truth, I'm sorry to have insulted. It wasn't intentional, and I do want
to avoid yet another usenet flame thread!
I guess my reply is simply that I'm curious as to why there is such good
software out there for free if the economic model of Open Source Free
Software is so wrong? Why are Linux and FreeBSD so much better than
windows, and cost the price of a CD?
Secondly, for what my limited experience and time are worth, I'd be very
open to picking up a shovel and coding in the trenches. Any one else care
to set up a project? Perhaps a web page that agressively touts Lisp as the
strong language of the past, and most importantly the FUTURE.
Yes, I do still think that Lispers need more PR, and the successes need to
be hyped, and momentum needs to be built. I certainly don't mean to
deflate any of you who have devoted so much effort. So thanks.
Regards,
Aaron.
On 26 Nov 2000, Erik Naggum wrote:
> * "Aaron K . Johnson" <a...@21stcentury.net>
> | Wanna write me the check for the cost?
>
> So you don't have a language issue, you have a poverty issue.
>
> I suggest you find a street corner and cry "just which language are
> you trying to insult" to passers-by who don't give you a nickel.
> That'll make them about as positive to your requests as I am now.
>
I didn't throw the first punch, but you just did. So let me reiterate. I'm
just asking for your thoughts about why Lisp is where it is inrelation to
other language in terms of popularity, use, cost, active development
(i.e. GUI tools that are less than 8 yrs. or so old, etc.) No need to be
nasty.
> | Don't be annoyed. Peace, man. I'm not the enemy. Just conversing.
> | Don't get zealous.
>
> You're underestimating both of us, now. Don't do that.
>
> | I like that idea. Bush can take the whole fucking South, too.
>
> :)
>
> #:Erik
> --
> Solution to U.S. Presidential Election Crisis 2000:
> Let Texas secede from the Union and elect George W. Bush their
> very first President. All parties, states would rejoice.
>
A copy of a reply to Kent Pitman, but worth saying again:
>
>I'll be interested these languages once the specs are ISO'ed, the
>languages are stable and the compilers have been around for 5 or 10
>years. If they're not going to last that long, why bother? It takes
>a long time to become good at a language.
I should jump in here. Perl will not be standardised. Larry Wall
desires very much that it be a "living language." So in ten years
there will still be a Perl, but it may not be friendly to scripts
written today. Specifically the unpopular bits will be gone, and any
newly fashionable paradigms emerging will be embraced. It's the
difference between Latin and English, and neither is bad for lacking
qualities of the other.
And while I'm here, Lisp doesn't need to beat Java. Lisp doesn't have
a sense of competition. So any discussion can only be totally
subjective. Personally, whether Lisp becomes popular is of little
interest, and if they start writing Java-like (GUI, 'components',
blah... i.e. buzzword compatible) programs with it they won't be much
use to me. That's what I have Perl for.
nerkul
> I guess my reply is simply that I'm curious as to why there is such good
> software out there for free if the economic model of Open Source Free
> Software is so wrong? Why are Linux and FreeBSD so much better than
> windows, and cost the price of a CD?
Money doesn't come from nowhere. You have to have something ELSE to get
your money from.
Sun sells iron, for example. That's how it could afford to subsidize the
creation of Java. I was darned surprised they didn't roll out Java hardware
to finally pay for the huge expenditure on Java. Maybe they found some other
way to make money, or maybe they still operate Java at a loss, I don't know.
But the point is that they surely had to take a huge loss up front for years
while conditioning the market to Java, and there is no Lisp vendor that can
afford such a hit.
Gnu sells support, for example. And it's not doing so well financially.
It could hardly be called an economic success. Moral success? Sure. You
can always be a hero by making something of value and giving it away. But
all my interactions with Stallman over the years show him to be extraordinarily
frightened of not having a revenue stream in the future. Redhat? Well,
personally I think it remains to be seen if they have a stable business model
or if they've given away the store by allowing other vendors to copy their
stuff. Sure, there's a huge market of linux stuff out there, but is it just
feeding on the generosity of others or will it eventually cannibalize the
source? I personally think the jury's still out. Yes, Lisp developers
could go after short term riches and then hope the thing has enough life to
just keep going after, but that's a big risk it will fall in the toilet
after. I'd like to see a sustainable model.
You can give away something if you plan to build a vertical market. For
example, if your company is switching to the next layer up. For example,
Harlequin or Franz could decide to be only an AI solutions company, and to
give away Lisp for free. This would be especially advantageous if it hoped
someone else would pick up Lisp and maintain it for them while they invested
in other areas, but then it begs the question of whether they can count on
it for the long run. And if they continue to maintain it, then the problem
comes that a key ingredient of their vertical power (their Lisp engine) is
free for others to take and use as a base to build competing vertical
products. That's dangerous as well. So this is a tricky strategy.
The last model I can think of is the market of people who make stuff and give
it away because they have no business sense. I'm sure there are lots of
people doing that and that people flock to them and say nice things about them
hoping they'll keep doing this. I mostly see this in younger people. As
people age, I think they get burned enough along the way, and they start to
better appreciate the value of the dollar or the relation of "work" to
"dollars" such that they want fair compensation for all they have contributed
and they become less willing to give it away. Sure, a few figure out how to
live cheaply and just always give things away, but that's hardly a model
of economic success either.
I guess my point is that the "market" will always find a way to make money
on just about anything. Any time money trades hands, there are winners and
losers. People make short-term money, sometimes very good money, without
investing in the long term economic health of the market. But if you have
a plan for Lisp to have a long-term sustainable business, rather than ask
the simplistic "why doesn't it work to give it away for free?" why not sit
around and figure out how many person-years go into building a quality product
and how much money is being given away up front. Then ask who can afford
to do that and what their chances of a good return are. The market is kind
of passing the point where it's willing to invest in new companies that only
lose money up front and is returning to traditional models of business that
make more sense. I think that's good. It doesn't mean no innovative solutions
can make money--it just means that being innovative is not a substitute for
being thoughtful. VC people want a 10fold return on their money in three
years. When you figure out how by giving away software you can get a 10fold
return on your money in three years, you might write it up as a business
plan and submit it to a VC outfit. If it makes sense, the fact that you are
poor will not impede you. They will fund you for sure and you'll be on your
way to rescuing us. If you can't get to the point of figuring out these
"little details", then you're at the point we're all at: the clear
understanding that it's tricky to make the transition.
Lisp is ESPECIALLY hampered because the kinds of things people mostly take
risks on in investment are "new" things. Lisp has to be reborn in disguise
to succeed. Some of us like it's tried-and-true nature and it serves us
as a community. Making it new might solve a short-term problem but also might
lose control of what it is out to do. (See my paper on Lisp as a political
party, at http://world.std.com/~pitman/PS/Lambda.html ) You can put lisp's
features into another language, but that may not make it Lisp. Or it may.
But it's tricky in any case. And meanwhile there are a lot of people who
think Lisp has had its time to succeed and has failed. Personally, my take
is rather different: I think people have had their chance to kill Lisp.
God knows they've tried very hard. The reason it doesn't die is that it
continues to offer features not available in other languages, and those
features continue to solve problems other languages don't. It will likely
survive until some language makes a sincere political commitment to care
about those issues--and if another language does, I frankly won't mind Lisp
dying. But it hasn't happened yet.
> Secondly, for what my limited experience and time are worth, I'd be very
> open to picking up a shovel and coding in the trenches. Any one else care
> to set up a project? Perhaps a web page that agressively touts Lisp as the
> strong language of the past, and most importantly the FUTURE.
This presupposes that Lisp's position must be evangelical. The fact is that
one reason Lisp doesn't succeed is partly that it's true that Java or C will
suffice fine for "hello world". One doesn't see the merit of Lisp until
very large applications, where the presuppositions of those other languages
break down. Then, often, Lisp will succeed. But people, because of so-called
"practice effects", prefer to use the language they started with and work
harder and harder to shoehorn their problems into that. THey don't reconsider
their language choice at the right time. So they don't switch. And mostly
they get by--or they get into such complexity they don't see clearly what
was holding them back. It's a very tricky problem since most people think
the kind of problems that Lisp solves are fairy-tale kinds of problems.
I think evangelizing the language is wrong. It just makes you fuss infinitely
against people who argue philosophically to no good end. What will make
Lisp succeed in the sense you want, if anything, is succesful applications.
Build something useful out of Lisp and sell it. WHen it makes money,
people will take note. (Incidentally, this is another reason not to go
open source. There are already open source lisps and (to round numbers)
no one took note. If there is a solution, it is down another path.)
> Yes, I do still think that Lispers need more PR, and the successes need to
> be hyped, and momentum needs to be built. I certainly don't mean to
> deflate any of you who have devoted so much effort. So thanks.
I don't see why this victory cannot be stealth. I think people will take
note if Lisp makes money. But if they don't, let's just all reap the rewards
of using Lisp and let them all wonder forever. I do think Lisp is hampered
by lack of some practical features. But by that I mean only that I personally
am hampered in my ability to get specific features from specific vendors.
That's not something we can legislate as a community. It's something
each vendor has to decide for themselves--which customer is "typical" for
the market segment they need to survive. IMO, the right thing to do is
largely to pester vendors for extensions you need to survive.
The community need is to standardize (formally or informally) those things
which are de facto agreed upon. If all vendors have a drawing interface,
and it's using the same model of relevant factors like brushes, cursors, etc.,
we should make it so you don't have gratuitously different interfaces.
If they all have processes in pretty much the same form, then common
interfaces help. But if only some offer gui builders, then it's premature
to say the community needs a gui standard. The right thing is to get
the vendors that are supporting real commercial work to put out what is
needed to support successes, and if that leads to gui builders all around,
let's standardize. But if it's only one vendor, a standard isn't needed and
will only hold things back. It's not until there is substantial agreement
among vendors that standards help.
> Scripting is a proper subset of programming, yes. Python is considered a
> "programming language" , as is Perl, etc.
With one implementation (mostly)? Without native code compilers?
Without a "standard"? With ever changing languages?
> all? Perhaps you don't care whether its free or not?
"free" is "good"? What is "free"? I don't really mind
to pay a few $ for a Lisp from a vendor. Cars are not "free",
using a bus is not "free", ... Actually being "free" is
not really an important criteria, atleast to me. More
important are things like "fun", "efficient", "fast",
"supported", "elegant", "stable", "effective", "available",
...
> Perhaps you don't
> care whether more people use it?
I do care about that. But I'm not interested in
making everybody use Lisp. There are enough alternatives.
If you look closely you will see that languages like
Python/Smalltalk/Dylan/Java/ML/... took quite some ideas from
Lisp, repackaged them and added other ideas. This
is all good.
I'm interested in a programming language that:
- allows exploratory programming
- allows application deployment
- is evolvable
- is efficient
- is stable
- is widely supported
- does support a wide variety of programming styles
- supports the implementation of higher level programming
and representation mechanisms
- does have tools for AI and Web programming
Common Lisp seems to fit the bill quite nicely.
Since other people have different needs, they will
come to a different list of priorities.
> The web site you have is really quite slow. Just curious, what's it
> running on?
Look, a web site can be "slow" because of several reasons.
The reason here is that it is my home machine behind
an ISDN 64k line.
> I have to say honestly, I'm really not impressed. Flat 2D look, like the
> system was from 1983 or something. The Window themes are what Macintosh
> stole from the Linux community (IceWm), only they look much cooler in
> Linux.
Well, I don't think the Mac community stole anything from Linux.
It might be the other way round.
> And your screenshots don't. Have a look at www.gnome.org, or
> www.enlightenment.org for some real look&feel....
I did. You know what the first thing is what I see:
ugly fonts. Really ugly fonts. No antialiasing, etc. If you
step back and look at the Gnome screenshots - they are really
ugly and primitive. This is all technologywise a decade behind
the Macs GUI mechanisms (from true system wide themes,
to a standard scripting architecture, application resources
are standardized, ...).
Well, finally I'd say people should stop complaining and
deliver something. What really impresses me more than
a well written tirade on Usenet is code. Real lines of
cool code.
This still impresses me most.
Rainer Joswig
> On 25 Nov 2000, Erik Naggum wrote:
>
> > * "Aaron K . Johnson" <a...@21stcentury.net>
> > | It occurs to me that lesser languages like Java, etc. succeed in the
> > | modern world where Lisp seems like a computer science lesson from days
> > | of old because they have, or are perceived to have, an easy way to
> > | write/design a GUI, and to integrate well with low-level OS
> > | libraries/functions.
> >
> > Are you referring to ANSI Common Lisp, the Standard, when you make
> > these claims? If so, do you consider standardization of a language to
> > be a negative aspect of its usability? In other words, would you
> > rather use an unstandardized language with many useful bells and
> > whistles over a standardized language with many useful, unstandardized
> > bells and whistles?
> >
>
> Ok, I'll answer: I want standards and "bells and whistles"
>
> I refer you to http://www.lib.uchicago.edu/keith/crisis/crisis.html I
> understand this man's sentiment. He says "...the programming languages I
> like I feel I can't use". I DO want to use Lisp more. Its syntax (or lack
> of it)is just plain superior. See also , in relation to Python:
> http://www.strout.net/python/pythonvslisp.html A very fair assessment is
> made, I think, of the strengths and weaknesses of both.
Yes. But... The guy has not programmed in Common Lisp since 1983 at
least :) and he has very little understanding of the true power of CL.
A case in point, he does not know about
(setf (subseq <a-sequence> <start> <end>) ....)
Being presented with the obvious complaint, he gave no answer. :)
Cheers
--
Marco Antoniotti =============================================================
NYU Bioinformatics Group tel. +1 - 212 - 998 3488
719 Broadway 12th Floor fax +1 - 212 - 995 4122
New York, NY 10003, USA http://galt.mrl.nyu.edu/valis
Like DNA, such a language [Lisp] does not go out of style.
Paul Graham, ANSI Common Lisp
> "Aaron K . Johnson" <a...@21stcentury.net> writes:
>
> > I guess my reply is simply that I'm curious as to why there is such good
> > software out there for free if the economic model of Open Source Free
> > Software is so wrong? Why are Linux and FreeBSD so much better than
> > windows, and cost the price of a CD?
>
> Money doesn't come from nowhere. You have to have something ELSE to get
> your money from.
>
> Sun sells iron, for example. That's how it could afford to subsidize the
> creation of Java. I was darned surprised they didn't roll out Java hardware
> to finally pay for the huge expenditure on Java. Maybe they found some other
> way to make money, or maybe they still operate Java at a loss, I don't know.
> But the point is that they surely had to take a huge loss up front for years
> while conditioning the market to Java, and there is no Lisp vendor that can
> afford such a hit.
They tried. I have seen (and tried to use) a JavaStation. It was
essentially the same stupid idea of the old SparcStations (diskless).
> "Aaron K . Johnson" <a...@21stcentury.net> writes:
>
> > On 25 Nov 2000, Erik Naggum wrote:
> >
> > > * "Aaron K . Johnson" <a...@21stcentury.net>
> > > | It occurs to me that lesser languages like Java, etc. succeed in the
> > > | modern world where Lisp seems like a computer science lesson from days
> > > | of old because they have, or are perceived to have, an easy way to
> > > | write/design a GUI, and to integrate well with low-level OS
> > > | libraries/functions.
> > >
> > > Are you referring to ANSI Common Lisp, the Standard, when you make
> > > these claims? If so, do you consider standardization of a language to
> > > be a negative aspect of its usability? In other words, would you
> > > rather use an unstandardized language with many useful bells and
> > > whistles over a standardized language with many useful, unstandardized
> > > bells and whistles?
> > >
> >
> > Ok, I'll answer: I want standards and "bells and whistles"
> >
> > I refer you to http://www.lib.uchicago.edu/keith/crisis/crisis.html I
> > understand this man's sentiment. He says "...the programming languages I
> > like I feel I can't use". I DO want to use Lisp more. Its syntax (or lack
> > of it)is just plain superior. See also , in relation to Python:
> > http://www.strout.net/python/pythonvslisp.html A very fair assessment is
> > made, I think, of the strengths and weaknesses of both.
>
> Yes. But... The guy has not programmed in Common Lisp since 1983 at
> least :) and he has very little understanding of the true power of CL.
> A case in point, he does not know about
>
> (setf (subseq <a-sequence> <start> <end>) ....)
>
> Being presented with the obvious complaint, he gave no answer. :)
This has been discussed in length on INFO-MCL years ago. People
have pointed out several weaknesses in hos comparison.
> Kent M Pitman <pit...@world.std.com> writes:
>
> > Sun sells iron, for example. That's how it could afford to
> > subsidize the creation of Java. I was darned surprised they
> > didn't roll out Java hardware to finally pay for the huge
> > expenditure on Java.
>
> They tried. I have seen (and tried to use) a JavaStation. It was
> essentially the same stupid idea of the old SparcStations (diskless).
I think that Sun's MAJC processor is closer to what Kent refer to.
JavaStation was a lame attempt at *java* station (microSparc is not
powerful enough), but unused JS make good cheap X-Terminals...
SY, Uwe
--
u...@ptc.spbu.ru | Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/ | Ist zu Grunde gehen
It's something like a battle management system for the US Army, IIRC.
> I was planning to take a look at it or Allegro serve. How would you
> compare both (features, documentation, performance...)? O:-)
CL-HTTP is not "free" in the RMS meaning (see its license). It
is portable, ported, and includes contributions like an XML
parser, HTML parser, etc. CL-HTTP itself includes web server,
client, web walker, proxy, etc. It is not the easiest code to
understand, but carefully written. I haven't used the code
from Franz, but it is "Open Source", supported "only" on ACL,
and of a simpler architecture.
> >deploy complex user interfaces. Have you ever looked at the Lisp course
> >(http://www.psychologie.uni-trier.de:8000/elmart) that's running
>
> Yes, and it's _really_ cool. :-)
CL-HTTP has been used in some tutoring projects. The guys
in Trier were especially productive, their technology is spreading:
http://www.psychologie.uni-trier.de:8000/projects/ELM/elm.html
http://apsymac33.uni-trier.de:8080/incops
http://cogpsy.uni-trier.de:8000/TLServ.html
http://cogpsy.uni-trier.de:8000/TEServ.html
http://www.net-coach.de/system/system.htm
http://www.sds-akademie.de/
Sent via Deja.com http://www.deja.com/
Before you buy.
First, I said the conditions were necessary but not sufficient. Second,
Apple did not exactly show a lot of commitment to pushing Dylan, axing the
project before it even reached the market with a commericial release.
-- Harley
> Beware of people who say "I love Lisp, but ...". They do not
actually
> love Lisp, they love getting great things for free,
Wow. so you've done a statistically relevant survey on the topic and
have found that for the most part, all those who begin their sentences
with 'I love Lisp, but . . . " also demonstrate a propensity for
getting everything for free? What a marvelous study. Can I see the
results? Oh, and could you also explain to me what in the world this
has to do with, well, ANYTHING?
and Lisp is great,
> so if they _could_ get it for free, they _would_ love it, but there
is
> no real love, because real love means commitment and people who do
not
> want to contribute time and money do not commit themselves to
whatever
> it is they claim to love.
Thanks for your words of wisdom about love, but I'd rather hear what you
have to say about Lisp.
> Just stop defending yourself, and you won't feel under attack,
either,
> but you make this what you want to make it, and I am unimpressed
with
> the way you choose to respond.
What about your responses? For a while now you have been making a rather
large amount of assumptions about my motives, beliefs, and behaviors,
which are both wrong and ancillary to the discussion at hand. Could you,
please, quit with the assumptions and just get on with the business of
discussing? This is getting tiresome. We all know by now that you possess
wit and intellect, and that you think you're of the few left on earth who
does. If that's the case, then perhaps your most precious time would be
better spent conversing with yourself. As for me, i'm interested in a
rousing discussion about Lisp (not love, not purchasing habits, not your
assumptions about my opinions on popularity, not politics, you get the
point, don't you?).
> You show us that what you really are
> about is getting other people's good stuff for free. I suggest you
> try a different approach.
>
ok, quit with the 'free' thing. it's over. you've made your point, and
since it doesn't pertain whatsoever to the discussion at hand, I suggest
you take your own suggestion and try a different approach. We would all be
better served.
Aaron
On 27 Nov 2000, Erik Naggum wrote:
> * "Aaron K . Johnson" <a...@21stcentury.net>
> | I guess my reply is simply that I'm curious as to why there is such
> | good software out there for free if the economic model of Open Source
> | Free Software is so wrong? Why are Linux and FreeBSD so much better
> | than windows, and cost the price of a CD?
>
> The Open Source/Free Software model is not _economic_ in the first
> place. Money does not even enter the picture.
What about Red Hat? VA Linux? Caldera? Any Linux distro. They make
money. Granted not Microsoft $, but they work for a profit, bundling the
work of others.
> Understanding this is
> crucial to why people are whining like a presidential candidate about
> not getting all the stuff they want for free and why people make stuff
> available for others for free, as well.
You really haven't addressed whether you agree or disagree about Open
Source software being of counter-intuitively high quality....
>
> There _is_ no compensation model for Open Source and Free Software.
> That is the trick. That is why it _cannot_ succeed economically and
> financially. To make this fundamentally flawed model succeed requires
> that Open Source and Free Software be instruments of something else
> that generates money enough both to fund its own operation as well as
> supporting the massively loss-making software creation process.
Loss-making? Perhaps in man hours, but the quick development time of Lisp
would fix that.....
>
> Let's put it another way: Money will _not_ get you any Open Source or
> Free Software.
Not true. It's too early to see whether the many entrepreneurial projects
which have sprung up because of the Linux phenomenon will ultimately
produce cash. It's impossible to say either way
> People create software like this because they want to,
> _not_ because they get paid. Money is a basically a _detractor_ for
> creative people who want others to use their software and through that
> become personally visible. It is pretty sad, but money does not offer
> visibility to someone who is begging for others to notice him. Open
> Source and Free Software are proofs that computers are alienating in
> the old Marxist sense and the Open Source and Free Software projects
> are reactions to this sense of alienation, in order to make the person
> stand out from the computerized nothingness.
>
??? What on earth do you mean by the "nothingness"? How are Open Source
and Free Software projects a reflection of alienation. I would say they
are a celebration of a grassroots community. A strange point of view to
have, I think.
> Yet another way: If _all_ you have to offer a programmer is money,
> what he will create for you is not going to be Open Source or Free
> Software. There has to be personal pride, wide usage, some of that
> good feeling of having contributed to a community with one's name on
> the contribution. Money can't buy that feeling. Neither can the
> feeling be sold.
>
> People who need Free Software and Open Source _have_ no money, either.
> If you have lots of money, it may not be economically feasible to use
> Free Software or Open Source because of the numerous strings attached
> to such software, and it may in fact be economically _infeasible_ to
> use software for which you assume _all_ risks.
Nonsense. One of the few NASDAQ web-based companies that is turning a
profit, last I checked, is Yahoo. Guess what, they use FreeBSD. Are you
really one to believe that because a person has to pay more for Windows
that for a free OS, that Windows is of greater quality. A naive assumption
to say the least...
> To get a commitment from someone to support you on Open Source or Free
> Software
> may well be much _more_ expensive than some regular software product
> designed to be supported. Very few people are actually aware of these
> costs until they have to get their business back on track after a
> disaster of some kind. Free Software and Open Source are _very_ good
> for hobbyists and in an educational setting where the purpose is to
> improve your own ability to write better software. I support both for
> this reason alone. However, production quality code is harder to come
> by in these communities because there is no incentive to bring the
> code from functional to excellent. What we get is very high quality
> "laboratory code", not highly polished systems software that costs at
> least twice as much to produce and maintain as the former.
>
> Some of these things _are_ changing, but we are still years away from
> a financial model for Open Source and Free Software that rewards
> people in a way that fits the normal models for return on investment.
> Wall Street was incredible harsh on the first few attempts, if you
> recall, and the "business model" of the Internet (dot-com) companies
> is not exactly being rewarded, either. (Nor should it be.)
>
> | Secondly, for what my limited experience and time are worth, I'd be
> | very open to picking up a shovel and coding in the trenches. Any one
> | else care to set up a project? Perhaps a web page that agressively
> | touts Lisp as the strong language of the past, and most importantly
> | the FUTURE.
>
> Why do fail to understand what it means that you need someone else to
> set up the project for you? This tells everybody with at least half a
> brain that you need somebody else to provide you with the rationale
> for using Common Lisp, too, and that you are _not_ a self-starter.
> Why a _follower_ would whine and complain about not finding relevant
> _leaders_ is truly beyond me. Usually they just follow whatever they
> feel like being their leaders.
>
> | Yes, I do still think that Lispers need more PR, and the successes
> | need to be hyped, and momentum needs to be built. I certainly don't
> | mean to deflate any of you who have devoted so much effort. So thanks.
>
> Why do you worry so much about marketing? Is it because marketing is
> what you are influenced by?
I'm losing my patience for your assumptions about my character. They are
both unwarranted and nasty, and reflect badly on your interpersonal
instincts, to say the least.
> Popularity figures count more to people
> who want to be popular than to people who are quite happy just being
> good at what they do. Morover, excellence does not _need_ popularity.
> Popularity is what you crave when you are _not_ excellent. Popularity
> also _destroys_ excellence.
>
> I have this notion that if somebody _wants_ me to like them before I
> get a chance to know what to like them for, they must be _really_ bad
> people. Con artists, prostitutes, sleazy sales people, etc, go for
> that warm, fuzzy feeling where I'm supposed to feel happy about them
> _instead_ of what they have done and are likely to do. Others harbor
> the notion that liking other people and being liked is the first and
> most important property of life on earth. These are likely to rub me
> the wrong way and go from "don't-care" to "active dislike" in a very
> short amount of time if they try to force their personal needs on me.
> I mention this because I actively loath people who seek popularity and
> judge both things and people by how popular they are. That's not even
> a second-hand kind of ethics, it's a _statistical_ second-hand ethics.
>
> Hyping is lying, basically, and you only engage in that if you have no
> other way to reach people -- like marketing something people are not
> very likely to want. Hype and lies and such marketing insult people's
> intelligence and you only reach people who don't mind it. Why anyone
> would want to reach such people with an excellent software system is
> beyond me, but if you see a software product advertised on TV or on
> big billboards, just don't buy it -- it's some overpriced crap suited
> for the ignorant mass market that is actually affected by advertising.
>
> For Common Lisp to succeed, people only need to use it. That's it,
> there is no need for somebody else to use it for you to use it. Just
> do it, yourself. Quit whining, start programming. Write what you
> miss, contribute. Get paid if you can, write software for free if you
> can't, but _program_. You improve your chances of getting paid the
> more you have actually written. Likewise, you improve the chances of
> Common Lisp being more widely used if you contribute mainly by using
> it. In the end, working code matters, hype and marketing does not.
>
Ditto my above sentiments. Whats your point. Have you even begun to
address anything pertaining to the following premises:
1) Lisp is a great language which encourages the writing of good,
correct, and elegant solutions to software problems.
2) The more people know Lisp, the more a healthy programming
paradigm is potentially spread. More frquent, better software for all.
3) Lisp is plagued by its old myths, and some minor flaws, which
hamper its dissemination. As a result anti-languages (Java) fill the void.
Erik, you have a fondness for Lisp, and a distaste for mediocrity....why
get so upset about someone, who, after all, shares your sentiments in
these matters, and thinks the world should hear more about Lisp?
-Aaron
> #:Erik
> --
> Ditto my above sentiments. Whats your point. Have you even begun to
> address anything pertaining to the following premises:
> 1) Lisp is a great language which encourages the writing of good,
> correct, and elegant solutions to software problems.
> 2) The more people know Lisp, the more a healthy programming
> paradigm is potentially spread. More frquent, better software for all.
> 3) Lisp is plagued by its old myths, and some minor flaws, which
> hamper its dissemination. As a result anti-languages (Java) fill the void.
>
> Erik, you have a fondness for Lisp, and a distaste for mediocrity....why
> get so upset about someone, who, after all, shares your sentiments in
> these matters, and thinks the world should hear more about Lisp?
ok, i'm a lisp nobody, but here are my thoughts anyway:
the relationship between quantity and quality is horrendously difficult
to characterize, unless you've given up on finding correlation (this is
the common wisdom) in which case Why are we talking about this?
but let's say common wisdom is wrong and that there is a potential
correlation in this particular case (lisp hype -> better software). i
still find it more interesting to focus on the "->" aka the realization
of "potentially" (point 2), rather than the hype. by way of sketchy
analogy: all ideas have a vapor pressure curve, so to speak, so it's
important to realize there are many ways to influence that curve, and
adding heat is only one way (and arguably a wasteful way, heat being the
universal Waste Product).
perhaps finding the right catalyst, or since you have awareness, being
the right catalyst, can help bring about better software in a more good,
correct and elegant manner. which would be nicely congruent. which is
why people often advise "do" rather than "spew".
to ask probing questions is the first step. after awareness comes
understanding (and who can do that for you but yourself?) and if you
can channel your energy, action...
(or do what i do, procrastinate multitaskingly (posting to usenet ;-).)
thi
I question your basic assumption, i.e., that Lisp needs to beat Java.
Trying to "beat Java" will only assure that Lisp will be cluttered with even
more superfluous crud than it already has - not a change most Lisp users
would like to see. The point is to make Lisp a better Lisp. Improve on the
strengths and mitigate the weaknesses. But first make sure that the
weaknesses really are weaknesses and not just a mispreceived need for the
market's "flavor of the day".
Remember that Fortran is still around. It fills a niche that "more modern"
languages cannot fill as well. It did this by taking what it needed from
other languages - as it was needed - but never forgetting its roots as a
language for producing efficient mathematical code from a description that
most scientists and engineers could understand.
Common Lisp will be fine as long as it remembers its roots as a portable,
dynamic language, well suited to symbolic programming but tailored to meta-
and multi-paradigmatic programming, unencumbered by clunky syntax, and
suited to describing all levels of a running system from the simplest
mathematical operators to the highest level DWIM functionality. Oh yeah,
make sure it keeps GC, too :-). As long as Lisp can stick to these
principals, there will be a niche for it. And that's good enough for me.
This is not to say that there is nothing I'd like to change about the Common
Lisp. Here are a few things that might make my programing life easier...
(a) Standardize multi-threading/multi-processing operators and associated
synchronization and control primitives.
(b) Standardize an FFI to code written in ANSI C.
(c) Extend and standardize the pathname/file/stream subsystems to support
sockets and streams on sockets.
(d) Semi-standardize GUI - CLIM would probably be a good start.
(e) Semi-standardize database access.
By "semi-standardize", I mean that systems would be able to omit this
functionality, but if GUI or database functionality were provided, it would
be required to be a superset of the described functionality. Of course the
presence of each of these areas of functionality would be noted by the
presence of a standardized *feature* code and only implementations that
provided a superset of the described functionality would be allowed to
enable these feature codes.
(f) Create a portable interchange format that's lower level and more compact
than source code, but can be efficiently translated at load time into
machine code - portable FASL's, if you will.
(g) Standardize environment access functions to allow capture of at least
the global and current environments (Else what's the use of having the
environment parameters on eval, defmacro, etc., since you can't get the
environment to pass to them in a portable way).
(h) Get rid of some of the cruft in the language - do we really need all of
the CxxxxxR functions? Do we really need first through tenth, or would just
telling people to use nth suffice? Can we unify defun and
defgeneric/defmethod in a better way? Can we do a defmacromethod that
specializes on the types of objects passed as parameters? Can we prescribe
the unification of structures and CLOS and built-in objects like conses and
symbols in a fuller manner? Can we regularize the various namespaces?
E.g., how come I can create a lexically scoped function or variable, but not
a lexically scoped class? Should a package just be a fancy environment
structure that allows you to import and export symbols? Should an
environment allow all of the package functions? And so on. There are
several issues that Lisp folk know a lot more about in a formal way than
they did when the first CL standard was written. I don't know if agreement
would be any easier to come by now on some of these issues, but at least the
knowledge of the issues to allow intelligent discussion is there.
In my opinion, issues a-g above address some serious portability issues that
have split other language communities (see what's happened WRT the Smalltalk
community since its minimal standard was approved by ANSI - and,
argumentatively, that community was much less fragmented than the Lisp
community is in these areas) and h is just a personal rant.
Now, of course, I don't have the hubris to expect that everyone in the Lisp
community has the same needs or desires as myself, nor do I think that the
community should drop everything and go out there and implement what I think
that I need. However, I will also state my belief that a major revisiting
of the language standard is probably needed, given that much of the work
that led to the standard is now 20 years old. Even though the current
standard was approved only six years ago, I can foresee a minimum of ten
years of work between project initiation and approval should the standard
ever be revisited and that would mean that there would be about sixteen or
so years between the updates (This is about par for the course for most ANSI
standard languages - datapoints are COBOL, Fortran, and ADA, all of which
seem to update their ANSI standards about every fifteen years or
thereabouts).
But in any case, if the standard is to be changed, it should be changed to
make the language a better Common Lisp, not just alligned to the latest fad
of the hour.
faa
The Open Source/Free Software model is not _economic_ in the first
place. Money does not even enter the picture. Understanding this is
crucial to why people are whining like a presidential candidate about
not getting all the stuff they want for free and why people make stuff
available for others for free, as well.
There _is_ no compensation model for Open Source and Free Software.
That is the trick. That is why it _cannot_ succeed economically and
financially. To make this fundamentally flawed model succeed requires
that Open Source and Free Software be instruments of something else
that generates money enough both to fund its own operation as well as
supporting the massively loss-making software creation process.
Let's put it another way: Money will _not_ get you any Open Source or
Free Software. People create software like this because they want to,
_not_ because they get paid. Money is a basically a _detractor_ for
creative people who want others to use their software and through that
become personally visible. It is pretty sad, but money does not offer
visibility to someone who is begging for others to notice him. Open
Source and Free Software are proofs that computers are alienating in
the old Marxist sense and the Open Source and Free Software projects
are reactions to this sense of alienation, in order to make the person
stand out from the computerized nothingness.
Yet another way: If _all_ you have to offer a programmer is money,
what he will create for you is not going to be Open Source or Free
Software. There has to be personal pride, wide usage, some of that
good feeling of having contributed to a community with one's name on
the contribution. Money can't buy that feeling. Neither can the
feeling be sold.
People who need Free Software and Open Source _have_ no money, either.
If you have lots of money, it may not be economically feasible to use
Free Software or Open Source because of the numerous strings attached
to such software, and it may in fact be economically _infeasible_ to
use software for which you assume _all_ risks. The question "who you
gonna call?" may be _very_ hard to answer in a pinch. Nobody is fully
responsible for the product in ways that owned software is. To get a
what you are influenced by? Popularity figures count more to people
#:Erik
--
So you are the kind of person who throws puches and thinks in such
terms. That is valuable to know, but not conducive to your case.
| No need to be nasty.
So drop it, then. It's your choice to be nasty in return to something
that is _not_ nasty towards you to begin with, but you just love to
blame others for your own behavior, don't you? That's why you have to
get everything for free and can't use Lisp because you don't get it.
Beware of people who say "I love Lisp, but ...". They do not actually
love Lisp, they love getting great things for free, and Lisp is great,
so if they _could_ get it for free, they _would_ love it, but there is
no real love, because real love means commitment and people who do not
want to contribute time and money do not commit themselves to whatever
it is they claim to love.
Just stop defending yourself, and you won't feel under attack, either,
but you make this what you want to make it, and I am unimpressed with
the way you choose to respond. You show us that what you really are
about is getting other people's good stuff for free. I suggest you
try a different approach.
#:Erik
--
> 2) The more people know Lisp, the more a healthy programming
> paradigm is potentially spread. More frequent, better software for all.
No. The more people that know Lisp, the more bad Lisp code will be writen
and spread, the more it will be touted as a silver bullet (which ultimately
will not work), and the worse off Lisp will be in the long run. Lisp went
that route before. Do you remember the days of Lisp Machines when AI would
save us all and the subsequent AI winter whose cold winds still blow around
Lisp? If nothing else, the Lisp community has learned the dangers of
over-promotion that comes with broad usage. We're beginning to see this
happen again with disillusioned Java worshipers (just as the C++ worshipers
have been bitten). Why would we want to put ourselves in that place again?
The bottom line is that Lisp is a harsh master, a language that pays the
prepared mind high dividends, but that can backfire when used by someone
that doesn't take time to understand it well. Lisp is THE high-leverage
programming tool in both a positive AND negative sense. It is the
interaction of quality programmers and Lisp that lead to the healthy
paradigm you tout. Remove the quality of the programmers and all you get is
more crap code in the world.
> 3) Lisp is plagued by its old myths, and some minor flaws, which
> hamper its dissemination. As a result anti-languages (Java) fill the void.
Lisp is not plagued. It is used to good end by those who take the time to
understand it and ignored by the rest of the world. This is good (see
above).
> why
> get so upset about someone, who, after all, shares your sentiments in
> these matters, and thinks the world should hear more about Lisp?
The answers to your questions should explain why I don't believe that "the
world should hear more about Lisp". Most of "the world" will get along fine
without Lisp and Lisp will get along fine without most of "the world".
If you want to help Lisp, write some. Open-CLIM needs some help, if you
don't want to start your own project.
faa
Aaron -
I used to be one of those people who said, "I love Lisp,but...". I felt
that the language had some shortcomings and I thought it would be just dandy
if the people who produced the systems would just fix those few teensy
shortcomings I disliked. After a while, I understood why people were
getting pissed off at me. Ultimately, I was asking people to put out effort
to satisfy my desires with very little benefit to them. To them, it was not
obvious that my desires correlated with those of their customers, target,
markets, etc. And, in fact, I had a tone that made it sound as if I felt
that these vendors had a responsibility to change not only their
implementations, but the whole specification to suit my needs. After I
accepted that Lisp was a language - with warts like any other language that
no one was obliged to fix - I started to be able to say simply "I love
Lisp".
I have repented of my ways. I currently use a Lisp system that ships with
system source. When I find a place where the system disagrees with the
standard, I try to fix it and send my fixes to the vendor. These fixes are
often not easy to verify. I check the answers that my code gives against
other implementations. Writing test cases to insure that the function has
been exercised properly can take a great deal of time. Sometimes my
suggested changes are accepted, sometimes rejected becuase the vendor has a
different solution to the problem, but always, I have a fix for MY code, and
I feel that I am doing something positive for the community by making a
specific implementation better.
The customer is not always right. In fact, in almost every case, any single
customer is almost certainly wrong. And if you aren't even a customer who
uses the system day in and day out, well...
To give yet another example, I believe there are some issues that should be
addressed in an updated standard, but it is my job to convince the community
that this is indeed the case and, if necessary, to partcipate (perhaps even
lead such an effort, though I would be the first to state that I'm probably
not qualified to do so) and not simply whine about it. If such an update
would occur, it would be my responsibility as a participant to provide code,
baseline, implementations, etc., and not just whine about the outcome.
I used to be a whiner. I now realize that the community owes me nothing.
It's already provided me with one of the most wonderful tools ever made. If
I want something changed, I can do it myself and/or try to convince others
to help me change it; but I'm much more likely to achieve the second of
these if I am willing to do the first.
You believe that Lisp is not marketed well enough. I disagree. If you feel
strongly enough about it, I assume you will do something about it. If you
want others to help you, fine. Tell us why you think that we'll benefit by
bringing huge masses of programmers into our community. If we agree and see
you working on the issue on your own, we might help. We might not help,
too. That's the risk you run. But if you aren't convinced enough of your
own position to be self-starting, why should anyone want to support you,
anyway?
In the end, though, be humble enough to understand that what you perceive as
a need may not be perceived as a need by the rest of the community. And
understand that it's not the community's duty to give you a marketing
platform, no more than it's their duty to give you a free implementation to
hand to your friends. To paraphrase JFK, "Ask not what the Lisp community
can do for you; Ask what you can do for the Lisp community".
Again, if you want to help Lisp, write some.
faa
> * "Aaron K . Johnson" <a...@21stcentury.net>
> | I guess my reply is simply that I'm curious as to why there is such
> | good software out there for free if the economic model of Open Source
> | Free Software is so wrong? Why are Linux and FreeBSD so much better
> | than windows, and cost the price of a CD?
>
> The Open Source/Free Software model is not _economic_ in the first
> place. Money does not even enter the picture. Understanding this is
> crucial to why people are whining like a presidential candidate about
> not getting all the stuff they want for free and why people make stuff
> available for others for free, as well.
>
> There _is_ no compensation model for Open Source and Free Software.
> That is the trick. That is why it _cannot_ succeed economically and
> financially. To make this fundamentally flawed model succeed requires
> that Open Source and Free Software be instruments of something else
> that generates money enough both to fund its own operation as well as
> supporting the massively loss-making software creation process.
For a somewhat different view, see
http://www.people.hbs.edu/jlerner/simple.pdf.
Lerner argues that in Open Source/Free Software there are indeed
economic incentives, and then proceeds to identify a few of
these. Read the paper. If you're familiar with OS/FS you can probably
skip the first thirteen pages or so. This paper is a working paper, so
there are lots of details to be worked out, even so I think the paper
goes a long way in refuting Erik's simple claim that there is _no_
compensation :)
(Rmz)
--
Bjørn Remseth Mail: bjorn....@fast.no
Systems Engineer Web: http://www.fast.no/
Fast Search & Transfer ASA Phone: +47 23 23 84 00
P.O. Box 1677 Vika Fax: +47 23 23 84 01
NO-0120 Oslo, NORWAY Mob: +47 91 34 13 32
> Lieven Marchand <m...@bewoner.dma.be> writes:
>
> > A beginning programmer with his shining new C++ compiler and GUI
> > toolkit reads the tutorial, writes 100 lines of code and has a small
> > graphical application with an edit widget, some buttons and an
> > image. Now you show him that you can do this with 40 lines of
> > Lisp. This isn't going to convince him. Now go to a team of C++
> > programmers with 10 million lines of code that is such a tangle of
> > includes and dependencies that it takes a day to compile on an Ultra
> > 10. Give them a demonstration that you can redefine a class in the
> > listener, write an update function and have the existing instances in
> > your system consistent with the new definition, and you'll have their
> > attention.
>
> Probably they just won't believe you that it's possible.
Been there, done that, got accused of 'cheating'. They just couldn't
believe my 'interpreted old LISP' thingie was faster then their C++
monster. Common Lisp with a good environment is so good it scares even
me at times...
Groetjes, Peter
--
LANT nv/sa, Research Park Haasrode, Interleuvenlaan 15H, B-3001 Leuven
mailto:Peter.V...@lant.be Phone: ++32 16 405140
http://www.lant.be/ Fax: ++32 16 404961
The work of others is the loss leader for Red Hat and friends that allows
them to sell books and cds and support. Open Source or Free Software is not
earning money itself.
>You really haven't addressed whether you agree or disagree about Open
>Source software being of counter-intuitively high quality....
>
Just because it's better than the 'horribly demented crapware' coming from
Microsoft does not make it high quality. Just as converts are often more
frevrent in their belief than those who have grown up in a religion, you
have managed to leave behind what you were raised with and now you've found
the one true way of perfection.
>> People create software like this because they want to,
>> _not_ because they get paid. Money is a basically a _detractor_ for
>> creative people who want others to use their software and through that
>> become personally visible. It is pretty sad, but money does not offer
>> visibility to someone who is begging for others to notice him. Open
>> Source and Free Software are proofs that computers are alienating in
>> the old Marxist sense and the Open Source and Free Software projects
>> are reactions to this sense of alienation, in order to make the person
>> stand out from the computerized nothingness.
>>
>
>??? What on earth do you mean by the "nothingness"? How are Open Source
>and Free Software projects a reflection of alienation. I would say they
>are a celebration of a grassroots community. A strange point of view to
>have, I think.
>
Yeah! Grassroots communities are cool because we can celebrate each other,
the people, rather than just getting our checks every two weeks.
You're not just asking that CL have fancy decals on the box like Java. GUI
builders, database libraries, CORBA, etc all exist. You're asking that
someone gives them to you for free.
--
-Simon Raahauge DeSantis
> On 27 Nov 2000, Erik Naggum wrote:
>
> > * "Aaron K . Johnson" <a...@21stcentury.net>
> > | I guess my reply is simply that I'm curious as to why there is such
> > | good software out there for free if the economic model of Open Source
> > | Free Software is so wrong? Why are Linux and FreeBSD so much better
> > | than windows, and cost the price of a CD?
> >
> > The Open Source/Free Software model is not _economic_ in the first
> > place. Money does not even enter the picture.
>
> What about Red Hat? VA Linux? Caldera? Any Linux distro. They make
> money. Granted not Microsoft $, but they work for a profit, bundling the
> work of others.
All of the above companies are trying to use other means of making
money to support their Open Source activities (hardware sales, closed
source add-ons, support contracts, etc.). All of them are also not
profitable, with Red Hat "aiming" to achieve break-even at the end of
financial year 2001. Accordingly stock prices for Linux companies
have plummeted quite strongly in recent months, when the "we don't
need to make a profit today, because we'll make billions in X years
time (maybe)" stock bubble deflated.
> > Let's put it another way: Money will _not_ get you any Open Source or
> > Free Software.
> Not true. It's too early to see whether the many entrepreneurial projects
> which have sprung up because of the Linux phenomenon will ultimately
> produce cash. It's impossible to say either way
In business as elsewhere the proof is in the pudding: You can
speculate all day on business models, future markets and profits,
etc. That doesn't matter: The only way to win an argument in
business is to go out, put your own money on the line, and
_successfully_ implement your ideas. Until such a time as we have
stably operating, profit making businesses in this arena, there is
no one making money, and it's possible and necessary to say it this
way.
> ??? What on earth do you mean by the "nothingness"? How are Open Source
> and Free Software projects a reflection of alienation. I would say they
> are a celebration of a grassroots community. A strange point of view to
> have, I think.
You are completely misunderstanding Erik's point, it seems to me.
Open Source projects being a celebration of grassroots community shows
exactly that they are a reaction to a growing feeling of alienation.
That's how grassroots movements come about.
Furthermore OS projects being grassroots movements indicates the very
clear limitations of current OS projects: By their very nature, they
can't be directed by money, they are very unresponsive to
societies/customers (perceived) needs (by direct extension of their
being driven by their own needs), etc.
Note well that these same limitations are also OS projects major
strenghts. It's just that you can't have your cake and eat it, too.
Regs, Pierre.
--
Pierre R. Mai <pm...@acm.org> http://www.pmsf.de/pmai/
The most likely way for the world to be destroyed, most experts agree,
is by accident. That's where we come in; we're computer professionals.
We cause accidents. -- Nathaniel Borenstein
>
> What about Red Hat? VA Linux? Caldera? Any Linux distro. They make
> money. Granted not Microsoft $, but they work for a profit, bundling the
> work of others.
Do they? I didn't have time to look up more than one, but Red Hat
don't appear to be making any money: their earnings per share is
negative. It looks like they plan to make some money in 2002. Of
course this is a pretty standard situation for most dot.com style
companies to be in, it may not have anything to do with the freedom or
otherwise of software. But it definitely is not the case --
especially at the moment -- that just because there is some commercial
organisation involved there is money to be made: many dot.coms are
busy running through the last of their funding trying not to think
what happens when it runs out. Whether this is the case for the ones
mentioned above I don't know.
--tim
Can I summarise? "Common Lisp wil be fine as long as it remains
suited to everything"
I agree absolutely, but it doesn't exactly sound like a niche market :-)
-dan
--
http://ww.telent.net/cliki/ - Link farm for free CL-on-Unix resources
>> You really haven't addressed whether you agree or disagree about Open
>> Source software being of counter-intuitively high quality....
>>
Simon> Just because it's better than the 'horribly demented crapware'
Simon> coming from Microsoft does not make it high quality.
Hear, hear.
A popular analysis in the Linux community, as to why Linux has not
prevailed over Windows yet, says that UNIX (in general) is very good
but for hackers only. So in order to beat Windows, all Linux needs is
an easy-to use desktop working right of the box (or CD) for the
average newbie.
In that struggle to provide a Windows-like desktop, it seems to me
that the Linux is working hard to also reproduce the many mistakes of
Windows.
This was my conclusion after a frustrating half day worth of trying to
convince a recent Mandrake distribution with all the bells and
whistles of Gnome, KDE and friends, that I #%&#/$%$#% did want to use
my own window manager.
Not only is it becoming increasingly difficult to understand what
files determines the X session contents, but I also found out that the
"friendly" login program happily rewrote my .xsession file if I was
not very carefull with my choices!
(this is of course to bash Gnome and/or KDE as such; I am quite sure
that it works fine for a lot of people)
------------------------+-----------------------------------------------------
Christian Lynbech | Ericsson Telebit, Skanderborgvej 232, DK-8260 Viby J
Phone: +45 8938 5244 | email: c...@tbit.dk
Fax: +45 8938 5101 | web: www.ericsson.com
------------------------+-----------------------------------------------------
Hit the philistines three times over the head with the Elisp reference manual.
- pet...@hal.com (Michael A. Petonic)
Well, maybe :-). I still think that some other languages do some things
better. E.g., if i had to write numeric code for a parallel machine, I'd
probably stick to Fortran. If I had a straight transaction processing app,
I'd probably use COBOL or SQL. But in most cases, you're right - the
multi-level and multi-paradigmatic nature of Lisp allows it to beat most
other languages for "general" programming tasks.
> I agree absolutely, but it doesn't exactly sound like a niche market :-)
Well, it's a somewhat largeish niche :-).
It's an horizontal niche. You have to cut the application domain
horizontally. A slice...
OK, a thin slice because, as pointed by almost everybody here, Lisp is not
for everybody, but also an extremely wide slice. I'm sure we can find people
using Lisp in almost every application domain.
Marc
> * "Aaron K . Johnson" <a...@21stcentury.net>
> | I guess my reply is simply that I'm curious as to why there is such
> | good software out there for free if the economic model of Open Source
> | Free Software is so wrong? Why are Linux and FreeBSD so much better
> | than windows, and cost the price of a CD?
>
> The Open Source/Free Software model is not _economic_ in the first
> place. Money does not even enter the picture. [...]
Perhaps not -- but the *allocation of resources* certainly does, and
fundamentallly that's what economics is really about.
A perspective on the OSS phenomenon that focuses primarily on monetary
compensation is, IMHO, missing the point. And while peer recognition
is undoubtably a factor, so it is with almost every human endeavor. We
are social animals, after all. Even those who most of their
socializing from behind a keyboard.
I wish I had time to respond at length, but since I don't let me toss
out a few bullet points:
-- OSS is replentishing the seed corn of Computer Science. Where else
will future engineers go for the opportunity to truly grok the
inner workings of a large and complex code base? Our schools are
too busy either a) cranking out Java programmers or b) clamping
proprietary licenses on the fruits of their research and spinning
off start-ups.
-- There are projects that are useful and worthwhile that
nevertheless have no hope of recouping their development costs in
a time frame that would satisfy the bean counters of the world.
-- Some of the most functional and useful software I personally make
everyday use of is OSS. I cannot agree with your assertion below
about "laboratory code". I would say instead that OSS developers
are free to concentrate on substance rather than packaging.
[...]
> Let's put it another way: Money will _not_ get you any Open Source or
> Free Software. People create software like this because they want to,
> _not_ because they get paid. Money is a basically a _detractor_ for
> creative people who want others to use their software and through that
> become personally visible. It is pretty sad, but money does not offer
> visibility to someone who is begging for others to notice him. Open
> Source and Free Software are proofs that computers are alienating in
> the old Marxist sense and the Open Source and Free Software projects
> are reactions to this sense of alienation, in order to make the person
> stand out from the computerized nothingness.
I believe recent research has dismissed the notion that computers are
creating a non-society of isolated individuals. We seem to be
assimilating the technology -- not the other way 'round.
[...]
> People who need Free Software and Open Source _have_ no money, either.
> If you have lots of money, it may not be economically feasible to use
> Free Software or Open Source because of the numerous strings attached
> to such software, and it may in fact be economically _infeasible_ to
> use software for which you assume _all_ risks. The question "who you
> gonna call?" may be _very_ hard to answer in a pinch. Nobody is fully
> responsible for the product in ways that owned software is. To get a
> commitment from someone to support you on Open Source or Free Software
> may well be much _more_ expensive than some regular software product
> designed to be supported. Very few people are actually aware of these
> costs until they have to get their business back on track after a
> disaster of some kind. Free Software and Open Source are _very_ good
> for hobbyists and in an educational setting where the purpose is to
> improve your own ability to write better software. I support both for
> this reason alone. However, production quality code is harder to come
> by in these communities because there is no incentive to bring the
> code from functional to excellent. What we get is very high quality
> "laboratory code", not highly polished systems software that costs at
> least twice as much to produce and maintain as the former.
Your points about the real costs of free software I agree
with. TANSTAAFL. If you expect to benefit from OSS it will require
committing *resources* -- not (necessarily) dollars -- to make it
work.
[...]
-- Kaelin
> "Aaron K . Johnson" <a...@21stcentury.net> wrote in message
> news:Pine.LNX.4.21.00112...@ajohnson.21stcentury.net...
> > 1) Lisp is a great language which encourages the writing of good,
> > correct, and elegant solutions to software problems.
> When used by good programmers. One of the WONDERFUL things about Lisp right
> now is that the community that uses it is self-selecting, self-motivated
> towards high-quality, and very well-rounded (at least in the programming
> sense, probably others as well :-). Bad programmers would do more damage to
> the community than any good they could contibute. I'd rather have 1 BMW
> than 100 Yugos.
I think this effect is very real, and a very nice description of it
comes from an unexpected side. Bjarne Stroustrup descrives it very
nicely at <http://ww.research.att.com/~bs/blast.html> under the
heading "C++ programmers are idiots" ;-)
--
Lieven Marchand <m...@bewoner.dma.be>
Lambda calculus - Call us a mad club
Well, advocacy. In some cases, an good idea being spread turns out
alright. The author Richard Dawkins talks about "memes", or idea genes,
i.e., and idea, or paradigm, spreading from mind to mind, culture to
culture. Think about your life before and after you heard about some
cool idea or thing. Think of programming before and after Lisp. What's
wrong in principle with "spreading the word" of Lisp? Its not Christian
Evangelicalism after all....
>
> but let's say common wisdom is wrong and that there is a potential
> correlation in this particular case (lisp hype -> better software). i
> still find it more interesting to focus on the "->" aka the
realization
> of "potentially" (point 2), rather than the hype. by way of sketchy
> analogy: all ideas have a vapor pressure curve, so to speak, so it's
> important to realize there are many ways to influence that curve, and
> adding heat is only one way (and arguably a wasteful way, heat being
the
> universal Waste Product).
>
I don't quite get your analogy here, or to what end you're bringing it,
can you clarify?
> perhaps finding the right catalyst, or since you have awareness, being
> the right catalyst, can help bring about better software in a more
good,
> correct and elegant manner. which would be nicely congruent. which
is
> why people often advise "do" rather than "spew".
>
I program in Lisp. I feel its a great general tool. I also happen to
think that there's a lot of noise around other languages that get in the
way of people even considering using it,too. My life will go on, and I
will continue to use Lisp when I want to, and I won't be affected by
others not seeing what I see. I just think saying "hey this is cool, and
is a great tool" is not a bad idea. So I "do" (program), and "spew"
(tell others, discuss Lisp)
> to ask probing questions is the first step. after awareness comes
> understanding (and who can do that for you but yourself?) and if you
> can channel your energy, action...
>
While I agree that understanding is the first step, and you are
responsible for yourself, I just disagree that one should stop there.
After action comes helping others to understand, and they act, and so
on.
> (or do what i do, procrastinate multitaskingly (posting to usenet
;-).)
>
> thi
>
Regards,
Aaron
Funny how many Lispers will claim on the one hand, that bad languages
are a big reason why programs that break come into being, and Lisp
programs tend not to break; but on the other hand, have a hard time with
the idea that promoting Lisp more would help the general state of
software.
Yes, there are good programmers and bad programmers,
Lisp makes good software design easier for a Good programmer
and makes a bad programmer better (in terms of their thinking
paradigm)....so why object to the idea that more people ought to use it.
The rising tide lifts ALL boats. So what about 4 BMW's, and 400 yugos.
There will be more BMW's the more people who happen to be good at lesser
languages discover Lisp! (refering to your car analogy below)....Its
like saying that Quantum Theory shouldn't be taught, because few will
understand. Well, I say, paradigm shifts only happen because someone
does care to teach the new paradigm.
Frank, on hand you say below that "the cold AI winter winds still blow
around Lisp", and then turn around a bit later and refute my claim that
Lisp is plagued with myths. You contradict yourself. What is your real
argument. It appears we are trying to say the same thing, that is that
Lisp still to this day carries some negative baggage. My only point here
is that I really believe it keeps people from not examining Lisp, and as
a side-effect, keeps the neat things Lisp has to offer away from many
people.
Kind Regards,
Aaron
In article <sKoU5.4643$ZK4.7...@news.uswest.net>,
"Frank A. Adrian" <fad...@uswest.net> wrote:
> "Aaron K . Johnson" <a...@21stcentury.net> wrote in message
>
news:Pine.LNX.4.21.00112...@ajohnson.21stcentury.net...
> > 1) Lisp is a great language which encourages the writing of good,
> > correct, and elegant solutions to software problems.
> When used by good programmers. One of the WONDERFUL things about Lisp
right
> now is that the community that uses it is self-selecting,
self-motivated
> towards high-quality, and very well-rounded (at least in the
programming
> sense, probably others as well :-). Bad programmers would do more
damage to
> the community than any good they could contibute. I'd rather have 1
BMW
> than 100 Yugos.
>
> > 2) The more people know Lisp, the more a healthy programming
> > 3) Lisp is plagued by its old myths, and some minor flaws, which
> > hamper its dissemination. As a result anti-languages (Java) fill the
void.
> Lisp is not plagued. It is used to good end by those who take the
time to
> understand it and ignored by the rest of the world. This is good (see
> above).
>
> > why
> > get so upset about someone, who, after all, shares your sentiments
in
> > these matters, and thinks the world should hear more about Lisp?
>
> The answers to your questions should explain why I don't believe that
"the
> world should hear more about Lisp". Most of "the world" will get
along fine
> without Lisp and Lisp will get along fine without most of "the world".
>
> If you want to help Lisp, write some. Open-CLIM needs some help, if
you
> don't want to start your own project.
>
> faa
>
>
> If you have lots of money, it may not be economically feasible to use
> Free Software or Open Source because of the numerous strings attached
> to such software, and it may in fact be economically _infeasible_ to
> use software for which you assume _all_ risks. The question "who you
> gonna call?" may be _very_ hard to answer in a pinch.
The standard response from the FS/OS camp is "well, how much support do you
get for the closed-source software that you pay for, anyway?"
Technically competent end-users who have wandered through the tech-support
maze at [insert name of any big software vendor here] will tend to answer
"virtually none".
However, I assume that when a corporation pays heaps of money for an
"enterprise" software package, such as SAP, or buys some end-user product in
thousand-seat license packs, its complaints to the vendor get a little more
attention. I can also imagine a small company writing some useful little
tool, selling it for a few hundred bucks a pop, making enough revenue to pay
the rent, and having few enough customers that they give each one serious
attention.
Question for those with more experience in the biz: where is the dividing
line between companies that say "you should be grateful that we let you have
this program for only $500, so we'll take our own sweet time about solving
your problems with it" and companies that say "we want our customers to keep
renewing their licenses, so we will give our support team the resources it
needs"?
--
"The big dig might come in handy ... for a few project managers
whom I think would make great landfill." --Elaine Ashton
== seth gordon == sgo...@kenan.com == standard disclaimer ==
== documentation group, kenan systems corp., cambridge, ma ==
> Yes, there are good programmers and bad programmers,
> Lisp makes good software design easier for a Good programmer
> and makes a bad programmer better (in terms of their thinking
> paradigm)
I agree with your first statement, yet disagree with the second. To the
extent that the language does allow one to increase ones productivity (even
if one IS a bad programmer), it does make one better. But (and this is a
large BUT) it does not necessarily make the resulting code more efficient,
more maintainable, or better designed WRT the language. Since this is the
stumbling block for most projects, I don't see how using Lisp automatically
makes bad programmers better. In fact, it may make it easier for a bad
programmer to crank out more lines of putrid code. Over the years, I've
found that what makes good software is not what you are able to put in, but
what you are able to leave out. Lisp would give more leverage to bad
programmers to produce ever more lines of bad code.
>....so why object to the idea that more people ought to use it.
> The rising tide lifts ALL boats. So what about 4 BMW's, and 400 yugos.
> There will be more BMW's the more people who happen to be good at lesser
> languages discover Lisp! (refering to your car analogy below)....Its
> like saying that Quantum Theory shouldn't be taught, because few will
> understand. Well, I say, paradigm shifts only happen because someone
> does care to teach the new paradigm.
We do teach the paradigm. But we teach it to those who opt in because they
are perceptive enough to see that what they have isn't good enough and are
motivated enough to find something different. Why should I pander to the
lazy and stupid when I can surround myself with a community that wants to be
a notch above the ordinary. Call me elitist. In some ways I am.
> Frank, on hand you say below that "the cold AI winter winds still blow
> around Lisp", and then turn around a bit later and refute my claim that
> Lisp is plagued with myths.
The myths are out there among the ignorant - not in the community. Let
enough riff-raff in and the myths follow and become true as they put
pressure on the community to twist the language into something it is not.
Look at Scheme and hygenic macros. A really great "idea". It makes it so
much easier to write macros that avoid accidental variable capture. Great
for novice users. But it also makes it more difficult to write macros that
do much more than simple syntactic morphing. The fact that most Schemes
still retain a "real" macro system down below the standard is a testament to
the fact that "accessibility" doesn't work very well.
Another datapoint - Dylan and its syntax change. Did it really make the
language better? I don't think so.
Both of these changes were made in the hopes of making these languages (or
features therein) more accessible.
> It appears we are trying to say the same thing, that is that
> Lisp still to this day carries some negative baggage.
Yeah. So what? The myths were around long before the AI winter. The hype
surrounding the AI boom increased them, not decreased them. More people
"knew" about Lisp, so more people believed stupid rumors. Some people will
always be dumb enough to not try something because they hear negative news
that they have little or no supporting evidence for. Most of these will
spread false rumors. For people like these I should break a sweat? I don't
think so.
> My only point here
> is that I really believe it keeps people from not examining Lisp, and as
> a side-effect, keeps the neat things Lisp has to offer away from many
> people.
If you feel that way, go ahead and evangelize. Don't expect everyone to
support you in the effort at the cost of making the language more accessible
(read "probably worse"), though. Sometimes it's better to keep the
barbarians outside the gates rather than throwing open the doors and
yelling, "Let's party!".
If you want to help Lisp, write some.
faa
> Erik Naggum wrote:
>
> > If you have lots of money, it may not be economically feasible to use
> > Free Software or Open Source because of the numerous strings attached
> > to such software, and it may in fact be economically _infeasible_ to
> > use software for which you assume _all_ risks. The question "who you
> > gonna call?" may be _very_ hard to answer in a pinch.
>
> The standard response from the FS/OS camp is "well, how much support do you
> get for the closed-source software that you pay for, anyway?"
>
> Technically competent end-users who have wandered through the tech-support
> maze at [insert name of any big software vendor here] will tend to answer
> "virtually none".
Interestingly this often is not the case for Lisp companies
(in this generality).
Often I see patches just hours (not days or months) later for
some problems people have. This also puzzles people not used to
that.
--
Rainer Joswig, Hamburg, Germany
Email: mailto:jos...@corporate-world.lisp.de
Web: http://corporate-world.lisp.de/
> Secondly, for what my limited experience and time are worth, I'd be very
> open to picking up a shovel and coding in the trenches. Any one else care
> to set up a project? Perhaps a web page that agressively touts Lisp as the
If you write code you are willing to share, don't forget to add an entry at
CLiki:
Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/
> Yes, there are good programmers and bad programmers,
> Lisp makes good software design easier for a Good programmer
> and makes a bad programmer better (in terms of their thinking
> paradigm)....so why object to the idea that more people ought to use it.
I'm not sure I agree that Lisp makes bad programmers better. Lisp
makes it possible to write absolutely horrible code and have it still
work: code so bad that if it was in C++ you'd just die because of all
the memory management issues. Not only that but lisp, ill-understood,
can lead to people using lists as arrays and ruso on and running into
horrible complexity problems.
--tim
> Interestingly this often is not the case for Lisp companies
> (in this generality).
>
> Often I see patches just hours (not days or months) later for
> some problems people have. This also puzzles people not used to
> that.
isn't this partly because nothing is as simple to patch as lisp?
(Many patches can be delivered as fasl-files which even are suitable
for loading into running images)
--
(espen)
>
> The standard response from the FS/OS camp is "well, how much support do you
> get for the closed-source software that you pay for, anyway?"
>
We get very reasonable support for the SW we pay support for. We
aren't some huge corporation and we don't pay huge money in support,
but we've been generally satisfied. It's unfortunately in the nature
of things that since we can (collectively) remember SunOS 1 we tend to
know more about much of the system than the people answering the
phone, but things do get fixed.
Of course I'm not talking about support for some domestic package
here: we deliberately avoid using those for anything critical.
--tim
I'm not interested in a discussion with people who behave the way you
do. I'm trying to show you why you need to rethink your position by
making it painful to you to hold the position you do -- I have long
since given up dealing with people who hold idiotic opinions as if
they had arrived at them through thinking about them. Exposre to pain
restructures their response register in a way that arguments that they
had to think about never would because thinking is what they do _not_
engage in. You do not have the observational skills or brains to
recognize this, but instead think it's a "big ego-fest". You are a
waste of space and should be recycled.
Well, this is a staggeringly unintelligent response, so if somebody
actually says this, or it's even "standard", just ignore the idiots.
| Technically competent end-users who have wandered through the
| tech-support maze at [insert name of any big software vendor here]
| will tend to answer "virtually none".
You missed the point, dude. Somebody has a legal responsibility when
you have paid for support. This isn't about getting answers, this is
about who is legally responsible for answering. _Huge_ difference!
This point is routinely missed by people who do not have and do not
rely on any legal responsibilities. For all this talk about building
communities and societies, I find very little realization of what such
complex structures need among people who do not have to back their
claims with money, which is nothing more than the fruits of one's past
success. People bet their spare time, not their lives, on software
they give away. It is a luxury, not a necessity. Now, I'm all for
being rich enough that luxury is possible, such as art is, but we are
not at the point where software artists are recognized as such, in
fact everyone wants to come look at the artwork, but not pay for it.
The really, really sad part is that even while we have a whole range
of software paid for out of people's donated time, it still can't be
sold at the normal, healthy profit margins that supports future work --
they all require _more_ donations all the time.
I have argued elsewhere that I consider source access invaluable to a
programmer's education, just like any other practitioner must have
access to prior art, but this is not an argument for it being free.
Quite the contrary. We pay our educators in _every_ other field but
computer science. Here it is supposedly up to the _educators_ to make
sure that the next generation of programmers aren't illiterate and
dangerous, not up to the practitioner to get a good education. Our
society has yet to recognize the cost of bad code and bad programmers,
the way it recognized the cost of bad legal advice, bad medical advice,
bad housing construction, bad food processing, bad farming, etc, etc.
Free software and open source are _not_ helping -- they are instead
free-riders on the ability of some software companies to disclaim all
kinds of warranties for their shoddy products.
How do we solve the societal need to educate future generations through
exposure to real and living source code with the need to make sure that
the work people do in software construction and engineering is properly
rewarded? I don't know, but I do believe that the more people argue
for free, unrestricted, and uncompensated access to other people's work
and source code, the further we will be from a long-term solution.
comp.lang.bile,
comp.lang.curmudgeon,
comp.lang.trigger-happy,
comp.lang.shoot-first;ask-questions-later,
comp.lang.only_erik_knows_anything
Funny, Erik, I thought that you espoused thinking to be an objective,
unemotional process. To bad that you reveal yourself to be, in
Nietzsche's term, "common, all-too-common" in your hypocricy. Notice
instead of addressing what I clearly revealed to be your pointless
meandering, you instead chose a path of pure bile, lashing out like a
racoon who feels her children are threatened. All of this without the
slightest interest in calm dialectic, nor a patience/tolerance for a
fellow human, who has, as most humans do (except for yourself,
apparantly) his own imperfections, faults, and yes
predispositions/prejudices.
You know, regardless of what or who you may think I am, the way you are
being is very unpleasant. One leaves with the impression that you really
do think that you are some sort of enlightened human. Would the Buddha
toss such crap my way? Perhaps you don't consider the Buddha a good
example of enlightenment, and would choose instead, someone along the
lines of Hitler. Well, then, I'd say we could never see eye to eye.
It would be a sad world indeed, were it fully populated with people who
feel justified, as you apparently do, to treat their fellow humans with
the amount of disrespect that you do. Maybe you have some friends. Maybe
they can barely tolerate your behavior. Maybe they share your beliefs,
and you engage in a non-stop one-upmanship display for each other. Maybe
you embrace each other as loving equals. All I can say is that from this
end, at present, you appear as a lonely, angry soul.
And, Erik, if you are so interested in not continuing this
conversation, why do you feel that you must? I'm actually interested in
talking Lisp. It would take a great deal more effort to respond with
generosity, a willingness to clear up any misconceptions that you
believe anyone has about the subject at hand (including me), or not at
all, than to dish out another shovel of bile. If you truly think me an
idiot, then all you display by posting a response my way is that you
either enjoy looking so much more intelligent or witty than an idiot,
which displays a severe insecurity/egoism on your part, or, being an
idiot, you enjoy dialogue with idiots. Or, I suppose, thirdly, you are a
sadist who specializes in abusing idiots. Then I will know we are truly
not equals.
-Aaron
In article <31844102...@naggum.net>,
Erik Naggum <er...@naggum.net> wrote:
> * "Aaron K . Johnson" <a...@21stcentury.net>
> | Are you interested in a discussion here, or a big ego-fest, in which
> | yours wins at any cost?
>
> I'm not interested in a discussion with people who behave the way
you
> do. I'm trying to show you why you need to rethink your position by
> making it painful to you to hold the position you do -- I have long
> since given up dealing with people who hold idiotic opinions as if
> they had arrived at them through thinking about them. Exposre to
pain
> restructures their response register in a way that arguments that
they
> had to think about never would because thinking is what they do
_not_
> engage in. You do not have the observational skills or brains to
> recognize this, but instead think it's a "big ego-fest". You are a
> waste of space and should be recycled.
>
> #:Erik
> --
> Solution to U.S. Presidential Election Crisis 2000:
> Let Texas secede from the Union and elect George W. Bush their
> very first President. All parties, states would rejoice.
>
> On 27 Nov 2000, Erik Naggum wrote:
>
> > * "Aaron K . Johnson" <a...@21stcentury.net>
> > | I guess my reply is simply that I'm curious as to why there is such
> > | good software out there for free if the economic model of Open Source
> > | Free Software is so wrong? Why are Linux and FreeBSD so much better
> > | than windows, and cost the price of a CD?
> >
> > The Open Source/Free Software model is not _economic_ in the first
> > place. Money does not even enter the picture.
>
> What about Red Hat? VA Linux? Caldera? Any Linux distro. They make
> money. Granted not Microsoft $, but they work for a profit, bundling the
> work of others.
>
Someday, God willing, I will understand enough economics to develop the
following theory:
When two software products are competing head-to-head, one open-source and the
other not, the open-source competitor will become superior *in the long run*.
At first, the closed-source product has the advantage, because it has the
funding (from venture capital and from sales) to hire developers full-time,
while the open-source product has to struggle with a small crew of volunteers.
Over time, the open-source product will accrete developer-hours and sponsors.
Eventually, the owners of the closed-source product will be hampered by the
need to pay off their investors and creditors, while the labor that went into
the open-source product continues to attract more labor.
If you write, sponsor, or advocate open-source software, then this theory
should make you feel all warm and cozy. However, if you're a *customer* trying
to choose between an open-source and a closed-source product, believing that
the open-source version will be better in the long run doesn't do you much good
-- if the total cost of ownership doesn't make the program benefit you *now*,
then your company could go under before the open-source product grows into
something that meets your needs.
So, let me understand you, are you saying that Lisp requires MORE work
to write well than other languages, all else being equal? Wouldn't that
make Lisp a worse design than, say C++, by your argument? If you're not
saying that, then your saying that Lisp requires as much work as any
other language to become proficient, in which case you've made no point
about anything, and have no reason to prefer Lisp to any other language.
Surely there are benefits to Lisp, no? I can see how starting with C/C++
would cause a beginner's problem, but I started with C before Lisp, and
I prefer Lisp! What makes you assume that a person's enthusiam for Lisp
wouldn't be enough to get down to working on coding well? Did you start
with Lisp or not?
>
> > Yes, there are good programmers and bad programmers,
> > Lisp makes good software design easier for a Good programmer
> > and makes a bad programmer better (in terms of their thinking
> > paradigm)
> I agree with your first statement, yet disagree with the second. To
the
> extent that the language does allow one to increase ones productivity
(even
> if one IS a bad programmer), it does make one better. But (and this
is a
> large BUT) it does not necessarily make the resulting code more
efficient,
> more maintainable, or better designed WRT the language. Since this is
the
> stumbling block for most projects, I don't see how using Lisp
automatically
> makes bad programmers better. In fact, it may make it easier for a
bad
> programmer to crank out more lines of putrid code. Over the years,
I've
> found that what makes good software is not what you are able to put
in, but
> what you are able to leave out. Lisp would give more leverage to bad
> programmers to produce ever more lines of bad code.
>
Let me clarify. My point was, programmers' skill being what it is
(assume good for now-and if bad, teachable), do you think there are any
benefits to using Lisp over another language? And if you assume the
worst programmer, do you think Lisp is more likely to teach that bad
programmer good programming habits?
I would say that if you say no, that's a design flaw of Lisp. Because
a good language should be more likely, in an ergonomic sense, to make it
harder to get into poor habits, or style. But you won't say no, so my
point still stands about the "paradigm shift" Lisp allows. (Or you will
say no, which means that you have a neutral opinion of Lisp, and don't
care whether you write in C or Lisp.) ;)
> >....so why object to the idea that more people ought to use it.
> > The rising tide lifts ALL boats. So what about 4 BMW's, and 400
yugos.
> > There will be more BMW's the more people who happen to be good at
lesser
> > languages discover Lisp! (refering to your car analogy below)....Its
> > like saying that Quantum Theory shouldn't be taught, because few
will
> > understand. Well, I say, paradigm shifts only happen because someone
> > does care to teach the new paradigm.
> We do teach the paradigm. But we teach it to those who opt in because
they
> are perceptive enough to see that what they have isn't good enough and
are
> motivated enough to find something different. Why should I pander to
the
> lazy and stupid when I can surround myself with a community that wants
to be
> a notch above the ordinary. Call me elitist. In some ways I am.
>
Well, I agree, I suppose I wouldn't bother to force lisp on a resistant
soul-their loss. But I hesitate to grossly generalize that non-Lispers
are ALL stupid and lazy, etc. I'm fighting (a very uphill battle, I
might say) to have more and more patience for my fellow man. I'm
encouraged, though, that you at least agree that people can be taught,
and inspired down a path that others have tread which leads to
greatness. Like Newton, who said that he was able to see what he saw,
because he was standing on the shoulders of giants. This whole
conversation is because of John McCarthy, and his life was inspired by
others, too, and so on......
> > Frank, on hand you say below that "the cold AI winter winds still
blow
> > around Lisp", and then turn around a bit later and refute my claim
that
> > Lisp is plagued with myths.
> The myths are out there among the ignorant - not in the community.
Let
> enough riff-raff in and the myths follow and become true as they put
> pressure on the community to twist the language into something it is
not.
>
I don't think the community will feel ANY pressure to do anything it
doesn't want to, if you represent the normal attitude towards those
"riff-raff" ;)
Regards,
Aaron.
>
> So, let me understand you, are you saying that Lisp requires MORE work
> to write well than other languages, all else being equal? Wouldn't that
> make Lisp a worse design than, say C++, by your argument? If you're not
> saying that, then your saying that Lisp requires as much work as any
> other language to become proficient, in which case you've made no point
> about anything, and have no reason to prefer Lisp to any other language.
You can ask a similar kind of question about violins and home MIDI
keyboards. Does the fact that a violin takes more (much more!) work
to play well than a home MIDI keyboard make it a worse design? Or to
compare two somewhat more equal contenders: does the fact that it
takes more work to learn to play a grand piano really well than a home
MIDI keyboard as well as it can be make it a worse design?
The point is that the violin or the grand piano let you go *further*.
So does Lisp.
--tim
(Note I'm deliberately specifying `home MIDI keyboard' to exclude some
of the beautiful
weighted-key-and-wonderfully-synthesized/sampled-piano things you can
get in the professional realm: they still have limitations (for
instance they don't have all the changes with the weather and so on
that make real pianos interesting) but they're a lot closer.)
This is most probably a mistaken expression of the real desire. What
you most probably want is a portable means of arriving at definitions
in Common Lisp that reflect the nature of the C definitions, not to be
able to "port" your hand-written definitions. Portability should not
be done at the source code level, as that may entail implementation-
specific properties that are very hard to duplicate elsewhere, such as
varying needs to accomodate complex declarations. Rather, conforming
Common Lisp code should read ANSI C code and extract the definitions
from it and produce implementation-specific Foreign Function Interface
code. This code can be arbitrarily hairy to reflect the what the Lisp
and C worlds need to interact, including automatic type conversions
and whatever else is necessary to talk to ANSI C. (Other languages
should not be too hard to add to this, once the C substrate is there.)
| (f) Create a portable interchange format that's lower level and more
| compact than source code, but can be efficiently translated at load
| time into machine code - portable FASL's, if you will.
Once upon a time, the SGML world wanted a binary interchange format
that would enable much less character-by-character parsing, i.e., that
maintained significant parsing state in the interchange format itself.
This standardization project was canned after several years of not
getting anywhere. However, I would nominate ASN.1 as the language
that best suits your needs. Instead of having to parse symbols and
strings and such character by character, you could efficiently store
the length of the object and just map the data right into memory.
ASN.1 even has bignum support, although integers are known to be slow
to parse in BER due to the use of a "continuation" bit in the values.
| (h) Get rid of some of the cruft in the language - do we really need
| all of the CxxxxxR functions? Do we really need first through tenth,
| or would just telling people to use nth suffice? [...]
Please, don't waste your time on wondering whether we need these.
They're there, and they don't do any harm at all being there. All of
this, which you call a "personal rant", is fairly random in my view.
| But in any case, if the standard is to be changed, it should be
| changed to make the language a better Common Lisp, not just aligned
| to the latest fad of the hour.
I think much of the slow progress in standards circles (at least in
the most responsible standards cirlces) is intended to discourage the
short-time view in a very strong, very painful way, so those who want
fads of the hour will be incredibly frustrated and leave in disgust.
This is a good thing, but the price may be too high for some of the
ideas that aren't just fads of the hour.
> ...People bet their spare time, not their lives, on software
> they give away. It is a luxury, not a necessity.
What I missed from start of this FS/OS discussion is the fact,
that it neither is so that Free Software/Open Software is gratis
nor that FS/OS programmers didn`t get paid for their work.
Thats nonsense - the core programmers of the major FS/OS
Software get all paid for their work. (Apache, Postgres, KDE...)
Just to bring in some new friuts in the debate...
Regards,
Jochen Schmidt
> The standard response from the FS/OS camp is "well, how much support do you
> get for the closed-source software that you pay for, anyway?"
>
Support comes in many ways. One of the advantages of having paid
support contracts is that the respective responsabilities of both the
buyer and the vendor are explicitly defined and can be enforced by
judicial action.
It's also very convenient to tell your boss it's the vendors problem
;-)
> Technically competent end-users who have wandered through the tech-support
> maze at [insert name of any big software vendor here] will tend to answer
> "virtually none".
>
In my experience, as employee of a fairly important customer, after
having proven competent, you can usually get the contact info for the
actual developers and you can avoid the telephone firewall.
> Question for those with more experience in the biz: where is the dividing
> line between companies that say "you should be grateful that we let you have
> this program for only $500, so we'll take our own sweet time about solving
> your problems with it" and companies that say "we want our customers to keep
> renewing their licenses, so we will give our support team the resources it
> needs"?
>
I don't think there is a dividing line between companies. Each company
probably has clients that get the first kind of treatment and clients
that get very good support.
> So, let me understand you, are you saying that Lisp requires MORE work
> to write well than other languages, all else being equal? Wouldn't that
> make Lisp a worse design than, say C++, by your argument?
I dunno. It requires more work to do fusion than fission. It requires
more work to do calculus than algebra. Does this suggest these are
"bad design"? Some good design requires training, I think.
Lisp specifically allows you power, which can be used for good or evil.
You can restrict the ability to use it for evil by simultaneously
restricting the ability to do good. I'm told by others, but can't comment
first hand, that in the middle you'll reach Ada in which you can only do
any given program one way, for better or worse. Democracy is also like
this--designed for the masses, it optimizes the worst case, not the best case.
Dictatorships clearly permit a better solutions than dictatorships (as Perot
reminded us a few years ago, when he ran), they just also risk decaying
into worse solutions than democracy hopes to bring; the only difference
between a benevolent dictator and a malevolent one is luck.
(I suspect the continuum between Unitarianism (or even agnosticism) and
Fundamentalist christian points of view would allow a similar analysis,
with the underlying design difference being a trade-off between individual
choice on various issues and whether the risk of allowing choice risks
bad choice, and how acceptable such risk is.)
What people ARE saying is that up-front effort learning a language may be
longer, but the time spent to use the language is lessened. Likewise,
especially compared to a spartan language like Scheme, CL requires a lot of
up front compiler implementation but the intent is that the repetitive task
that follows is lessened. To properly weigh the cost of the solutions, you
have to weigh the cost of learning plus the cost of using that knowledge
efficiently and reliably. That's where C++ would lose, I think, since it
may not take as much work to learn but once totally learned it still has a lot
of weird bugs available that no matter how well you know the language are
going to be hard to avoid. So teaching time is certainly important, but
teaching time is a constant, and is (hopefully) dominated by application
development time, where hopefully you're going to develop lots of applications
and the cost of teaching time can be distributed over those other tasks.
If a language is fast to teach but gets you so mired in your first application
that you never go on to design a hundred more, I think that's a problem.
And it's characteristic of Lisp programmers that they look for things that
are said to be outright impossible in other languages and say "yeah, i can
knock that off for you this afternoon if i get some free time". In fact,
Symbolics used to have a sign on the wall somewhere that said "At Symbolics,
we make hard problems easy and vice versa." It was a joke, but there was
perhaps some underlying truth. All languages are optimized for something at
the expense of something else. Lisp is optimized for thinking about hard
problems. That doesn't mean it's hard to think about easy problems, but it
does mean that if we lost a few customers who only had easy problems, I think
we'd be less concerned than if we lost some who had hard problems... modulo
the problem of getting any customers at all. We need the language not to
have so few customers that it dies for lack of dollars, but we don't need it
to be come the "hello world" of choice.
> Let me clarify. My point was, programmers' skill being what it is
> (assume good for now-and if bad, teachable), do you think there are any
> benefits to using Lisp over another language? And if you assume the
> worst programmer, do you think Lisp is more likely to teach that bad
> programmer good programming habits?
Languages ought not be teachers. Teachers of languages ought be teachers.
Can Lisp be taught well? Yes. Does Lisp have in it to require such good
teaching? No. Perhaps you want Pascal or Ada.
Even Java allows and invites a lot of remarkably bad habits in the absence
of good teaching. String consing, for example, is an example of something
that almost any Java program I've seen that hasn't been specifically tuned
suffers from because the operators as provided invite bad style...
> ``If you want to be a good guitar player, try to play a saxophone
> piece on the guitar. The average saxophonist is better than the
> average guitarist and you're bound to improve your playing.''
> --Richie Blackmore (paraphrased)
Cool quote. I've heard similar things said about Lisp programmers in other
languages--that even when they don't have Lisp to work in, they still benefit
from their training in how to think and correspondingly how to structure
code to be robust.
Tim,
You've brought up an area close to my heart, since I'm a classically
trained pianist, and teach piano/perform for a living. I appreciate your
analogy here. I think in a certain sense, loosely, the reverse of what
you are saying my apply, and still illustrate my earlier point.
Let's take a very high quality digital piano vs. an Acoustic Grand (a
vintage Mason&Hamlin or Steinway). I know for a fact that playing, i.e.
expressing artistic subtlety is much, much, easier on the acoustic
grand. So, while I agree that this subtlety is rare for an artist to
acquire, and few really have it, I disagree that once having it, an
acoustic makes you work harder. Precisely the opposite. I have a
high-quality digital piano myself, and it takes a certain effort
(inversely proportional to the quality of the piano) to make it "sing",
in the way a steinway (in the right hands) can "sing". So I know I can
sit down on a beautiful grand, and get delicate pianissimos for
instance, where the upright or digital piano sounds less dynamic. I've
seen students work "against" the inferior instruments that they have at
their disposal, only to give a recital on a grand, expressing even more
than they could have even imagined; just because the instrument was
better.
Taking your analogy further, the people who WILL get meaningful sounds
out of inferior instruments are either talented, or experienced with
high quality instruments, or both. An artist who paints well manually
will use a computer painting tool more artistically, too. (Assuming they
can negotiate the interface....a separate question of technology that I
am removing from the argument just for this point)
Going back and filling in "better instrument" for "Lisp", and you see
the point I'm trying to make...
Your thoughts?