Re: [Gardeners] Scheme vs CommonLisp
Peter, Wow, what an awesome answer. This is exactly right to the best of my own knowledge. I will add a few more facts. As Peter knows, there are a few people out there who are 100% /au courant/ with both Common Lisp and Scheme, technically, culturally, and historically, and can accurately assess the similarities and differences in great detail and very fairly. Alan Bawden and Guy Steele are the ones who spring to mind, but I'm sure there are some others out there. Although Scheme has specs (for the different revisions) that are written far more carefully than the Common Lisp spec, nevertheless the differences between the implementations are severely worse than among the 11 Common Lisp implementations. (Alexey Radul did a presentation not long ago on this at the Boston Lisp Meeting.) Also, revision 6 (known as R6RS) of Scheme, which came out last year, is somewhat controversial, and some Scheme maintainers have said that they will stick at revision 5; but it remains to be seen. The guys behind PLT Scheme are extremely smart and are doing a wonderful job. They have some great programming tools, aimed at students, but usable by anyone. Someday it would be nice if someone created analogous technology for Common Lisp. -- Dan ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
nubis wrote: I know, I know, this sounds like ramblings from a person who can't make up his mind (which in part, they are) On the contrary, I think you have a very good grasp of the tradeoffs. Am I to wrong to look at Common lisp for a metaprogramable python replacement? (with less library bindings and googlish hype) No, you're right. Is opening a REPL and running your program the recomended way to run a lisp program? was it ever, or was it just a misconception? Yes, while you're developing, definitely. Once you deploy an application, there are ways to start Lisp running your program, so the end user need not see the REPL. -- Dan -- Daniel Weinreb [EMAIL PROTECTED] http://danweinreb.org/blog/ http://ilc2009.scheming.org/ ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
Marek Kubica wrote: Scheme does only provides only HOP (runs only on Bigloo) and the stuff that PLT Scheme comes with. HOP is so cool! As long as you want to program in the Bigloo implementation of Scheme. http://hop.inria.fr/ It won the Open Source Software Competition at ACM Multimedia 2007. I saw Manuel Serrano's presentation at the Montreal Scheme and Lisp User Group last fall. Everybody was blown away. The feature and problem with Scheme is that it has been traditionally tiny, so it is hard to write useful code that is implementation independent (And also the implementations just aren't very compatible with each other Common Lisp implementations are actually quite good about this, as far as the language spec goes. Language extensions, however are idiosyncratic.) so you often have a hard time to find libraries that you need (for example datetime - as far as I have seen only SCSH seems to have facilities to calculate with dates). Usually I'd recommend PLT Scheme which comes with batteries included and has a Cheeseshop equivalent called PLaneT where you can find some more libraries that might help you. Indeed. But HOP probably won't work with it. Common Lisp has the great SLIME extension, whereas Scheme has DrScheme which is also a reasonably good Scheme editor with some nifty features. PLT Scheme has DrScheme; I don't know whether it runs in other Schemes. -- Dan Now, the conclusion is... use what fits your mind better. Maybe I am talking too much about it, I should better try to continue building some real programs :) regards, Marek ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners -- Daniel Weinreb [EMAIL PROTECTED] http://danweinreb.org/blog/ http://ilc2009.scheming.org/ ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
On Thu, 14 Aug 2008 10:08:47 -0400 Daniel Weinreb [EMAIL PROTECTED] wrote: HOP is so cool! As long as you want to program in the Bigloo implementation of Scheme. http://hop.inria.fr/ It won the Open Source Software Competition at ACM Multimedia 2007. I saw Manuel Serrano's presentation at the Montreal Scheme and Lisp User Group last fall. Everybody was blown away. Fluxus http://www.pawfal.org/fluxus/ is also cool, while not being a web framework it is a really impressing thing to show others how great Scheme (and basically also other Lisps) is; unfortunately it runs only on PLT Scheme. Common Lisp has the great SLIME extension, whereas Scheme has DrScheme which is also a reasonably good Scheme editor with some nifty features. PLT Scheme has DrScheme; I don't know whether it runs in other Schemes. No, it does not, but it has support for other custom-languages (called as far as I get it teachpacks) like Typed Scheme etc. Besides DrScheme there is still Quack http://www.neilvandyke.org/quack/ for Emacs, so SLIME users are not forced to change editors. But it is not as fully featured as Emacs. DrScheme has also the Ability to show pictures in the REPL, which is possible with SLIME only using some patches which do not look like they would be integrated into SLIME anytime soon. regards, Marek ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
nubis [EMAIL PROTECTED] writes: I can find the differences between them STFW (already found some of them), but I want your informated subjective opinion. What are the biggest differences technical and culturally between Common Lisp and Plt Scheme. Which kind of people uses each one? The other answers have been great, but I wanted to give you my opinion. Especially since colleagues ask me this question all the time. (Well, actually they ask me is they should use Scheme or Common Lisp.) I think that if you are just starting out, you should use PLT Scheme. It has a very friendly and helpful community as well as a very good set of libraries. That isn't to say the other Schemes and CLs aren't good (they are generally wonderfully), but PLT is a particularly good environment to start in. That's my opinion, for whatever it's worth! If you choose PLT Scheme there is a simple guide to writing web apps at http://docs.plt-scheme.org/more/ Cheers, Chris Dean ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
Typically Scheme is seen as less real world than Common Lisp but specific Scheme implementations (such as PLT) can be very much real world. Common Lisp gives you more out of the box (i.e. the same between implementations) but depending on what part of the real world you want to deal with you may still need to have small amounts of implementation specific code. Then there are various subtle differences between the languages and surrounding cultures that partisans can fight about forever. I could also quote from the (not very complete) Lisp FAQ at http://www.lispniks.com/faq/faq.html#s7q1 Is Scheme a Lisp? Yes. Anyway, the Scheme standard (R5RS) says it is. (Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language.) On the other hand, Scheme and Common Lisp, while sharing an intellectual legacy and a number of important characteristics, also differ in ways just subtle enough to stir up a good old fashion religious war. Consequently, Scheme vs. Common Lisp discussions almost never go well. And you may run across prominent Common Lispers who will argue—in an angels on a pinhead kind of way—that Scheme is not in fact a Lisp. You may also hear folks who say Scheme is not Lisp, meaning, Scheme is not the end-all-and-be-all of possible Lisp dialects. This is usually said in conversations with people turned off Lisp forever by a bad undergraduate experience with Scheme. Ultimately Scheme and Common Lisp differ in their history and their current communities of users. Scheme was invented in order to test out certain theories of language design and continues to be used by people interested in having a small, simply defined language for further language research and pedagogy. Which is not to say that's the only way Scheme is used, but it helps give the Scheme community its particular flavor. Common Lisp, on the other hand, is the offspring of the systems-programming Lisps of the Artificial Intelligence boom. It continues to be an important AI language and is now used largely by people who care more about raw power and writing software than they do about conceptual purity and good pedagogy. Again, this is a portrait in broad strokes but there is truth in it. As an intellectual exercise, learning both Scheme and Common Lisp will enrich your understanding of the platonic ideal of Lisp and of programming in general. As a practical matter, if you do learn both, you'll likely gravitate to one or the other based on your own predilections and the kind of projects you are interested in. -Peter P.S. This list is more or less specific to Common Lisp but I'm happy to have a discussion going here as long as it stays civil. On Wed, Aug 13, 2008 at 1:58 PM, nubis [EMAIL PROTECTED] wrote: Hi everybody, I recently came across plt scheme, through Common Lisp, I've never got a chance to work with common lisp, I'm mostly a python web guy. But when I found Scheme my first thought was this is a 'real world' lisp, I know I can find the differences between them STFW (already found some of them), but I want your informated subjective opinion. What are the biggest differences technical and culturally between Common Lisp and Plt Scheme. Which kind of people uses each one? And also I don't like this list to be so quiet, I know most members know lots of things I would like to know myself, please share :) nubis :) http://woobiz.com.ar ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners -- Peter Seibel http://www.codersatwork.com/ http://www.gigamonkeys.com/blog/ ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
On Wed, Aug 13, 2008 at 11:58 PM, nubis [EMAIL PROTECTED] wrote: Hi everybody, I recently came across plt scheme, through Common Lisp, I've never got a chance to work with common lisp, I'm mostly a python web guy. But when I found Scheme my first thought was this is a 'real world' lisp, I know I can find the differences between them STFW (already found some of them), but I want your informated subjective opinion. What are the biggest differences technical and culturally between Common Lisp and Plt Scheme. Which kind of people uses each one? Both Common Lisp and Scheme are great languages and I think it is mostly a question of what you would prefer. I started with Scheme and after a few years of doing almost nothing with it I gave Common Lisp a try. I haven't done much with it either, but still it's closer to my tastes. For me the biggest hurdle with Scheme was there are a bunch of good implementations and a bunch of good libraries, but the libraries weren't very portable. But this was a few years back, and now PLT really looks like a great Scheme with great libraries, so it shouldn't be a problem any more. You could try learning just enough of both languages, and see which one fits your tastes better. Use it for some time and give the other a second chance: at the very least it won't hurt. For CL starting with Practical Common Lisp[1] seems like a safe bet. I guess Schemers can give a good advise where to start with it. I started with SICP[2] and was blown away, but many people don't like it that much. Have fun. Ivan And also I don't like this list to be so quiet, I know most members know lots of things I would like to know myself, please share :) nubis :) http://woobiz.com.ar [1] http://www.gigamonkeys.com/book [2] http://mitpress.mit.edu/sicp/ -- ...Please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list. -- Kent Pitman ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
On Thu, 2008-08-14 at 00:40 +0300, Ivan Toshkov wrote: On Wed, Aug 13, 2008 at 11:58 PM, nubis [EMAIL PROTECTED] wrote: Hi everybody, I recently came across plt scheme, through Common Lisp, I've never got a chance to work with common lisp, I'm mostly a python web guy. But when I found Scheme my first thought was this is a 'real world' lisp, I know I can find the differences between them STFW (already found some of them), but I want your informated subjective opinion. What are the biggest differences technical and culturally between Common Lisp and Plt Scheme. Which kind of people uses each one? ...snip... You could try learning just enough of both languages, and see which one fits your tastes better. Use it for some time and give the other a second chance: at the very least it won't hurt. For CL starting with Practical Common Lisp[1] seems like a safe bet. I guess Schemers can give a good advise where to start with it. I started with SICP[2] and was blown away, but many people don't like it that much. Have fun. Ivan Thanks! yes, I read Practical Common Lisp around 6 months ago, (great book, thanks Peter) thats how I joined this list. I agree learning a little of both languages till I know which one I rather code in. Here's my story so far: I learned a lot by reading PCL, understanding the CLOS blew my hat off as we say here in Argentina when something really impresses us, I really learned a lot about OOP when I thought I knew pretty much, and I just love the looping language. On the other hand, PLT scheme has DrScheme, with a small tool to generate a stand-alone executable (which makes it easier to deploy and share with non-lispers), smalltalkish 'message-passing' OO approach, like (send object message args...), and only one obvious way of importing modules. Overall is easier to grasp than the vast common lisp. Library wise, I think I rather common-lisp b/c it seems to have way more libraries and FFI's. Some things I didn't like about scheme is the tail recursion orientation, and the lack of dynamic scoping. I still don't understand why people like paul graham think dynamic scoping is harmful :s (never read an actual explanation) Anyways as a python guy, I like the zen of python, I agree with it, and common lisp looks compatible with it, with the added value of metaprogramming. I know, I know, this sounds like ramblings from a person who can't make up his mind (which in part, they are) Am I to wrong to look at Common lisp for a metaprogramable python replacement? (with less library bindings and googlish hype) Is opening a REPL and running your program the recomended way to run a lisp program? was it ever, or was it just a misconception? I'm just a web programmer that ocassionally makes games, and I feel the toolchains for this tasks are not as 'snappy' as python's, I'm not saying I wouldn't get into it, just want to know what I'm getting into :) -- nubis :) http://woobiz.com.ar ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners
Re: [Gardeners] Scheme vs CommonLisp
Hi, On Wed, 13 Aug 2008 17:58:37 -0300 nubis [EMAIL PROTECTED] wrote: I recently came across plt scheme, through Common Lisp, I've never got a chance to work with common lisp, I'm mostly a python web guy. But when I found Scheme my first thought was this is a 'real world' lisp, I know I can find the differences between them STFW (already found some of them), but I want your informated subjective opinion. What are the biggest differences technical and culturally between Common Lisp and Plt Scheme. Which kind of people uses each one? I'm also a Python guy and if you count in Spyce (long-dead now), Webware (ultimately turned into Python Paste), Django, Werkzeug, Nevow and the WSGI stack so I have to call byself also a web guy, I guess. Anyway: When I first started I also had the question on what to start with. One of my first issues was the documentation. Practical Common Lisp by Peter Seibel is really a big plus for choosing CL, because it shows like no other book how CL can be useful in these days. On the Scheme side there is SICP which I personally don't like too much, but maybe I'll learn to appreciate some time. The problem is that most documentation (mainly books) are outdated, e.g. Scheme and the Art of Programming is a nice book but for example the Macros that they describe look quite different these days because when the book was written they were not yet standardized. Peter, in case you'd like to write Practical Scheme, add me to the is-surely-going-to-buy-it list :) If you want to do web-stuff, then CL is probably the better way as there are numerous libraries and framweorks like UnCommon Web (UCW), Hunchentoot, CL-WHO (in case you know Nevow Stan) etc. Maybe not that numerous as Python but you're not left alone with CGI-only. Scheme does only provides only HOP (runs only on Bigloo) and the stuff that PLT Scheme comes with. The feature and problem with Scheme is that it has been traditionally tiny, so it is hard to write useful code that is implementation independent so you often have a hard time to find libraries that you need (for example datetime - as far as I have seen only SCSH seems to have facilities to calculate with dates). Usually I'd recommend PLT Scheme which comes with batteries included and has a Cheeseshop equivalent called PLaneT where you can find some more libraries that might help you. On the CL side there is CLOS and the MOP, whereas on the Scheme side there are numerous smaller clones of the CLOS (e.g. STklos), numerous independent object systems and numerous implementation-bound object systems (PLT has as far as I understand two of them). But unlike CL, OOP is not that important in Scheme as the language and the community are focused more on functional approaches to problem-solving. Oh and yeah, let me mention that I think Python resembles Scheme more than CL; sometimes when I have nothing useful to do I start seeing things that are identical in Python and in Scheme. Common Lisp has the great SLIME extension, whereas Scheme has DrScheme which is also a reasonably good Scheme editor with some nifty features. Now, the conclusion is... use what fits your mind better. Maybe I am talking too much about it, I should better try to continue building some real programs :) regards, Marek ___ Gardeners mailing list Gardeners@lispniks.com http://www.lispniks.com/mailman/listinfo/gardeners