I have been learning lisp for 1 month now with clisp. I really enjoy it.
Most of my project goals are high level stuff, proof of concept etc...
They are not doing anything useful except research.
I wonder if I am learning lisp the correct way. If I had to process large amount of file, connect to database or program for the web, I would be using perl, C, php etc...I would be afraid to do the same in lisp.
I 've got this feeling taht lisp is powerful but I am not sure I am seeing its true power.
For me right now, Lisp is good for prototyping but not for day to day stuff.
What do you think of this last statement?
Is this because the documentation available to the lisp programmer is not very easy to find compare to other language?
G
> Hello,
>
> I have been learning lisp for 1 month now with clisp. I really enjoy it.
>
> Most of my project goals are high level stuff, proof of concept etc...
> They are not doing anything useful except research.
What is you problem? It worked for you and it's useful for you you
write your stuff in it and it worked what else do you want?
>
> I wonder if I am learning lisp the correct way. If I had to process
> large amount of file, connect to database or program for the web, I
> would be using perl, C, php etc...I would be afraid to do the same in
> lisp.
There are tools available for connections to Databases. There is
CL-HTTP and AllegroServe available and a bunch of other things. what
do you need more?
> For me right now, Lisp is good for prototyping but not for day to
>day stuff.
why? You can develop a prototyp fast, that means you can do you day to
day stuff fast, just write a prototype ;-). If you are writing
prototyps every day what else is left for you day to day stuff?
>
> What do you think of this last statement?
Does not make sense.
Regards
Friedrich
Don't be. Many real world business applications do all of these things very
successfully in lisp.
> I 've got this feeling taht lisp is powerful but I am not sure I am seeing
its true power.
> For me right now, Lisp is good for prototyping but not for day to day
stuff.
>
> What do you think of this last statement?
>
It is just FUD...lisp is great for whatever ails you!
> Is this because the documentation available to the lisp programmer is not
very easy to find compare to other language?
>
If by "this" you mean having the feeling lisp is only for prototyping, it is
because of alot of socio-historical circumstances and has very little basis
in fact.
While it is true that there is far more reference material on many other
languages, I believe the ratio of high to low quality is much better for
lisp materials.
Coby
(remove #\space "coby . beck @ opentgi . com")
> Hello,
>
> I have been learning lisp for 1 month now with clisp. I really enjoy it.
>
> Most of my project goals are high level stuff, proof of concept etc...
> They are not doing anything useful except research.
>
> I wonder if I am learning lisp the correct way. If I had to process large
> amount of file, connect to database or program for the web, I would be
> using perl, C, php etc...I would be afraid to do the same in lisp.
>
> I 've got this feeling taht lisp is powerful but I am not sure I am seeing
> its true power. For me right now, Lisp is good for prototyping but not for
> day to day stuff.
This depends on what you understand under "day to day stuff".
I suppose you mean doing things like processing large amounts of files,
coneecting to a database or webprogramming as you described above.
I personally think that Lisp is much more suited to do this stuff -
particularily if you have tools like UncommonSQL from Onshore (for database
access) or one of the many very usable Webtools
(Araneida, AServe, CL-HTTPD, HTMLGEN, IMHO, mod_lisp...)
I'm sure if you ask here where you have problems on how to do something
someone will give you good advice.
ciao,
Jochen
> I have been learning lisp for 1 month now with clisp. I really enjoy it.
One month is not a long time to spend in any language. It may get you
some simple templates written parrotting someone else's code and it
may get you comfortable with basic data flow, but it doesn't really
allow you enough time to have built anything very large.
> Most of my project goals are high level stuff, proof of concept etc...
> They are not doing anything useful except research.
> [...]
> I've got this feeling taht lisp is powerful but I am not sure I am
> seeing its true power. For me right now, Lisp is good for
> prototyping but not for day to day stuff.
Let me reword your sentences here for you: I've usd Lisp so far only for X
and so far it seems to be useful only for X.
That's hardly surprising.
You don't really say what "day to day" stuff is. That could be anything.
Does it mean "accounting systems", "web servers", "airline reservation
systems", "chemical modeling", "numeric analysis", "gardening"? Whether the
language was Lisp or C++ or visual basic, the question "but how do I use
this for day-to-day stuff" would be near impossible to answer.
Forget how hard it is to do something. Just decide what it is you want to
program and when you run into an expressive wall, post your question about
"How do I...?" here. (Check the Lisp FAQ first, of course, at www.alu.org)
> I wonder if I am learning lisp the correct way.
I'm not sure there is any correct way. Lisp is supposed to be about
writing down things they way you think, not shoehorning your thinking into
a language. So forget what you know about other languages and just think
about what you want to write and how you want to express it, and then see
what Lisp has to offer.
> If I had to process large amount of file,
You don't say what kind of file. A large dictionary or database or web log
would each require very different strategies, though I'm sure all have been
done by others in Lisp at one time or another.
> connect to database
There are good Lisp tools for talking to databases--some free, some commercial.
> or program for the web,
There are several good web solutions available.
> I would be using perl, C, php etc...
You're not talking "problem/solution" here, you're talking reflex action.
If you already have prefab solutions in other languages, I'd say just use
them. One should avoid writing programs to solve problems for which adequate
solutions exist--life is too short.
> I would be afraid to do the same in lisp.
This is the exact effect of not being familiar with a language. Either you
desire to become familiar with Lisp or you do not. If you don't, we can't
help you. If you do, then pick a project and DO it. There is no substitute
for experience.
> What do you think of this last statement?
It is a clear statement of what is holding you back. Not the language. Fear.
> Is this because the documentation available to the lisp programmer
> is not very easy to find compare to other language?
Maybe partly. Or maybe you just haven't looked in the right places. Perhaps
a combination of both. But this newsgroup is a good place to bridge that gap.
When you have specific questions, just ask them. Don't whine. We can't answer
whining except with whining of our own. We can answer specific technical
and tactical questions. Don't waste that resource.
If you prototype something that works, it can do the job. Right? :)
Wade
> connect to database or program for the web, I would be using perl, C,
> php etc...
Have you any php examples that would be as clean and concise as their
BRL equivalents?
--
Bruce R. Lewis http://brl.sourceforge.net/
I rarely read mail sent to brl...@my-deja.com
Good for you! Congrats on having the personal ambition to explore
something new, without listening to people who scoff at learning "old"
or "useless" technologies such as lisp.
>Most of my project goals are high level stuff, proof of concept etc...
>They are not doing anything useful except research.
You're probably not going to write something terribly "useful" in your
first month of using an entirely new environment. Just have fun with
it.
>I wonder if I am learning lisp the correct way. If I had to process
>large amount of file, connect to database or program for the web, I
>would be using perl, C, php etc...I would be afraid to do the same in
>lisp.
You shouldn't be afraid of this. At first, you'll probably be writing
perl/c/php in lisp, without using some of the beneficial idioms unique
to lisp. If you want, make your code available, post a pointer to it
here, and if even one seasoned lisper makes suggestions, you'll find new
avenues to explore.
>I 've got this feeling taht lisp is powerful but I am not sure I am
>seeing its true power. For me right now, Lisp is good for prototyping
>but not for day to day stuff.
>
>What do you think of this last statement?
You make a very good point, that no one else in this thread seems to
address accurately. I think they read it as criticism of lisp, which I
do not think it was intended to be.
Paul Graham wrote an article[1] about the general fact that lisp can enable
technology companies to cut their implementation cycle period to a
fraction of what it was before. The interesting bit, explaining exactly
what you're going through, states:
As long as our hypothetical Blub programmer is looking down the
power continuum, he knows he's looking down. Languages less
powerful than Blub are obviously less powerful, because they're
missing some feature he's used to. But when our hypothetical Blub
programmer looks in the other direction, up the power continuum, he
doesn't realize he's looking up. What he sees are merely weird
languages. He probably considers them about equivalent in power to
Blub, but with all this other hairy stuff thrown in as well. Blub
is good enough for him, because he thinks in Blub.
Right now, you're looking up the continuum at lisp.
I wish I could help you with a pointer to an article or book that will
give you the "a-ha!" you're looking for with lisp. All I can do is
recommend that you read code written by other people. Look at macros,
especially.
>Is this because the documentation available to the lisp programmer is
>not very easy to find compare to other language?
I hate to say it, but it's not as lucrative to write lisp books as it is
to write VB For Dummies books, so there aren't many lisp books available
for the casual, recreational learner. Luckily, that means there are
fewer bad books on lisp.
Good luck.
-a.
Probably not. You seem to take the "tools" approach to programming.
This works almost like LEGO. Somebody pretty brilliant somewhere made up
a lot of components that you could plug together and have loads of fun
with, but you cannot really construct your own components. As long as
you work within the tools world, you are never going to be programming
anything. Admittedly, some tasks are now so routinely performed as to be
suitable to working with tools, but more often than not, those tools are
written by other tool workers, who are nearly completely unable to do
serious programming, anymore. Building tools for tool users to use is
not exactly rewarding for a serious programmer. However, it is very,
very exciting for a tool user to write something in the tool world that
can act like a tool to other tool users. It will generally disgust a
real programmer, but what the hey, it is only used by tool users, anyway.
Common Lisp is not a "tool" language. If people used Common Lisp to
write their programs, they would not _need_ to build the stupid tools
that e.g., the Perl community needs. However, you can drag any rat out
of the sewer and teach it to get some work done in Perl, but you cannot
teach it serious programming. Who was it that said "Learn Programming in
10 Years" as an alternative to all the "dummies" books out there?
> If I had to process large amount of file, connect to database or program
> for the web, I would be using perl, C, php etc...I would be afraid to do
> the same in lisp.
And rightly wo, in my view, because if you did it in Common Lisp, you
would realize at least one of several really uncomfortable things: (1)
The way people store "information" in files is so approximate as to make
you crazy, (2) Those who use databases usually do so because they master
no data structures of their own, and (3) Programming for the Web is so
insanely boring and incredibly worthless work that you would find
yourself inventing at least one new language to do it for you. However,
given some massively inferior "tools", you can get sufficient challenge
and fun out of a day's work that you never get your head above the water
and see what is really going on: An industry-wide job-creation racket
caused by really retarded managers who are desperate not to rely on the
competence and loyalty of people they are too stupid to understand what
are doing, anyway. It used to be that computer people were really smart,
but recently, I would encourage anyone whose intelligence is 1 standard
deviation above the mean in his community to stay _away_ from computer
science. It is _dreadfully_ boring to work with computers both in the
Perl and the Windows paradigms. It is a complete waste of talent to put
good brains to use in this field at this time. Largely due to the way
the "tools" communities grow.
A few years from now, programming will have been revolutionized and lots
and lots of work will be done by software that writes itself. _This_
will requrie massive talent and intelligence and thinking outside the box
and what have you, but for the time being, programming is a "consumer"
job, "assembly line" coding is the norm, and what little exciting stuff
is being performed is not going to make it compared to the mass-marketed
crap sold by those who think they can surf on the previous half-century's
worth of inventions forever. This will change, however, and those who
know Common Lisp will be relieved of reinventing it, like the rest are
doing, even in the "tools" world, badly.
> I've got this feeling taht lisp is powerful but I am not sure I am seeing
> its true power. For me right now, Lisp is good for prototyping but not
> for day to day stuff.
I think this is because you are _only_ prototyping, even in those other
languages you use. Writing a serious application in Perl is simply hell
on earth. Writing it in C these days is worse than insane. All the crap
you have to deal with from other "tools" surrounding yours makes it so
hard to do useful _original_ stuff in any of those languages that people
will resort to plugging together LEGO components and be happy with
whatever they make.
> What do you think of this last statement?
If people did their day-to-day-stuff in Common Lisp, 75% of the work
force in IT would be out of work, those who were left would be very well
paid, and the rest of the economy would get back on track and make money
instead of paying "IT consultants" (like myself :) to do idiot chores
because the managers are from the 15th century in their understanding and
appreciation of what makes computer _professionals_ work well. All this
crap about "information technology" and any goddamn cave-dweller has a
better grip on what constitutes information and how best to use it in his
actual life than 99% of those who think they are doing anything useful in
this field.
Using Perl and those other "tools" languages, you get very good at gluing
LEGO parts together, and that definitely is useful in this current day
and age, but if you start to use Common Lisp seriously, you realize that
what you are doing is retarded, an obscene waste of both your own and the
users' time, and actually effecting the economy _negatively_ because you
do more information destruction than information processing when you chew
on those large files and databases instead of trying to figure out what
the _real_ problem that people are so desperately _not_ solving is.
> Is this because the documentation available to the lisp programmer is not
> very easy to find compare to other language?
No. It is simply because writing software in Common Lisp is so much more
fun and inspiring than gluing LEGO pieces together that those who can do
it move out of the "day to day" stuff as quickly as they can and leave it
to the Perl-droids who, probably for lack of any real education, think it
is fun and rewarding. For as long as it lasts. Kids and ignorants can
be tricked into doing almost anything for peanuts, but computer _science_
is not about employing as many kids and ignorants as possible, it is
about finding that one person who has the brilliant idea that obviates
all the menial labor that billions (soon) of people are currently making
the most costly experiment in flawed technology evolution management the
world has ever seen. The last time management did something similarly
staggerinly unintelligent, they abused their labor force so much they
formed unions and invented socialism and communism to take their power
away so they could not abuse it on innocent people. We are moving into a
new "slave labor economy" where young, inexperirenced people continue to
be such a formidable and employable force that technological development
will go backwards over the next few years. Brilliant advances in hardware
(which are done by _very_ few people compared to the software world) will
make it less and less relevant to be a good software designer, and so few
people will be able to construct anything _efficient_ that problems that
cannot be solved in hardware will remain unsolved for sheer lack of talent
in thinking about complex problems.
If you are _not_ crying and ready to leave your job and go fishing or
hunting or something, take heart: Just do your boring day job in Perl or
whatever, and study Common Lisp like your future depends on it. You will
be part of the New Renaissance of Computer Science. Remember: Tools are
for people whose most prized asset is their opposable thumb. Common Lispน
is for people whose most prized asset is still their brain.
#:Erik
-------
น I could have said "Lisp", but then somebody would be hell-bent on
believing I had included Scheme.
--
Travel is a meat thing.
> Who was it that said "Learn Programming in 10 Years" as an
> alternative to all the "dummies" books out there?
Probably Peter Norvig:
http://www.norvig.com/21-days.html
Chris.
--
http://www.double.co.nz/cl
Erik, I am curious why you have stated a lot of software will be writing
itself soon. This seems unlikely to me since (I think) people have been
trying for many years now and how "dumb" computer programs seem to be.
Wade
> I have been learning lisp for 1 month now with clisp. I really enjoy it.
[...]
> I 've got this feeling taht lisp is powerful but I am not sure I am seeing
> its true power.
It may take a bit more than one month.
Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/
> Probably not. You seem to take the "tools" approach to programming.
What do you mean by "tools" in this context? Tools in the Unix sense? I ask
this because the term tools (is "utility" an acceptable synonym?) is often
used in Lisp contexts.
>I wonder if I am learning lisp the correct way. If I had to process
>large amount of file, connect to database or program for the web, I
>would be using perl, C, php etc...I would be afraid to do the same in
>lisp.
>
>I 've got this feeling taht lisp is powerful but I am not sure I am seeing
>its true power.
>For me right now, Lisp is good for prototyping but not for day to day stuff.
>
>What do you think of this last statement?
>
I don't know your relative skill in Lisp and Perl, so it may be that
you'd be better off writing some things in Perl.
Nor do I know the environment you've got to work in. There are
possible issues that may preclude using Lisp or mandate another
language (like, say, C - it's not a great language to write in,
but very good for distributing Open Source software).
So I really can't comment on your use of CL for day to day stuff.
There is one thing that I think might be influencing this.
There are things I've done in CL in which CL was far superior to
anything else I have ever used, and things in which it was about
as good as any other decent procedural language, and the whole
range in between.
One of the things I found CL to be superb at is prototyping. If
you don't really know what you're doing, use CL. It's by far
the best language I've found for that.
So, if you're proficient in Perl and not all that proficient in
CL, you may find that CL is best for prototyping, because it's
a whole lot better even with a proficiency gap. More routine
things might best be done in CL by somebody who knows both
languages equally, but might best be done in Perl by somebody
who is better at Perl than CL.
I think that if you continue to learn Common Lisp you will
get to the point where you want to do most things in it.
>Is this because the documentation available to the lisp programmer is
>not very easy to find compare to other language?
>
Garrison Keillor, in his "Lake Wobegon" stories, once talked
about stores (I don't remember the numbers in the story, and
will make them up).
In most grocery stores, there's fifty kinds of cereal, and ten
are really good for you. In Bertha's, in Lake Wobegon, there
are six kinds of breakfast cereal, and three are really good
for you, so you've got a much better chance there.
Similarly, there's a whole lot more bad C and C++ books than
Lisp books out there, so if you grab a book at random on
both Lisp and C, the Lisp book is likely to be better.
I've bought most of my Lisp books off the shelf at bookstores,
but it involved finding the miscellaneous languages section
(usually smaller than the C *or* the Visual Basic section)
and looking for the Ls. Sometimes there aren't any books there.
The best book I know on Common Lisp as a production language
is Norvig's "Paradigms of Artificial Intelligence Programming:
Case Studies in Common Lisp". He doesn't discuss how to do
database access or routine file processing, but rather how
to write a good solid CL program.
--
David H. Thornley | If you want my opinion, ask.
da...@thornley.net | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-
> Hello,
>
> I have been learning lisp for 1 month now with clisp. I really enjoy it.
>
> Most of my project goals are high level stuff, proof of concept etc...
> They are not doing anything useful except research.
that is useful in itself. rapid prototyping is a good thing to have
around. it lets you explore multiple concepts or even try some very
abstract concepts not easily done in another language.
> I wonder if I am learning lisp the correct way. If I had to process large amount of file, connect to database or program for the web, I would be using perl, C, php etc...I would be afraid to do the same in lisp.
>
> I 've got this feeling taht lisp is powerful but I am not sure I am
> seeing its true power.
nod. i understand the feeling.
> For me right now, Lisp is good for prototyping but not for day to day stuff.
> What do you think of this last statement?
speaking for myself, i found that doing lisp required a lot of
unlearning other languages.
> Is this because the documentation available to the lisp programmer
> is not very easy to find compare to other language?
i find it difficult because i don't have anyone at the desk next to me
i can bounce questions off of. lots of people do C or perl, so you
can easily ask them how they manage their toolset.
the lisp books i've got do a good job explaining the language.
however, they do a poor job of explaining how to run lisp. that is,
how do i use emacs to control my lisp? how do i work the debugger,
the profiler? how do i best talk to the outside world (i.e., things
not lisp)? for answers to these questions, i am sure that the various
commercial lisp vendors have some documentation and support. but
generic lisp books do not cover it.
--
J o h a n K u l l s t a m
[kull...@ne.mediaone.net]
Don't Fear the Penguin!