In article <3052030527425...@naggum.no> Erik Naggum <e...@naggum.no> wrote:
EN> [Dylan gives you] _all_ of the Lisp goodies? except macros, EN> except `read' on source code, except `pprint', except ...
I seem to remember a posting by Scott Fahlman on comp.lang.dylan saying that they were expecting to extend Dylan with abstract syntax data-structures in order to give it eval-twice macros and ease implementation of hygienic macro systems. Of course, the abstract syntax would be based on objects, not on list structure.
The point is that you do not need to have Lisp syntax in order to have macros, read and pprint. However, read and pprint are trivial to implement with Lisp syntax, and might be a little more bothersome with infix syntax. Not actually difficult, just unpleasant.
In article <3052030527425...@naggum.no> Erik Naggum <e...@naggum.no> wrote:
EN> [Dylan gives you] _all_ of the Lisp goodies? except macros, EN> except `read' on source code, except `pprint', except ...
I seem to remember a posting by Scott Fahlman on comp.lang.dylan saying that they were expecting to extend Dylan with abstract syntax data-structures in order to give it eval-twice macros and ease implementation of hygienic macro systems. Of course, the abstract syntax would be based on objects, not on list structure.
The point is that you do not need to have Lisp syntax in order to have macros, read and pprint. However, read and pprint are trivial to implement with Lisp syntax, and might be a little more bothersome with infix syntax. Not actually difficult, just unpleasant.
>> BTW, is there some CL code for doing FTP for ACL for Windows?
I recently wrote an ftp client. I'll send you a copy. I'm working on an nntp client as well, and plan to continue working on code for other popular protocols (pop, imap, http, irc). While these are a challenge to write in other languages (like C or Java) they are almost too easy to do in Lisp.
| The point is that you do not need to have Lisp syntax in order to have | macros, read and pprint. However, read and pprint are trivial to | implement with Lisp syntax, and might be a little more bothersome with | infix syntax. Not actually difficult, just unpleasant.
Of course, some of us do remember when Dylan had both a prefix and an infix syntax and transformation between them was supposed to be straight-forward. And I do wonder what was actually gained by dropping the prefix syntax.
#\Erik -- Those who do not know Lisp are doomed to reimplement it.
Has anyone checked out the STELLA language concept, which can be translated into either Common LISP or C++?
It's part of the LOOM project at ISI (http://www.isi.edu), and it doesn't seem to be available independently. PowerLOOM, which is planned to be available in Dec. 96, is written in STELLA, as is much of STELLA itself (apparently).
In article <TMB.96Sep24192...@best.best.com> t...@intentionally.blank-see.headers writes:
> Well, whenever I get involved in a new project, I give Lisp serious > consideration. My group is looking into building a bunch of dynamic > Web services, so I just went through evaluating all of this again.
This sounds familiar.
> People are willing to learn a new language, and they have a lot of > choices. Java, Perl, Python, Tcl, C++, etc. They realize quickly > that something dynamic would be nice. The language needs to be fairly > standard so that co-workers can pick up a book and learn about it. > This also requires multithreading and database integration (hence an > FFI). It needs to run under UNIX and NT (since those are the > platforms we deliver on). We may also want a standard GUI toolkit.
Same here. Only I'm not always part of the decision process.
> The only Lisp implementations that satisfy those constraints to my > knowledge are Harlequin and Allegro. They are both excellent > products. However to the tune of >$4000 (yes, that's right, that's > how much those licenses cost for people outside academia), you can
Would that be LispWorks? I've been wondering how much it cost, but suspected that if I had to ask, then it would surely be too expensive. Products without a price list that you have to ask for often are. If the >$4000 is for ACL for Unix, then I'm not suprised, either. I seem to recall seeing prices like that refered to here and there.
> hardly just buy them "out of curiosity". Now that the 80's are over, > management actually wants some kind of concrete justification for > this. With non-trivial runtime licenses, there are serious concerns > about whether we could ever use them in any product (mainly because of > the legal and managerial hassles involved, not even so much because of > the cost). Long term product maintenance is also an issue (who in > development/support is going to pick up maintenance of CL software)?
Ah, yes. Without a ready supply of Lisp programmers, you're in trouble. It's far safer to choose C/C++, since it'll be years before there's a shortage of _them_.
> And few of my coworkers are willing to invest much time learning a new > language on the 30-60 day evaluation license you get with those > implementations. (Allegro's FreeLisp is a nice idea, but only runs on > Windows.)
Hmmm. I don't know anyone in software development who likes taking chances. It makes them a little short sighted, but if it keeps them working, I can't blame them for playing safe.
> The alternative is all too persuasive to people who weren't brought up > on Lisp: go out, buy a few books on "Learning Perl in 48 Hours" and > "Writing Dynamic Web Applications in Perl (CD with Perl and sample for > Windows and major UNIX platforms included)", type "perl" at the > prompt, and go. No licensing hassles, no need for multithreading > (small footprint), shallow learning curves (doing small things is easy > in Perl--you only recognize the mess you got yourself into later), > source level debugging, and complete cross platform availability. > Despite all the bad things that can be said about Perl, it actually is > a highly dynamic and expressive language (of course, it's also slow, > not robust, and idiosyncratic), so people actually do get the same > feeling of power they get with Lisp.
Best of all, it's there. It's another case of playing safe. You know that Perl will be around for many years, regardless of how many, of how few, people want to use it. We don't have to wait for Larry Wall to port it to a new platform, coz of a mass of other people who'll do that for him.
Perl is incredibly safe.
> I have found it difficult to argue or work against that. I also find > it difficult to put in an order for, say, $30000 in software licenses > for something that neither is hyped up much these days nor for which I > can make a reasonable business justification, in particular when systems > that are hyped up much more (Java, Smalltalk, etc.) are either essentially > free or a fraction of the cost.
Yes, hype. Memes.
> If I got my facts wrong and you know of a cheap, multithreaded > CommonLisp and books like "Learning CommonLisp in 21 Days", > "Practical String Processing in CommonLisp", and "Writing Web > Applications in CommonLisp", do let me know (the last one may > actually be in the works I hear).
It's time that some of us tried writing such books. Perhaps a book will be my best hope for making money out of Lisp coding. I have one or two personal projects that might make an excellent book of this sort. However, I bad enough at writing internal documentation, never mind a readable article or a book. Still, next time I'm unemployed, I'll seriously consider it.
Let's fight back with some pro-Lisp memes. -- <URL:http://www.enrapture.com/cybes/> You can never browse enough Future generations are relying on us It's a world we've made - Incubus We're living on a knife edge, looking for the ground -- Hawkwind
In article <3052584787558...@naggum.no> e...@naggum.no "Erik Naggum" writes: > Of course, some of us do remember when Dylan had both a prefix and an infix > syntax and transformation between them was supposed to be straight-forward. > And I do wonder what was actually gained by dropping the prefix syntax.
A larger market, perhaps? I'd guess that Apple saw it that way, being Apple. If your platform is one where most programmers are currently using C++, which I suspect may be the case with the Mac, then Dylan as it exists today may be more attractive to C++ than Lisp dialects such as CL and Scheme.
But I've been saying this for the last couple of weeks. If you're still wondering why Apple made the change to Dylan, perhaps you'd better ask them. Alternately, ask CMU and Harlequin why they've not restored the old Lisp-style syntax.
In future, I'll abbreviate this to just two words: historical baggage. I think you'll know what I mean. ;-) I'm reminded of the opening sequence of Trainspotting for some reason.
Choose... -- <URL:http://www.enrapture.com/cybes/> You can never browse enough Future generations are relying on us It's a world we've made - Incubus We're living on a knife edge, looking for the ground -- Hawkwind
In article <JKF.96Sep24111...@tiger.Franz.com> j...@Franz.com "Sean Foderaro" writes:
> >> BTW, is there some CL code for doing FTP for ACL for Windows?
> I recently wrote an ftp client. I'll send you a copy. I'm working on > an nntp client as well, and plan to continue working on code > for other popular protocols (pop, imap, http, irc). > While these are a challenge to write in other languages (like C or Java) > they are almost too easy to do in Lisp.
Indeed, it took me almost not time at all to create a finger server, and only a little longer for a very crude http server.
Perhaps someday I'll add a meta-language (either compiling to CL, or interpreting) for CGI, and a compiler that can create C++ code for ISAPI DLLs. While I can justify doing this for fun, it might also one day save me some time and effort.
Thanks for the ftp client. I'll play with it in a few days - right now, I have some C code to port from Unix to Win32. Eventually, I'll do some more work on my http server.
Thanks. -- <URL:http://www.enrapture.com/cybes/> You can never browse enough Future generations are relying on us It's a world we've made - Incubus We're living on a knife edge, looking for the ground -- Hawkwind
cyber_sur...@wildcard.demon.co.uk wrote: >Indeed, it took me almost not time at all to create a finger server, >and only a little longer for a very crude http server.
>Perhaps someday I'll add a meta-language (either compiling to CL, >or interpreting) for CGI, and a compiler that can create C++ code >for ISAPI DLLs. While I can justify doing this for fun, it might >also one day save me some time and effort.
> We have been specific in saying over and over. Those of us who have to program > for the PC _need_ a truely windows aware Lisp: we need OCX capability, true > OLE compatability, dynamic linking to the system's DLLs, and for a price > somewhere low side of $500.
I agree in principle, but you have to remember that OLE is, deliberately, a moving target. The only company that has historically been able to keep up with MS and ship OLE stuff in a timely fashion is Borland, and even they have been slipping lately. Besides, in a real environment (such as Delphi) you almost never need to use OCX controls. It's easier and cheaper to extend the stuff that's built into the environment, and the result performs a lot better. As for the price, VB Enterprise was considerably more expensive than $500 last time I looked.
Anyway, doesn't Allegro Win already provide dynamic linking to DLL's?
> Until this happens, Lisp will remain what it is: > a very good language for building huge monolithic vertical apps on large > systems. And I'll still be stuck with Visual Basic because my wife and I happen > to like to eat evry day.
| Of course, some of us do remember when Dylan had both a prefix and an infix | syntax and transformation between them was supposed to be straight-forward. | And I do wonder what was actually gained by dropping the prefix syntax.
[Cyber Surfer]
| A larger market, perhaps? I'd guess that Apple saw it that way, being | Apple. If your platform is one where most programmers are currently | using C++, which I suspect may be the case with the Mac, then Dylan as | it exists today may be more attractive to C++ than Lisp dialects such | as CL and Scheme.
You're not paying attention to what I'm writing. My question was about dropping the prefix syntax, not about gaining the infix syntax, since Dylan had both to begin with. The infix syntax should have had sufficient light to attract the common houseflies.
Again, I wonder what was _actually_ gained by dropping the prefix syntax.
#\Erik -- Those who do not know Lisp are doomed to reimplement it.
In article <dlamkins-ya023080002509962113550...@news.teleport.com> dlamk...@teleport.com "David B. Lamkins" writes:
> >Indeed, it took me almost not time at all to create a finger server, > >and only a little longer for a very crude http server.
> >Perhaps someday I'll add a meta-language (either compiling to CL, > >or interpreting) for CGI, and a compiler that can create C++ code > >for ISAPI DLLs. While I can justify doing this for fun, it might > >also one day save me some time and effort.
I'm aware of it. What I need is something to help me develop and prototype CGI code for web servers that use ISAPI. While CL-HTTP may be a fine web server, it's not one that I can use right now. My goal is not to replace an existing web server with one that uses Lisp, but to make writting CGI code using C++/ISAPI easier.
Like it or not, some clients don't use Lisp for their web servers.
Thanks. -- <URL:http://www.enrapture.com/cybes/> You can never browse enough Future generations are relying on us It's a world we've made - Incubus We're living on a knife edge, looking for the ground -- Hawkwind
In article <3052746344930...@naggum.no> e...@naggum.no "Erik Naggum" writes: > You're not paying attention to what I'm writing. My question was about > dropping the prefix syntax, not about gaining the infix syntax, since Dylan > had both to begin with. The infix syntax should have had sufficient light > to attract the common houseflies.
It could be that Apple chose a single syntax to avoid confusion. That would be my guess. It seems like a sufficiently good reason to me, if you think about what Apple were attempting to acheive.
> Again, I wonder what was _actually_ gained by dropping the prefix syntax.
A major source of confusion. Look at it from the point of view of a C++ programmer new to Lisp (I think of Dylan as a dialect of Lisp). The C++ syntax may be confusing enough itself, but that can be explained (and justified, by some) by pointing at its history. While you and I may appreciate the elegance of the traditional Lisp syntax, anyone new to Lisp will _not_. Giving Dylan programmers a choice of syntax could just make matters worse, as those of us who prefer the traditional syntax would continue to use it.
So, you see, I _was_ paying attention. I think that you're just failing to understand the extent of the problem. Think of non-Lisp programmers as idiots to have to be guided gently to enlightenment. If we push them with cattle-prods, they'll run away and play with C++ for the next few decades. Everytime they think of Lisp or Dylan, they'll remember how much it hurt.
So, I suspect that Apple realised this and took some action to ensure that the more confusing syntax couldn't be used at all. Since then, Apple have gone even further and switched to Java... -- <URL:http://www.enrapture.com/cybes/> You can never browse enough Future generations are relying on us It's a world we've made - Incubus We're living on a knife edge, looking for the ground -- Hawkwind
In article <324A8632.2...@iwaynet.net> bto...@iwaynet.net "Bruce Tobin" writes: > William A. Barnett-Lewis wrote:
> > We have been specific in saying over and over. Those of us who have to program> > for the PC _need_ a truely windows aware Lisp: we need OCX capability, true > > OLE compatability, dynamic linking to the system's DLLs, and for a price > > somewhere low side of $500.
> I agree in principle, but you have to remember that OLE is, > deliberately, a moving target. The only company that has > historically been able to keep up with MS and ship OLE stuff > in a timely fashion is Borland, and even they have been slipping > lately. Besides, in a real environment (such as Delphi) you almost > never need to use OCX controls. It's easier and cheaper to > extend the stuff that's built into the environment, and the result > performs a lot better. As for the price, VB Enterprise was > considerably more expensive than $500 last time I looked.
That fine so long as all you need are very simple things. It's the more specialised controls that are so valuable.
> Anyway, doesn't Allegro Win already provide dynamic linking to > DLL's?
Can ACL for Windows handle callback functions? The docs in the Lite version impliy this, but I can't find any details. If it's possible to use an OCX that way, it would still require adding a lot of code. That takes time which many programmers won't have. So, they'll look at ACL, they'll look at VC++, and choose the one that does what they need right after you install it.
> > Until this happens, Lisp will remain what it is: > > a very good language for building huge monolithic vertical apps on large > > systems. And I'll still be stuck with Visual Basic because my wife and I > happen > > to like to eat evry day.
Painfully true. It's little good saying, "If I add this, it'll do what we need." Deadlines can make this impractical. Saying that it's possible in theory doesn't sell boxes. While MS will always have an edge on their platforms, so do vendors like Borland, Symantec, Watcom, and many others. Lisp vendors are way down the list.
A few of us will be priviledged enough to not have to worry about this. I'll gladly write Lisp code for food, but nobody is asking me to, or any other Windows developer I know. I blame memes from MS for this sad state of affairs, and a complacency from the Lisp community. On the other, to be fair, it looks like not many Lisp people are using Windows, so why care?
I only care coz I've use Lisp for some of my own projects, and I'd love to use it for the stuff I get paid for. Nobody I know gives a shit about that, but it doesn't change how I feel. I still prefer Lisp every time - it just makes no difference when I have a deadline to meet, as it's always easier to use C/C++ instead. It should be different, but the tools available for C/C++ (for Windows) do actually make it _easier_. Go figure.
Yes, I should be writing Lisp code to make it easier to do these things in Lisp, but as I've said repeatadly, I'm not paid to write Lisp code - how do I get the time to use Lisp? How do we convince the idiots who insist one creating and _selling_ so many C++ tools that they should be using Lisp? While those tools exist in such abundance, developers will be expected to use them.
Would anyone like to form a Lisp Developers Revolutionary Front, and bomb the next C++ developers convention? ;-) I'm only asking because it apears that the Lisp software available today ain't good enough to stop these bastards. I don't think that bombs will, either - there's too much money backing them.
Still, I can't shake the feeling of heresy whenever I think about using Lisp to write software which so many people say MUST be written in C++. Why is that? I know Lisp can, at least in theory, be used to write exactly the same software as C++, but how do I convince somebody who doesn't know Lisp as well as I do that this is possible? If somebody can tell me that CGI code using ISAPI, or a general DLL, or perhaps even an ActiveX control, can be written using Brand X, then I'll be happy to buy a copy and use it to convince other people that it can be done.
Meanwhile, please excuse me if I still use C++. <hawk, spit> -- <URL:http://www.enrapture.com/cybes/> You can never browse enough Future generations are relying on us It's a world we've made - Incubus We're living on a knife edge, looking for the ground -- Hawkwind
| While you and I may appreciate the elegance of the traditional Lisp | syntax, anyone new to Lisp will _not_.
Fact: people discover Lisp all the time, and enjoy it, play with it, use it.
Fact: people discover your articles, and think that Lisp is dead and that only whining losers would use Lisp if it _were_ alive.
If you want to hurt Lisp even more than you already have, go on, whine and complain and portray Lisp as the last remnants of a class society bemoaned only by the withering nobility.
If you want to help Lisp thrive and become what you whine and complain that it is not, leave it to people competent and in position to do something about it, don't destroy their chances at success by poisoning their well.
You said you were writing a Lisp to C system for your own use. Embellish it to produce that abominable C++ code your _environment_ wants as input from you. Nobody should be interested in the tools you use as long as the product you deliver meets the (tacit and explicit) requirements that would have been met if you had used the tools they think you're using. I know this works, because this is how I moved to programming in Lisp from menial labor in C and C++.
#\Erik -- Those who do not know Lisp are doomed to reimplement it.
A few of us will be priviledged enough to not have to worry about this. I'll gladly write Lisp code for food, but nobody is asking me to, or any other Windows developer I know. I blame memes from MS for this sad state of affairs, and a complacency from the Lisp community. On the other, to be fair, it looks like not many Lisp people are using Windows, so why care?
Why memes from MS? MS only jumped on the C++ bandwagon after other companies did. MS is not the source of all of the software world's ills. In fact, I seem to remember some (apocryphal?) quote from Bill Gates about Dylan, which was very positive.
I only care coz I've use Lisp for some of my own projects, and I'd love to use it for the stuff I get paid for. Nobody I know gives a shit about that, but it doesn't change how I feel. I still prefer Lisp every time - it just makes no difference when I have a deadline to meet, as it's always easier to use C/C++ instead. It should be different, but the tools available for C/C++ (for Windows) do actually make it _easier_. Go figure.
Yes, I should be writing Lisp code to make it easier to do these things in Lisp, but as I've said repeatadly, I'm not paid to write Lisp code - how do I get the time to use Lisp? How do we convince the idiots who insist one creating and _selling_ so many C++ tools that they should be using Lisp? While those tools exist in such abundance, developers will be expected to use them.
This worldview contains some very strange reasoning. In fact, you paint yourself an idiot, just like those C++ vendors, since you admit yourself that you choose to use C++ in spite of its perceived flaws. I suppose the tool vendors share your view that there is no money in Li$p.
Would anyone like to form a Lisp Developers Revolutionary Front, and bomb the next C++ developers convention? ;-) I'm only asking because it apears that the Lisp software available today ain't good enough to stop these bastards. I don't think that bombs will, either - there's too much money backing them.
Your money too, apparently! Why not buy a Lisp compiler, and start writing apps, or libraries that make programming in Windows easier, or whatever?
Still, I can't shake the feeling of heresy whenever I think about using Lisp to write software which so many people say MUST be written in C++. Why is that? I know Lisp can, at least in theory, be used to write exactly the same software as C++, but how do I convince somebody who doesn't know Lisp as well as I do that this is possible?
Why be so concerned with convincing people? Use Lisp, do it better and faster and with fewer bugs and comparable performance, and smart programmers will be convinced. If you can't, maybe you should be open to the possibility that C++ (or VB, or Delphi, or Java, or ...) is better for some things.
> | While you and I may appreciate the elegance of the traditional Lisp > | syntax, anyone new to Lisp will _not_.
> Fact: people discover Lisp all the time, and enjoy it, play with it, use > it.
> Fact: people discover your articles, and think that Lisp is dead and that > only whining losers would use Lisp if it _were_ alive.
I think the biggest indication that Lisp is seems dead is that the biggest Lisp repository, CMU Lisp Archives, hasn't had anything added to it in almost a year, according to the What's New list. This despite the fact the several versions of CLISP have come and gone, gcl is at 2.2, there is a working version of CMUCL for FreeBSD and Linux being developed, and ILOG Talk is now freely available for Linux. There are probably many other things going on with Scheme and Dylan, etc., but no one seems to be updating CMU Archives.
Having things change on the archive would make Lisp appear alive and well. As it is, it looks rather dead.
In article <ROGOFF.96Sep27153...@sccm.Stanford.EDU> rog...@sccm.stanford.edu "Brian Rogoff" writes:
> Why memes from MS? MS only jumped on the C++ bandwagon after other companies > did. MS is not the source of all of the software world's ills. In fact, I > seem to remember some (apocryphal?) quote from Bill Gates about Dylan, which > was very positive.
Well, if MS were to adopt Dylan, and release a development system called Visual Dylan, I might feel a whole lot better. ;-) While we can't blame MS for C++, they are at least _strongly_ supporting the language.
> This worldview contains some very strange reasoning. In fact, you paint > yourself an idiot, just like those C++ vendors, since you admit yourself > that you choose to use C++ in spite of its perceived flaws. I suppose > the tool vendors share your view that there is no money in Li$p.
I didn't say I chose C++. I said that I'm _paid_ to use it. There's a hell of a difference. Show me a Lisp that can produce a DLL using ISAPI, and I'll happily use it. Meanwhile, C++ is what MS design their tools to use. If Franz or Harlequin could offer us tools that support the _same features_ as C++, it would be easy.
Some people here have suggested that Lisp can do the same things. For example, if you use CL-HTTP. This may be true, but for some odd reason most people want to use more "conventional" web servers. Take a look at the comp.infosystems.www.servers.* newsgroups. Why? It may be that they're simply ignorant of Lisp and software like CL-HTTP. Would _you_ like to disillusion them? You'll need a working example to offer as an alternative, as they'll be _very_ sceptical. Some people will even argue over which OS should be used, never mind which _language_.
I can barely keep up with the tools I'm paid to use, never mind develop new ones that work very differently, in Lisp.
> Would anyone like to form a Lisp Developers Revolutionary Front, > and bomb the next C++ developers convention? ;-) I'm only asking > because it apears that the Lisp software available today ain't > good enough to stop these bastards. I don't think that bombs will, > either - there's too much money backing them.
> Your money too, apparently! Why not buy a Lisp compiler, and start > writing apps, or libraries that make programming in Windows easier, or > whatever?
If I wasn't being paid to write C++ apps, then I might. If commercial Lisps didn't cost silly prices like $2500. If MS weren't spreading C++ memes so effectively. I'd need millions to fight MS. Even if my efforts could make a differnce, which might be the case if there were enough others like myself, we'd be assuming that I have the time. Right now, I don't.
Would coding in Lisp make Windows development easier? Sorry for being obsessed with a single platform, but that's the only one I'm currently using. It's also a rather significant one, considering the size of the market for Windows software.
> Still, I can't shake the feeling of heresy whenever I think about > using Lisp to write software which so many people say MUST be written > in C++. Why is that? I know Lisp can, at least in theory, be used > to write exactly the same software as C++, but how do I convince > somebody who doesn't know Lisp as well as I do that this is possible?
> Why be so concerned with convincing people? Use Lisp, do it better and faster > and with fewer bugs and comparable performance, and smart programmers will > be convinced. If you can't, maybe you should be open to the possibility that > C++ (or VB, or Delphi, or Java, or ...) is better for some things.
Sure. Faster? I dunno about most Lisps, but ACL for Windows appears to be rather slow at openning a dialog window. I can live with that, but I don't know if everyone will. On the other hand, HotMetal Pro also displays a certain sluggishness, but I know that people can accept this.
In the case of ACL, I'd guess that it isn't loading a dialog from the resource file. While I like the Interface Builder, and the way it integrates with Lisp, this isn't the Windows way of doing it. Consequently, it loses an edge that is a major feature of Windows apps: to let Windows do a lot of the hard work for an app. Issues like internationalisation could be handled by adding code to the Interface Builder, or by post-processing the code that it generates. We can still say that Windows development tools already handle this.
So, is Lisp necessarily better? I'm not sure. ACL suffers when you look at it from this point of view, which might be expected for a Windows development tool. It's an excellent _Lisp_ development tool. You might be amazed at how much attention Windows people pay to the user interface, or how critical people can be of apps that don't meet the high standards set by the best Windows apps.
As for convincing people, like clients and employers, are you suggesting that their opinions don't matter? Who the hell is going to pay for the apps? These things _do_ matter, unless you're self-employed or running the company yourself. I've been unemployed long enough to appreciate this.
Why are so many Lisp people sure that the virtues of Lisp are powerful enough to sell Lisp as an alternative to C++? I can't even find a Lisp that compiles code to a DLL. I love Lisp, but I can't ignore some of the failings of the various implementations. Obviously, this is subjective. That's why I'm trying to explain the significance of these issues. -- <URL:http://www.enrapture.com/cybes/> You can never browse enough Future generations are relying on us It's a world we've made - Incubus We're living on a knife edge, looking for the ground -- Hawkwind
In article <3052849568663...@naggum.no> e...@naggum.no "Erik Naggum" writes: > | While you and I may appreciate the elegance of the traditional Lisp > | syntax, anyone new to Lisp will _not_.
> Fact: people discover Lisp all the time, and enjoy it, play with it, use > it.
I don't doubt it - I've done it myself. I've just not met many people who've also done it. Are you saying that because a few people discover Lisp, that's enough? I hope not.
> Fact: people discover your articles, and think that Lisp is dead and that > only whining losers would use Lisp if it _were_ alive. > > If you want to hurt Lisp even more than you already have, go on, whine and > complain and portray Lisp as the last remnants of a class society bemoaned > only by the withering nobility. > > If you want to help Lisp thrive and become what you whine and complain that > it is not, leave it to people competent and in position to do something > about it, don't destroy their chances at success by
I'm asking why nobody is selling a Lisp that is well known (to non-Lisp people), and which can equal C++ at writing apps. Apart from a few exceptions, like HotMetal Pro, it's damn hard to find any popular, examples of apps written in Lisp. I.e. an app for a domain with a lot of media attention, and/or a product that has been reviewed in mainsteam computer magazines.
I'm _not_ saying that Lisp is crap. What I'm saying is that it has a hard time competing with languages like C++. C++ specifically is a touch rival, as it's the one that the "establishment" (MS, AT&T, etc) support and promote.
Java has shown that a language with many of the features of Lisp can become popular enough to rival C++ in terms of media attention. We can expect Java to be around for at least a few more years. Many of the arguments used by the people that I remember attacking Lisp, until last year, would be just as "relevant" to Java. Perhaps those people are now attackiong Java, instead of Lisp. In spite of this, Java is gaining stronger support.
What makes Java so different from Lisp, so that it should be so successful? It could well be the syntax. It could simply be the association with the Web, so it'll be interesting to see how many people use it for non-Web apps. I think that's another issue, tho. I'm not sure that Smalltalk created this kind of excitement, and I remember some people being critical of the ST syntax. Perhaps syntax is more important to people than you think?
poisoning their well. > > You said you were writing a Lisp to C system for your own use. Embellish > it to produce that abominable C++ code your _environment_ wants as input > from you. Nobody should be interested in the tools you use as long as the > product you deliver meets the (tacit and explicit) requirements that would > have been met if you had used the tools they think you're using. I know > this works, because this is how I moved to programming in Lisp from menial > labor in C and C++. > > #\Erik
Well, I can think of one reason why, at least in some companies, the choie of language could be critical. Fortunately, I don't have to worry as much about other programmers being able to maintain my code. I just need to the time to work on my Lisp compiler, as isn't yet capable of assisting me with the code I'm developing.
Thanks for your encouragement. If I seem unncessarily negative, it's because I'm always asked to write things in C++. If I had a Lisp tool that could do what I'm asked to write, or could help be write it, then I'd be a lot more positive. Also, I _am_ very positive about Lisp, as I at least consider it as an option.
Most people _don't_. Ponder on that, please. If half as many people were eager for me - or anyone else - to write Lisp code for them as they are for me to write C++ code, I might be as complacent as you appear to be. -- <URL:http://www.enrapture.com/cybes/> You can never browse enough Future generations are relying on us It's a world we've made - Incubus We're living on a knife edge, looking for the ground -- Hawkwind
| Having things change on the archive would make Lisp appear alive and | well. As it is, it looks rather dead.
I'm sympathetic to your arguments, but I ran the SGML Repository at the University of Oslo for nearly six years, five of which with a significant impact in my own wallet, and I have another take on repositories going stale, and I can sum it up in one word: abuse. Provide something for free, and certain classes of users (let's call them "freshmen at life in general" and "recently graduated MBAs") will utterly fail to appreciate the nature and needs of a free resource. Both will "require" some level of service, and both will feel free to steal whatever is there and re-market it.
I have come to believe that free net resources exist as long as there is academic interest in a subject. When the interest reaches commercially viable levels, (1) people won't put commercially viable things there when they could have sold it, and (2) those who run them aren't likely to provide commercial enterprises with free marketing, anyway.
In any case, if the maintenance of a respository of any useful size is not well-funded, it requires _very_ dedicated people. Very dedicated people who create something that is recognized to be universally useful will get significantly de-motivated when they seek funding from the user community and they get turned down.
This may not reflect the fate of the CMU Lisp Repository, but the reason a repository goes stale may in fact be _increased_ interest, not reduced.
#\Erik -- Those who do not know Lisp are doomed to reimplement it.
In article <3052948066312...@naggum.no> e...@naggum.no "Erik Naggum" writes: > In any case, if the maintenance of a respository of any useful size is not > well-funded, it requires _very_ dedicated people. Very dedicated people > who create something that is recognized to be universally useful will get > significantly de-motivated when they seek funding from the user community > and they get turned down.
My bet is that this is the reason for the Repository becoming "stale". It's not a free lunch. I got my "copy" on CD-ROM, and some of the money made from selling it supports the people at CMU who maintain the Repository. So, buying more copies may help keep the Respository alive.
> This may not reflect the fate of the CMU Lisp Repository, but the reason a > repository goes stale may in fact be _increased_ interest, not reduced.
I'm not even sure that the Repository accurately reflects the degree to which Lisp is "alive". Not everybody can find what they need in there, but the numbers of people using it each year (FTP connections. CD-ROM purchases) reflect only the number of people using the Repository itself. This could easily just be a sebset of the people using Lisp today.
I'd say that it's just one metric. There are others, and some may be of more value than others. Which ones are of greater value may well vary, depending on how you use Lisp, and where. For examplle, it looks to me as if Lisp is very popular in education, amoung other places, but if you were to only look at the sales of commercial Lisps, you might miss this segment of the Lisp community. Similarly, if you only look at the number of users of the Repository, you might miss some of the commercial users.
We should also consider the Lisp users who aren't yet aware of the Repository. Some people won't have access to the Internet, and may be unaware of the CD-ROM distribution. I know I'm being pedantic, but unless we know how many people _could_ be using the Reposiroty, but who choose not to, the number of people who do use it means very little. We also need to know why they don't use it.
So, I agree with you, but for different reasons. ;-) -- <URL:http://www.enrapture.com/cybes/> You can never browse enough Future generations are relying on us It's a world we've made - Incubus We're living on a knife edge, looking for the ground -- Hawkwind
| I don't doubt it - I've done it myself. I've just not met many people | who've also done it. Are you saying that because a few people discover | Lisp, that's enough? I hope not.
I'm not interested in the mass market, if that answers your question. I think mass popularity is a liability, too, but obscurity is no guaranteed asset, either. Come to think of it, most of the things I like are obscure, off-off-mainstream kinds of things. Except coffee.
| What I'm saying is that it has a hard time competing with languages | like C++.
But don't you see? It _doesn't_. It _can't_. Lisp is about programmer productivity and abstraction, C++ is about exploiting hardware. C++ is the assembly language of an object machine. If your task is to program that machine, fine, do it, but you don't _have_ to do it at the assembly level!
| What makes Java so different from Lisp, so that it should be so | successful? It could well be the syntax. ... I'm not sure that | Smalltalk created this kind of excitement, and I remember some people | being critical of the ST syntax. Perhaps syntax is more important to | people than you think?
Probably not more than _I_ think, since I don't buy the "semantics is more important than syntax" argument, and have frequently argued against it. As a friend of mine said when we discussed just this the other day, all the relevant languages are turing complete, anyway, so they differ not in _semantics_ per se, but in pragmatics, which is closely tied to syntax and questions of ease of expressibility.
How could the syntax of C++, Perl, Java, etc, be so important? Well, my take on this is that programmers don't have the needs that would warrant a more powerful syntax. They _have_ needs that ask for tons of menial labor, and that's when (apparent) brevity of syntax becomes so important. If you wanted to think about complex issues, you would want readability of complex ideas, and you would invent Lisp if it wasn't already there. If you wanted to hack and slash your way through a jungle of murky ideas and bad design just to get some already annoying task done, you would want a syntax that could do it fast, and you would invent Perl if it wasn't already there.
Only a few people in each generation discover Aristotle and read his works. This is sufficient to continue his massive influence on Western thought. I care about the spread of the ideas in Lisp more than actual language, just as I care about the concept of structured information more than I care about another language with which I have spent an inordinate amount of time: SGML, a language I dropped because its syntax is contradicting its semantics, i.e., they communicate widely disparate ideas. If the ideas can penetrate the programmer community and they want what Lisp can offer, it doesn't really matter what the language looks like, as long as it is still possible to read and write the language with standard language functions, which is why the list form beats any alternative hands down in my eyes. Unfortunately, programmers still think of themselves as feeders of machines and not machines as their _partners_ in their job.
#\Erik -- I could tell you, but then I would have to reboot you.
Thomas, while I think your description of the problem is correct, I have a few remarks.
1) MCL is a Common Lisp that is/has: - Threads - A price comarable to PC C++ environments - A useable runtime licence policy (pay once, ship as many as you want). I agree 100% that most other schemes are just inacceptable and that just free runtime licenses would be important to make a new language beeing accepted when comared to C++, Java etc.
The drawback is, of course, that it forces you to use/buy a Mac, which is not the preferred Web server platform for most people. But maybe the problem of getting some complicated application to run outwights this.
2) There are a number of free Lisp implementations of a quality comarable at least to perl.
3) perl has more disadvantages than just beeing unusable (for me) for sources with more than 100 lines. - No real debugger - No GUI-based environment of the quality like commercial CL implementations have. - Only one implementation. Trigger a bug and you'll be in problems. In CL, you'll have to change you FFI routines, but the complex program part will remain unchanged. - Cannot be compiled. For me and my customers, this is a requirement for many projects. We need to be able to move a project to Servers not under our control and the source should not be accessable there.
3) Isn't the FFI of perl very complicated and poorly documented, at least compared to that of most Lisp systems? Or do you mean you don't need an FFI in perl, since it has most Unix stuff build in (would be reasonable)?
4) Is there a cheap Smalltalk system? It is some time since I looked into Smalltalk prices, but they were at least 3 times as high as Borland/Visual C++. Really, let me know.
5) I don't think there actually is a book on perl for Web usage that covers more than the basics and a few gimmics. You are right that there is no Lisp book that covers what you describe here, but I don't think the availiable perl books are right to become a real hacker for dynamic, advanced Web applications.
6) There is at least one Scheme implementation specialized in beeing used in a Web environment. I forgot the name (SIOD?), but if I remember right, it covers most of what you want. It is probably slow, but it will include a tutorial and exaples, I assume. Combined with some Scheme-specific gimmics, that might look good.
7) Other things to look at: CL-httpd and scsh. Cl-httpd implements some nice ideas a Web-programmer should be interested in, whatever language he/she uses.
So, what do *I* use for my Web work? I use C, just for performance and beeing portable across systems and implementations. What I miss most is some OOP support and threads. Java provides these, beeing at least portable where the JDK is availiable. Currently, I'm taking a deep look into Java.
BUT,
my current language choice is influenced by some circumstances that may change: - Currently, my applications are not very complex. - Currently, it is more important to be fast and reliable that to be complex. - I have no real competitor for the application area I'm currently in, at least none that can take more project and will try to take them over from me.
Currently, the customers for Web applications mostly try to "be in the game", they need reliable, working projects that show their presence in the market. Beeing more useful than desktop applications is mostly not an issue. It it was, it couldn't be implemented now, because the Web hype lead all people beeing capable of writing Web applications to implement trivial things.
I expect the situation to change. Somewhere in the future, I will face competitors who will provide application usefulness that I can't provide with my current tools.
Then, the complexity of applications on the Web will be what desktop applications are today, but with some differences, when it comes to tools coice:
- I can choose whatever platform I want for my server and therefore as platform for the programs I write. - Since the Java hype, people are much more likely to accept a developer's language choice. Ever today, I see a lot of applications coming up developend in Modula-3, Scheme, python etc. in areas where everything else than C (not even C++) would have had a chance before. - Much of the machine load is on machines I'll have to provide. When I use a solution that takes up more resources, I can choose whether to buy a bigger machines or reimplement whatever is the problem. I will no longer have to program for the usual client machine.
What will I do when I have to write the most flexible solution for a given problem? - I'll seriously think over buying a Macintosh just to run MCL and another one to put outside my firewall. Well, even more I hope that MCL will be ported to some other platform or that a comparable Lisp for some other platform I like more shows up. - I'll see whether some Scheme implementation is mature and offers the Web features I want. There's a good chance, couting the FSF Guile effort, Utexas' Rscheme and Olin Shivers work on scsh. That migh include to work such feature for an implementation I happen to like. - I will certainly see what Harlequin's Dylanworks provides. - Java is not bad, really. Especially, it might be the right choice if I will not longer be an individual that buys some amoung of additional programmer's time. I find it quite easy to look over Java modules to see whether to trust them. C is out of question when it comes to review other's code, and for Lisp I might find not enough people. - I will - maybe - use some distributed OOP system like Xerox Parc's ILU and choose language on a per-module basis, not per-project. Then, I use Lisp for whatever module it needs it and let others use it from other languages.
I think choosing a language for Web projects in an environment with competition will not depend on the positive sides of each language, but on the negative sides.
A quote of Thomas article follows. No more comments from me below.
t...@intentionally.blank-see.headers writes: >In article <3052137838003...@naggum.no> Erik Naggum <e...@naggum.no> writes: > | They'll need a good reason to install and play with a Lisp. > that good reason is called "curiosity". >Well, whenever I get involved in a new project, I give Lisp serious >consideration. My group is looking into building a bunch of dynamic >Web services, so I just went through evaluating all of this again. >People are willing to learn a new language, and they have a lot of >choices. Java, Perl, Python, Tcl, C++, etc. They realize quickly >that something dynamic would be nice. The language needs to be fairly >standard so that co-workers can pick up a book and learn about it. >This also requires multithreading and database integration (hence an >FFI). It needs to run under UNIX and NT (since those are the >platforms we deliver on). We may also want a standard GUI toolkit. >The only Lisp implementations that satisfy those constraints to my >knowledge are Harlequin and Allegro. They are both excellent >products. However to the tune of >$4000 (yes, that's right, that's >how much those licenses cost for people outside academia), you can >hardly just buy them "out of curiosity". Now that the 80's are over, >management actually wants some kind of concrete justification for >this. With non-trivial runtime licenses, there are serious concerns >about whether we could ever use them in any product (mainly because of >the legal and managerial hassles involved, not even so much because of >the cost). Long term product maintenance is also an issue (who in >development/support is going to pick up maintenance of CL software)? >And few of my coworkers are willing to invest much time learning a new >language on the 30-60 day evaluation license you get with those >implementations. (Allegro's FreeLisp is a nice idea, but only runs on >Windows.) >The alternative is all too persuasive to people who weren't brought up >on Lisp: go out, buy a few books on "Learning Perl in 48 Hours" and >"Writing Dynamic Web Applications in Perl (CD with Perl and sample for >Windows and major UNIX platforms included)", type "perl" at the >prompt, and go. No licensing hassles, no need for multithreading >(small footprint), shallow learning curves (doing small things is easy >in Perl--you only recognize the mess you got yourself into later), >source level debugging, and complete cross platform availability. >Despite all the bad things that can be said about Perl, it actually is >a highly dynamic and expressive language (of course, it's also slow, >not robust, and idiosyncratic), so people actually do get the same >feeling of power they get with Lisp. >I have found it difficult to argue or work against that. I also find >it difficult to put in an order for, say, $30000 in software licenses >for something that neither is hyped up much these days nor for which I >can make a reasonable business justification, in particular when systems >that are hyped up much more (Java, Smalltalk, etc.) are either essentially >free or a fraction of the cost. >If I got my facts wrong and you know of a cheap, multithreaded >CommonLisp and books like "Learning CommonLisp in 21 Days", >"Practical String Processing in CommonLisp", and "Writing Web >Applications in CommonLisp", do let me know (the last one may >actually be in the works I hear). >Thomas.
-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Martin Cracauer <craca...@wavehh.hanse.de> http://www.bik-gmbh.de/~cracauer "As far as I'm concerned, if something is so complicated that you can't ex-" "plain it in 10 seconds, then it's probably not worth knowing anyway"- Calvin
In article <4nzq2a9zzp....@rtp.ericsson.se>, Raymond Toy
<t...@rtp.ericsson.se> wrote: > I think the biggest indication that Lisp is seems dead is that the > biggest Lisp repository, CMU Lisp Archives, hasn't had anything added > to it in almost a year, according to the What's New list. This > despite the fact the several versions of CLISP have come and gone, gcl > is at 2.2, there is a working version of CMUCL for FreeBSD and Linux > being developed, and ILOG Talk is now freely available for Linux. > There are probably many other things going on with Scheme and Dylan, > etc., but no one seems to be updating CMU Archives.
> Having things change on the archive would make Lisp appear alive and > well. As it is, it looks rather dead.
Same is true for the Lisp FAQ.
I don't know the exact situation but it could be that some support from people would be needed. Contribution is always welcome.
The state of Lisp is really much better than the perceiption by some people.