On Wed, 22 Aug 2001 20:38:42 GMT, Erik Naggum <e...@naggum.net> wrote: > In conclusion, I think the key is to figure out whether you are able to > _think_ in the language you are learning. This should not take too long.
>///
Thanks all for the insightfull comments. I got introduced to Lisp while doing a small course studying different paradigms. I had to write a maze solver in C, Prolog, Lisp, Java and Oz. I found Lisp more comfortable (except C, as I had already programmed for 1-2 years in it) than any of the others. This is the reason I joined this newsgroup and also gave serious thought to a future in Lisp. The reason I asked so many (perhaps stupid) questions is that people here (where I live) call it a vintage language with no future. Also I was also surprised at the minimal quantity of internet resources related to Lisp. Being one of the oldest language, maybe I expected a little more. When I started with C, I learned a lot from lookin at code I got from the net (maybe not such a smart way to learn, but...). I got source code of a huge load of small programms which I could study, not only to learn about C but also style, techniques etc. and also about the system in general. When I started looking for Lisp resources, barring the Gentle Introducton, Cooper Book and the Hyperspec I dont see much (maybe I have missed some). The only site for ongoing projects I found was telnet.net/cliki. Here too the there is hardly anything going on. What I mean (after that longwinded piece) is that where is the Lisp community? Apart from this (very helpful) newsgroup, where does Lisp exist? Where are the loads of tools and libraries that (should) show the years and years of Lisp history? Almost everything everybody does seems from scratch (reinventing the wheel??)... Is that the general Lisp way? Almost the only "lispy" thing I see (apart from the interpreters and compilers) is Emacs! ... Or maybe I am completely missing something here.
> On Wed, 22 Aug 2001 20:38:42 GMT, Erik Naggum <e...@naggum.net> wrote: > > In conclusion, I think the key is to figure out whether you are able to > > _think_ in the language you are learning. This should not take too long.
> >///
> Thanks all for the insightfull comments. I got introduced to Lisp > while doing a small course studying different paradigms. I had to > write a maze solver in C, Prolog, Lisp, Java and Oz. I found Lisp > more comfortable (except C, as I had already programmed for 1-2 years > in it) than any of the others. This is the reason I joined this > newsgroup and also gave serious thought to a future in Lisp. > The reason I asked so many (perhaps stupid) questions is that people > here (where I live) call it a vintage language with no future. > Also I > was also surprised at the minimal quantity of internet resources > related to Lisp. Being one of the oldest language, maybe I expected a > little more. When I started with C, I learned a lot from lookin at > code I got from the net (maybe not such a smart way to learn, but...). > I got source code of a huge load of small programms which I could > study, not only to learn about C but also style, techniques etc. and > also about the system in general. [...] > Where are the loads of tools and libraries that (should) show > the years and years of Lisp history?
One good place to look is the CMU AI Repository. It's not being updated, but there's a ton of code in there from the years and years of Lisp history. And if you're looking for a place to read code, I found it to be a pretty good one.
> Where are the loads of tools and libraries that (should) show > the years and years of Lisp history?
Well, the stuff that has really survived all that time is largely commercial. There are commercial programs that have survived multiple changes in dialect.
And there's some complex stuff unrelated to longevity or technical prowess, and more related to market timing, that explains why the sheer numbers of available libraries are perhaps not what you expect, though in fact there really is quite a body of interesting stuff out there when you compare it to the size of the user community which has been Lisp during this long history. Large programmer camps for any language are really a relatively new phenomenon, going back only about 1.5 decades.
Fortran has been around as long as Lisp and also probably suffers under the same "criticism" though really it's not a material criticism of the language.
> Almost everything everybody does > seems from scratch (reinventing the wheel??)...
I don't think any moreso than in any language. We don't have the benefit of having the only major commercial manufacturer of operating systems spending any useful time writing us foundation classes nor asking us what we would need of such things. But we do ok.
> Is that the general Lisp way?
Don't be ridiculous. I find this remark close to flame-bait.
It should be plain that Lisp is not the market-dominant language. If you spend some time in Deja News looking for "AI Winter" as your search key you can find some discussions on this that I don't care to repeat.
But to come in and find someone who has less available capital than someone else and prod them by saying "hey, your trappings are not as fancy as those rich guys over there. should I infer this to be 'the poor man's way?' is not exactly starting out the conversation in a way that will win you any friends."
> Almost the only "lispy" thing I see (apart from the > interpreters and compilers) is Emacs!
You're not looking in the right places.
> ... Or maybe I am completely missing something here.
Almost surely.
I think I'm going to opt out of any further discussion with you on this rather than let you bait me further unless you do some seriously better research of the resources that do exist. I try to be as nice as I can to people, but there is a limit to how much work I'm willing to do.
The kinds of people we cater to here are not people who say "prove yourself", but rather people who say "I have a problem to solve and I want to use Lisp. How do I get started?" If you aren't happy with Lisp, use something else you are happy with. We are very happy with what we use. We are happy to help others be successful. But we aren't going to spend our scarce resources trying to convince people they should be interested if they are of a mind not to be. THAT would be a certain way never to climb out of the hole we're quite obviously in because it costs too much per capita resources to help an individual who is not of a mind to help himself. The same resources applied to someone who was ambitious and optimistic would yield returns many times greater.
> The reason I asked so many (perhaps stupid) questions is that people > here (where I live) call it a vintage language with no future.
Yeah, _for them_. What they mean is that they are not part of Lisp's future. That is their choice, not Lisp's.
> Also I was also surprised at the minimal quantity of internet resources > related to Lisp. Being one of the oldest language, maybe I expected a > little more.
I can easily see how this is disappointing. However, there is at least one somewhat surprising reason for this: It is so easy to do things in Common Lisp that people have no personal need to advertise it and make a public nuisance of themselves. While Archimedes may have made the first serious connection between nudity and marketing scientific discovery, I think today's Common Lisp hacker goes "yeah!" and just smiles. In sharp contrast, today's young punks go "HOLY SHIT! IT WORKS! GUYS! GUYS! IT WORKS!" and rush off to get another cool domain name. That "yeah!" is also probably worth a thousand times more money than the other Cool Hack, which is why it is _not_ marketed -- the reward was right there to begin with, with no need to attract attention from the crowds just to feel good about your own work. Remember, Common Lisp people are about 10 years older than Java people.
As for reimplementing things from scratch, I got so immensely frustrated with the available "libraries" of web-design crap that an incredibly incompetent moron had abused unintelligently for a week _not_ serving a high-profile ultra-high-security project I am now working on that I sat down and whipped up a new Lisp "scripting language", I added a handler to Apache and used the support for CLISP "binaries" (.fas files) under Linux to fire up an interpreter to deal with my pages, and instead of reams of junk code produced by cut and paste and sloppy editing, I could use real Lisp _macros_ in my source files, producing XML and Javascript and all sorts of junk efficienctly, well-tested and _fast_. Designing that new language took me about three hours, but I have saved at least 40 hours dealing with the putrid fecal matter that some people actually spend their days trying to shape into web pages. After working my butt off long into the night and missing a Saturday party, I had completed more _real_ work in a 16-hour stretch with a dimunitive Lisp tool like CLISP than a supposed _professional_ had managed to get done in a whole week. This pisses me off so much even hundreds of rounds of target practice does not calm down. What I have done, highly inexperienced at web design and not knowing one iota of Javascript on Friday morning, probably looks clunky and is generally bells-and-whistles-free apart from functionality we need, should have been a walk in the park for a professional web head. It should have taken him mere hours to cobble up something from his vast store of libraries and tools and have it ready for us the same day. If I can fumble my way through huge tomes, copy stuff I do not fully grasp, bumping into problems I had no idea would cause so many lines of logs in the poor server, and generally feeling like an incompetent fool myself, but I can still get it done in two days with Lisp as the underlying tool, writing most of this from scratch while scratching my head and swearing, god damn it, those imbecilic _frauds_ who claim to have "libraries" on their side should be hanged at dawn.
People scream about CGI and how hard it is to prosess those things and they load 100K+ Perl libraries and write HTML with code that is even more verbose than HTML to begin with. I shall break the "rule" I laid down above and tell you what I did. Below is how I make those pesky CGI variables available to my code. It probably is not 100% correct, but it works a lot better than the incredibly stupid Perl solutions I have seen, and Perl is supposedly _good_ at this crap. Retch! Excuse me while I barf in Larry Wall's general direction. (I use string streams because I have no particular inclication to reinvent buffers. Those who hate loop and format probably also hate string streams, but it is not _my_ fault that their Lisp vendor did not make them fast enough for them back in 1980-whatever when their mind was set about what is Lisp and what is not.)
You get the symbols that were passed in in the *cgi-variables* list so you can check for them with find or member, but you can use the symbols without bothering to check, too, provided you have a restart around them to get rid of the annoying unbound-variable error. (Tracking this stuff down took me some time, as I have not needed to build interpreters that should do this before. It may not be correct. Use with caution.)
In the end, my nifty little markup language has stuff like this in it:
<table <border 0><width 375> <form <name registerform><action register.3ml><method post><onsubmit return validate()> {:discard ; This {} form does not yield a value to be printed in its place. (defun make-form (prompt type name &optional width) (format nil "<tr <td ~@[<width ~A>~] <p <class header> ~A:>>~ <td <input <type ~A><name ~A><value {~A}><size 35>>>>" width prompt type name name size))} {(make-form "Given name" "text" "givenname" 120)} {(make-form "Family name" "text" "familyname")} {(make-form "E-mail" "text" "email")} {(make-form "Phone" "text" "phone")} {(make-form "Organization" "text" "organization")} {(make-form "Username" "text" "username")} {(make-form "Password" "password" "password1")} {(make-form "Password (confirm)" "password" "password2")} <tr <td <input <type hidden><name invitation><value {invitation}>>> <td <input <type submit><name register><value Register>> <input <type reset>>>>>>
I assume that this is immediately understandable apart from the use of {~A} and {invitation}. Those result in expansions to the CGI variables with the input field names. I also assume that any wreck who has had to deal with the expanded HTML from something like this will appreciate its relative brevity. Once I get more work done in this area, however, it should like this, but the code that produces HTML/XML is too simple to deal with it this late this weekend:
There, I have posted both loop code, intricate format constrol strings, a compact new syntax that saves a lot on typing (ewwww!), shown that I use javascript (EWWWW!), and I have not even kept the fact that I designed web pages a secret. No cats were harmed in the production of this code or these web pages, however.
On Sun, 26 Aug 2001 23:56:18 GMT, Erik Naggum <e...@naggum.net> wrote: > * quasia...@yahoo.com (Q u a s i) [...] > > Also I was also surprised at the minimal quantity of internet resources > > related to Lisp. Being one of the oldest language, maybe I expected a > > little more.
> I can easily see how this is disappointing. However, there is at least > one somewhat surprising reason for this: It is so easy to do things in > Common Lisp that people have no personal need to advertise it and make a > public nuisance of themselves. While Archimedes may have made the first
Another reason is that it takes a lot of time to produce--and, perhaps more importantly, maintain--quality Web content. The amount of time needed for this is usually underestimated, and one fully realizes about this only after starting such a project.
On Sun, 26 Aug 2001 20:38:28 GMT, Kent M Pitman <pit...@world.std.com> wrote:
>I think I'm going to opt out of any further discussion with you on this >rather than let you bait me further unless you do some seriously better >research of the resources that do exist. I try to be as nice as I can >to people, but there is a limit to how much work I'm willing to do.
Excuse me if I sound "prove yourself" kind, but believe me that was not the intention. You or anyone else from the Lisp community does not have to _prove_ themselves to anyone, least of all me. The questions were from the point of view of the newcomer and the problems faced by such. Everywhere I looked (other than c.l.l) I found missconceptions about Lisp. I _liked_ Lisp, and I am lookin at all these answers because I want to help remove some of those misconceptions. I am trying to convince people around here (where I live) to start with Lisp. It is very well to say "Do it if you like else do something else". But if new people are not encouraged then how will the community grow and survive? What will happen after the Gods have retired? It seems that you are missing that the computing bacground of your early years is quite different from what today's biggners are faced with.
>The kinds of people we cater to here are not people who say "prove yourself", >[....] >The same resources applied to someone who was ambitious and optimistic would yield >returns many times greater.
Come come sir, dont you think that was a little harsh? Do you think I asked these questions as a seriously perverted passtime? I want to _know_ a lot more about Lisp. From the people who have _been_with_ Lisp. The pitfalls the pros the cons - _all_. That was my sole reason and intention. If I have given a bad impression of a wet yeared 14 year old, it is because, unfortunately, my expertise at writing newgroup emails and queries is very small. Maybe with time it will improve.
Thank you for spending you time in providing clarifications to me. It must sure be boring to keep answering similar questions time after time. I wont ask any more.
quasi
p.s. And about writing things from scratch. That was a serious question even though you considered it flame-bait. I have read the same question in different contexts a few times on this list even in the last 2 months. I asked it again because I thought that in all seriousness that may be the way things are done. To quote the latest : Dough in that long "Lisp for HTML HOWTO" thread askes "Is everyone rolling their own from scratch?"
On Sun, 26 Aug 2001 23:56:18 GMT, Erik Naggum <e...@naggum.net> wrote: > I can easily see how this is disappointing. > [.....] > Remember, Common Lisp people are about 10 years older than Java people. > .. > [complex_and_beyond_me_piece]
Phew! That was quite beyond me, but I glean that you can do _it_ in Lisp. That gives me heart. Actually I feel quite small asking all these questions when very esoteric and intricately techical discussions are happning. Maybe next time I write, will be when I have some "I have a problem to solve and I want to use Lisp. How do I get started?" kind of problem as Kent suggests.
Thanks a lot. quasi
p.s. do you think that there is any merit in the thought that as CL people are 10 years older than java people and hence obviously older than (most) beginners, there might be a teeny weeny difference in the way of thinking resulting from (significantly) different computing backgrounds and that this needs to be taken into consideration when introducing Lisp?
> 2) How many LOC (though I tend to wonder why that's *so* > interesting, I mean, it's nice to get *some* idea of > the size of the project, however flawed, but..oh well > different rant :))
When asked for a LOC count, if you ask Real Hackers you will hear a lot of ``NOS'' --- not because they refuse to answer, but because they're answering in Number Of Sexps, which is the only accurate statistic. However, I'm too lazy to use anything but cat foo.lisp | grep -v "^[ \t]*;;.*" | wc -l ... :)
(BTW, I'm *not* trying to claim that either LOC or NOS is an accurate measure...nor trying to start yet another line-oriented versus expression-oriented language debate...)
[...]
-- BPT <b...@tunes.org> /"\ ASCII Ribbon Campaign backronym for Linux: \ / No HTML or RTF in mail Linux Is Not Unix X No MS-Word in mail Meme plague ;) ---------> / \ Respect Open Standards
k...@ashi.footprints.net (Kaz Kylheku) writes: > In article <3207483223428...@naggum.net>, Erik Naggum wrote: > >* immanuel_litzr...@hotmail.com (Immanuel Litzroth) > >> I wonder if you have any serious study that backs this up. I am not > >> looking for anecdotical evidence or personal testimonies which are > >> highly suspect in view of psychological mechanisms such as > >> rationalization ...
> > Instead of this before-the-fact-dismissal of something you may not like, > > could you describe the criteria you would need to believe the claims?
> Preferrably not something along the lines ``the heavens would crack open, > and the truth would come straight from the mouth of God''. ;)
If you do need this kind of proof, you should invoke `fortune -m "Matt Welsh"', and then write all of your programs in C. :)
-- BPT <b...@tunes.org> /"\ ASCII Ribbon Campaign backronym for Linux: \ / No HTML or RTF in mail Linux Is Not Unix X No MS-Word in mail Meme plague ;) ---------> / \ Respect Open Standards