Hi, I want to learn LISP but I'm having a hard time finding it accesable to
non experts (much like linux is/was). Plus, I'm used to working with VC++
so I don't want to use a non IDE environment.
I tried downloading LISPworks and it seems very foreign, not so much the
language as the environment and it won't let me compile without buying the
full version.
I also tried jabberwocky but It doesn't want to install (they install
dialogue opens but the install button is greyed out).
And programming in LISP, as near as I can tell is like using a command line
pormpt which seems kinda weird.
So, while I'm loving the concepts of what I have learned from LISP I still
need a decent (free) IDEm what one do you think would be best to use when
moving from a VC++ environment?
luke usher wrote:
>
> Hi, I want to learn LISP but I'm having a hard time finding it accesable
> to non experts (much like linux is/was). Plus, I'm used to working with
> VC++ so I don't want to use a non IDE environment.
I think this is what you're looking for, "Setting up an IDE with Emacs
on Windows":
http://cl-cookbook.sourceforge.net/windows.html
> And programming in LISP, as near as I can tell is like using a command
> line pormpt which seems kinda weird.
>
> So, while I'm loving the concepts of what I have learned from LISP I
> still need a decent (free) IDEm what one do you think would be best to
> use when moving from a VC++ environment?
Most people do not program in Lisp using only the top level interpreter
(i.e., "command line prompt"). So, it seems kinda weird, because doing
that would be weird. This is generally how one debugs Lisp, and it's
valuable to learn how to interact with this. For many, the selling
point of Lisp is the ability to change faulty code during a run, move
around the stack, and continue running the code without rebuilding or
(more importantly) even losing the state of the program (i.e.,
restarting the whole program).
I assume you don't know Emacs. It takes time and effort to learn and
become instinctive with the environment, but I think most Lisp
programmers would agree that it's worth the effort. I wouldn't say that
using Emacs with Lisp is the "best to use when moving from a VC++
environment," it's simply "the best for Lisp."
luke usher <······@iprimus.com.au> writes:
> Hi, I want to learn LISP but I'm having a hard time finding it
> accesable to non experts (much like linux is/was). Plus, I'm used to
> working with VC++ so I don't want to use a non IDE environment.
Why? Is it desirable to only know one way of writing software?
> I tried downloading LISPworks and it seems very foreign, not so much
> the language as the environment and it won't let me compile without
> buying the full version.
Don't worry about compilation just yet. If you learned programming
with Visual C, then any Common Lisp will be very different. It is
particularly important to remember that you will likely have to
unlearn a lot of rules about how software is "supposed to be
constructed" that you likely don't know you've picked up. This part
of the process is frustrating because it will make Common Lisp seem
weird and broken, but please persist. As you work your way through,
you'll see how restrictive and limiting languages like C/C++ can be.
Learning Common Lisp will probably make you a better programmer in the
other languages you work with.
One way to begin is to write little programs to do little things;
solve some kind of trivial puzzle, learn how to read a file and parse
its contents, etc. If you work assiduously it should only take a
couple months to have a comfortable handle on the major properties of
Common Lisp.
When you have achieved some facility with the language, then adding a
GUI interface becomes a trivial next step and moving into dealing with
the compiler won't add any subtlties that you're not equipped to
understand. At that point, you can pick up any Common Lisp
implementation on any platform and be quite at home. Different
implementations have different strengths and capabilities, so its
important to be aware of at least a few of them. I use Lispworks on
Linux, Clisp on Linux, Solaris and Windows and occasionally CMUCL on
Linux.
Since it sounds like you're coming from Windows, please consider also
looking at Franz's Allegro and Corman Lisp. Both have IDEs and demo
versions.
> And programming in LISP, as near as I can tell is like using a command
> line pormpt which seems kinda weird.
Remember the VC/VB style interface is rather new. Its only one way of
writing software.
> So, while I'm loving the concepts of what I have learned from LISP I
> still need a decent (free) IDEm what one do you think would be best to
> use when moving from a VC++ environment?
Abandon your preconceptions about IDE's being somehow better/more
effective/more desirable. An IDE is a useful tool but if relied upon
in place of deeply learning how a language works, it becomes a crutch.
Gregm
> So, while I'm loving the concepts of what I have learned from LISP I still
> need a decent (free) IDEm what one do you think would be best to use when
> moving from a VC++ environment?
So using emacs is out? I am also assuming that you are on Windows and
unwilling to change. If this is not the case, then other options abound.
Anyways, unless you can get Jabberwocky to work your only options for a
free Lisp IDE on Windows seem to be the trial versions of commercial
implementations.
I'd suggest that you give Jabberwoky another try. I believe you need to
have a Lisp installed before you can install Jabberwocky - maybe that's
the problem? See if installing CLISP (http://clisp.cons.org/) helps. You
could also try contacting the author of Jabberwocky.
Also,
http://www.pascalcostanza.de/lisp/guide.html
may prove helpful.
Cheers,
-- Nikodemus
luke usher wrote:
>
> Hi, I want to learn LISP but I'm having a hard time finding it accesable
> to non experts (much like linux is/was). Plus, I'm used to working with
> VC++ so I don't want to use a non IDE environment.
>
> I tried downloading LISPworks and it seems very foreign, not so much the
> language as the environment and it won't let me compile without buying
> the full version.
>
> I also tried jabberwocky but It doesn't want to install (they install
> dialogue opens but the install button is greyed out).
>
> And programming in LISP, as near as I can tell is like using a command
> line pormpt which seems kinda weird.
>
> So, while I'm loving the concepts of what I have learned from LISP I
> still need a decent (free) IDEm what one do you think would be best to
> use when moving from a VC++ environment?
I was quite used to VC++ too but now I'm doing much of my programming
with CMUCL/Ilisp (Linux). I find it quite convenient. It took a while to
get used to it. The best part of VC++ in my opinion is the graphical
debugger. But because of the interactive nature of lisp programming it's
quite easy to find programming bugs without a graphical debugger and
it's much easier to find bugs in your algorithms. If you want to write
GUI applications one of the commercial tools are likely to be best
suited for this.
Regards
Rolf Wester
Rolf Wester <···········@t-online.de> wrote in message news:<···············@news.t-online.com>...
> I was quite used to VC++ too but now I'm doing much of my programming
> with CMUCL/Ilisp (Linux). I find it quite convenient. It took a while to
> get used to it. The best part of VC++ in my opinion is the graphical
> debugger.
The debugger is okay unless you have to do something hard, like
inspect large, complex objects. At that point, it completely sucks
compared to even a command line Lisp REPL.
Even long strings are difficult to deal with. They are truncated, so
to scroll through them I end up editing the expression; for instance
``string_variable + 100'' to scroll over 100 bytes.
It's just awful.
Incidentally, I was using that debugger in a Lisp like way the other
day. In my C++ project, I have a whole lot of Lisp-like functions
(Greenspun's tenth). I have written a thing or two about this
previously. Anyway, one of the functions is Serialize; it converts
objects such as nested lists to printed form, which pops out as a
string object. With the program stopped at a breakpoint, the VC++
debugger was actually able to evaluate a call to Serialize() to give
me a print of the large list that my function was working with! That's
a big feat for such a dumb program; I was impressed. It must be
emulating or single-stepping the instructions, because it took several
seconds to do the job.
Of course, it took some huffing and puffing to break open the
resulting string object, get to the raw data, and then scroll through
the long string using the above trick. That there is a GUI with tree
controls representing nested, aggregated objects doesn't really help
me much. I'd rather just type an expression and have the printed
representation of the entire object pop out at me so that I can grok
what I need at a glance.
What puzzles me is how the debugger handles the memory management for
the object that was dynamically allocated by Serialize(); it must be
just letting it leak.
Kaz Kylheku wrote:
> Rolf Wester <···········@t-online.de> wrote in message news:<···············@news.t-online.com>...
> What puzzles me is how the debugger handles the memory management for
> the object that was dynamically allocated by Serialize(); it must be
> just letting it leak.
In VC++ I've put a watch on something like 'getFoo()' which is evaluated
at a break on a line 'Foo* foo=getFoo();' and the value of foo not be
set if the watch is present, so what it does with evaluated expressions
is anyone's guess.
I've recently come back to lisp (I used it for my final year thesis in
the eighties but never since), and tried Jabberwocky under Win98 and
didn't like it. This is on the 333MHz 128MB P3 notebook I have at home,
so running any IDE is a push. I also dual boot linux and now use clisp
on the terminal, whilst keeping my favorite text editor open (J, emacs
is too wierd: coming from windows you expect select then type to replace
the selected text and to be able to drag and drop; emacs is from another
era of UI design). Under linux (but not under Win98) clisp allows cut
and paste of expressions on the input, and a full command history when
run on a terminal session, and is fast. On my machine, running the
Allegro trial under windows is slow, but then I'm comparing it with
running VC++ on the higher spec. machines I use at my day job.
In terms of debugging, I can't say I've written anything that needed
debugging yet; I just make lots of typos. You only need a debugger if
you're building something of a scale that you have to look inside your
objects to understand the side effects of your operations, and that
seems to happen quicker in C++ than lisp.
Pete
pete kirkham <····@cafemosaic.co.uk> writes:
> emacs is too wierd: coming from windows you expect select then type
> to replace the selected text
You need to enable Pending Delete, found in pending-del.el within the
"pc" package in XEmacs:
(turn-on-pending-delete)
According to this article�, the equivalent configuration for GNU Emacs
is slightly different.
Footnotes:
� http://roberto.teixeira.net/articles/emacs.html#id2753881
--
Steven E. Harris :: ········@raytheon.com
Raytheon :: http://www.raytheon.com
luke usher wrote:
>
> Hi, I want to learn LISP...
We love to hear that. Just curious: What got you curious about Lisp?
> ...but I'm having a hard time finding it accesable
> to non experts (much like linux is/was). Plus, I'm used to working with
> VC++ so I don't want to use a non IDE environment.
I had the same experience switching from Think C many moons ago. This is
a big hurdle for newbies to Lisp. But see below.
>
> I tried downloading LISPworks and it seems very foreign, not so much the
> language as the environment and it won't let me compile without buying
> the full version.
Don't you have "Compile and load..." on the File menu?
> So, while I'm loving the concepts of what I have learned from LISP I
> still need a decent (free) IDEm what one do you think would be best to
> use when moving from a VC++ environment?
Try ACL: http://www.franz.com/downloads/
Also heed the advice of others who suggested you give yourself time to
get used to a much different language and development process. Having
been thru the transition myself, I can assure you that your frustration
with even a good Lisp IDE is more about your mastery of the VC++ IDE;
you'll spend a fair amount of time looking for the same things you had
in the VC++ IDE and not finding them. (This happens to me changing
between two different Lisp IDEs.) But muddle thru with the tools you do
find, and eventually be happier with the overall process of Lisp
development.
The graphical debugger especially is something you might think is
indispensible, but it is not. Even in languages that offer them, I
generally prefer print statements, so losing the Think C debugger was no
hardship for me. I guess for others the loss will take longer to get over.
btw, watch this space for announcements of local meetings of lispniks,
one might be in your area.
--
kenny tilton
clinisys, inc
http://www.tilton-technology.com/
---------------------------------------------------------------
"Everything is a cell." -- Alan Kay
"luke usher" <······@iprimus.com.au> wrote in message ·····················@news.iprimus.com.au...
>
> Hi, I want to learn LISP but I'm having a hard time finding it accesable to
> non experts (much like linux is/was). Plus, I'm used to working with VC++
> so I don't want to use a non IDE environment.
>
> I tried downloading LISPworks and it seems very foreign, not so much the
> language as the environment and it won't let me compile without buying the
> full version.
You can still compile files and functions with the Trial Version. See:
http://www.lispworks.com/downloads/lw-personal-edition.html
Or do you mean something else, like delivery?
By definition it is accesible to experts, but did not learning C++ and VC++
take time and energy? Just accept that you are not an expert and
continue to learn, it is not going to kill you.
If you want a little program to play with download
http://www3.telus.net/public/whumeniu/ybbil-capi.zip
It a little Logo like ladybug program I wrote for my kids.
Unzip it. Do, (in a listener)
CL-USER 10 > (load "d:/user/wade/ybbil/ybbil-capi") ; make sure your file path is correct
; Loading fasl file d:\user\wade\ybbil\ybbil-capi.fsl
#P"d:/user/wade/ybbil/ybbil-capi.fsl"
CL-USER 11 > (in-package :ybbil)
#<PACKAGE YBBIL>
YBBIL 12 > (test)
NIL
YBBIL 13 >
A simple program will execute drawing the ladybugs around in squares.
It is a little rough now as my computer is so fast I cannot see the bugs
move.
Wade
luke usher <······@iprimus.com.au> writes:
> Hi, I want to learn LISP but I'm having a hard time finding it
> accesable to non experts (much like linux is/was). Plus, I'm used to
> working with VC++ so I don't want to use a non IDE environment.
>
> I tried downloading LISPworks and it seems very foreign, not so much
> the language as the environment and it won't let me compile without
> buying the full version.
While learning lisp, forget compiling. That's a final stage
unimportant optimization.
> I also tried jabberwocky but It doesn't want to install (they install
> dialogue opens but the install button is greyed out).
>
> And programming in LISP, as near as I can tell is like using a command
> line pormpt which seems kinda weird.
>
> So, while I'm loving the concepts of what I have learned from LISP I
> still need a decent (free) IDEm what one do you think would be best to
> use when moving from a VC++ environment?
I don't know any GUI IDE worth its bits, sorry. But a very nice
environment to learn lisp in is emacs.
Actually, you could even avoid Common-Lisp at first, and just learn
(emacs) lisp with emacs. Then it's quite easy to learn the few
additional primitives features (like closures) and the many additional
library functions there is in Common-Lisp (and putting aside the few
emacs specific functions).
Since emacs is an editor, you don't get that CLI feeling. You just
edit your lisp code, and then select it and type M-x eval-region
RETURN to have it evalued by the emacs lisp interpreter.
Otherwise, still using emacs, and its ilisp package, you can use it as
an IDE for the other lisps, like clisp or sbcl.
--
__Pascal_Bourguignon__ http://www.informatimago.com/
----------------------------------------------------------------------
Do not adjust your mind, there is a fault in reality.
Pascal Bourguignon <····@thalassa.informatimago.com> wrote in message news:<··············@thalassa.informatimago.com>...
> luke usher <······@iprimus.com.au> writes:
>
> > Hi, I want to learn LISP but I'm having a hard time finding it
> > accesable to non experts (much like linux is/was). Plus, I'm used to
> > working with VC++ so I don't want to use a non IDE environment.
> >
> > I tried downloading LISPworks and it seems very foreign, not so much
> > the language as the environment and it won't let me compile without
> > buying the full version.
>
> While learning lisp, forget compiling. That's a final stage
> unimportant optimization.
Well, yes and no. Most Lisp compilers make working with and debugging
compiled code as easy as doing so with interpreted code. So if you need to
compile, there's really no reason not to.
> > I also tried jabberwocky but It doesn't want to install (they install
> > dialogue opens but the install button is greyed out).
> >
> > And programming in LISP, as near as I can tell is like using a command
> > line pormpt which seems kinda weird.
> >
> > So, while I'm loving the concepts of what I have learned from LISP I
> > still need a decent (free) IDEm what one do you think would be best to
> > use when moving from a VC++ environment?
>
> I don't know any GUI IDE worth its bits, sorry. But a very nice
> environment to learn lisp in is emacs.
I generally get by with emacs and its ilk, but I don't necessarily disdain
the graphical tools. There are some very nice ones, particularly in the
inspector and browser category.
> Actually, you could even avoid Common-Lisp at first, and just learn
> (emacs) lisp with emacs. Then it's quite easy to learn the few
> additional primitives features (like closures) and the many additional
> library functions there is in Common-Lisp (and putting aside the few
> emacs specific functions).
This is just bad advice. Sorry Pascal.
Do not learn Emacs Lisp unless you plan on extending Emacs. He is probably
not going to use Emacs at all, anyway. But besides that, Emacs Lisp differs
enough from Common Lisp that learning it will require a painful process of
unlearning when you "move on".
Emacs Lisp is a relic from the past, and should not be recommended as a
general purpose language to learn any more than AutoLisp, another relic.
> Since emacs is an editor, you don't get that CLI feeling. You just
> edit your lisp code, and then select it and type M-x eval-region
> RETURN to have it evalued by the emacs lisp interpreter.
Do you realize that every Common Lisp IDE is the same way? They all let you
evaluate code with a keystroke, and do all sorts of handy things.
Are you seriously that ignorant of their features? Go ahead and download
the trial editions and play with them for a bit. LispWorks even has
Emacs-like key-bindings.
·······@andrew.cmu.edu (Matthew Danish) writes:
> Pascal Bourguignon <····@thalassa.informatimago.com> wrote in message news:<··············@thalassa.informatimago.com>...
>
> > Actually, you could even avoid Common-Lisp at first, and just learn
> > (emacs) lisp with emacs. Then it's quite easy to learn the few
> > additional primitives features (like closures) and the many additional
> > library functions there is in Common-Lisp (and putting aside the few
> > emacs specific functions).
>
> This is just bad advice. Sorry Pascal.
>
> Do not learn Emacs Lisp unless you plan on extending Emacs. He is probably
> not going to use Emacs at all, anyway. But besides that, Emacs Lisp differs
> enough from Common Lisp that learning it will require a painful process of
> unlearning when you "move on".
>
> Emacs Lisp is a relic from the past, and should not be recommended as a
> general purpose language to learn any more than AutoLisp, another relic.
Perhaps. Personnaly I had no difficulties to go from emacs to
Common-Lisp because of emacs lisp.
> > Since emacs is an editor, you don't get that CLI feeling. You just
> > edit your lisp code, and then select it and type M-x eval-region
> > RETURN to have it evalued by the emacs lisp interpreter.
>
> Do you realize that every Common Lisp IDE is the same way? They all let you
> evaluate code with a keystroke, and do all sorts of handy things.
>
> Are you seriously that ignorant of their features? Go ahead and download
> the trial editions and play with them for a bit. LispWorks even has
> Emacs-like key-bindings.
I must confess shamefully that I've only tried free Common-Lisp
implementations, who are rather barebone.
On the other hand, while I've used various GUI IDE on Macintosh and
even programmed one, I felt more at ease with MPW (Macintosh
Programmer Workshop) that was much inspired from unix and emacs, and
then with emacs on OPENSTEP, rather than the ProjectBuilder. In
general, emacs allow me to have my own development process, while the
IDE impose more or less their own process.
--
__Pascal_Bourguignon__ http://www.informatimago.com/
----------------------------------------------------------------------
Do not adjust your mind, there is a fault in reality.
On Thu, 29 May 2003 07:20:38 +1000, luke usher <······@iprimus.com.au>
wrote:
> Hi, I want to learn LISP but I'm having a hard time finding it accesable to
> non experts (much like linux is/was). Plus, I'm used to working with VC++
> so I don't want to use a non IDE environment.
[...]
> And programming in LISP, as near as I can tell is like using a command line
> pormpt which seems kinda weird.
"A language that doesn't affect the way you think about programming, is not
worth knowing" -- Alan Perlis
Paolo
--
Paolo Amoroso <·······@mclink.it>
WOW! Thanks for all the replies, the LISP community sounds like a very nice
one.
I downloaded CLISP which is why jabberwocky wouldn't work, it feels very
similar to VC++, the only problem is that it's a java program (I have a
high disdain for java), but you can't have everything can you!
"We love to hear that. Just curious: What got you curious about Lisp?"
I'd heard about it many times, mostly being f\refered to as a good language
for AI, which I have an interest in. Theres also a fanatical bunch of LISP
programmers on gamedev.net, so I thought I'd check out what the hype was
about, which so far seems well founded (unlike the hype for java, but I
don't want to start rambling and hurt someones feelings).
The C++ way of doing things was also becoming much too ingrained into me,
so I thought I would take the time to learn LISP now, befor it's too late.
luke usher <······@iprimus.com.au> writes:
> I downloaded CLISP which is why jabberwocky wouldn't work, it feels
> very similar to VC++, the only problem is that it's a java program (I
> have a high disdain for java), but you can't have everything can you!
What's the problem of being a Java application?
> I'd heard about it many times, mostly being refered to as a good
> language for AI, which I have an interest in.
It's a reputation but Common Lisp is also a very good general
programming language.
> Theres also a fanatical bunch of LISP programmers on gamedev.net, so
> I thought I'd check out what the hype was about, which so far seems
> well founded (unlike the hype for java, but I don't want to start
> rambling and hurt someones feelings).
Really? I'm glad to hear that. Common Lisp has been in the place for
ages claiming the use of high-level concepts for writing
softwares. C/C++ languages can now be considered as assembly
languages because of their machine-dependant way of coding. I still
don't known how companies could afford writing software in these
languages especially games which are becoming more and more
complex. Look at the way Naughty Dogs wrote "Crash Bandicoot" and
"Jax and Daxter" using Common Lisp.
I'm not sure that there is a hype around Lisp but rather a
necessity.
> The C++ way of doing things was also becoming much too ingrained into
> me, so I thought I would take the time to learn LISP now, befor it's
> too late.
Why it would be too late?
--
Frederic Brunel
(brunel @ mail.dotcom dot fr)
"You can't rush art."
luke usher wrote:
> WOW! Thanks for all the replies, the LISP community sounds like a very
> nice one.
<g> That's just because of all the rain in the NYC area. Everyone is a
little depressed, including Marc Spitzer who has briefly lost his edge.
[in joke]
> "We love to hear that. Just curious: What got you curious about Lisp?"
>
> I'd heard about it many times, mostly being f\refered to as a good
> language for AI, which I have an interest in. Theres also a fanatical
> bunch of LISP programmers on gamedev.net, so I thought I'd check out
> what the hype was about, which so far seems well founded ...
Wow, just checked it out, gamedev.net /is/ a little Lisp hotbed. And I
wager a lot of the lispniks on gamedev are busy enough there that they
do not follow CLL. Any closet gamedev.netters in here?
[note to all local lisp group social directors (and ILC2003 organizers
<g>): maybe post notices of upcoming gatherings over on gamedev.net? Not
sure of the protocol over there re such notices.]
As for the hype seeming well founded, yeah, and one good sign for Lisp
is that when early adopters such as yourself finally get their hands on
Lisp the reaction is overwhelmingly positive, nothing lukewarm (oops on
the pun) about it.
My guess is you are also discovering that Lisp is a good language, full
stop. AI is hard, so Lisp turned out great, AI or no. I did see one
message on gamedev saying Lisp could be a lot more than just the AI
component, it could be the wholeshebang with compute-intensive stuff in
C/C++.
re performance, I am playing now with OpenGL directly from Lisp, trying
to see how fast I can get it. watch this space for news on the progress.
my lib needs ACL or Lispworks, tho I suppose with sufficient effort
CLisp and/or CormanCL could be brought on-line. how's your OpenGL? I
could use help with that.
--
kenny tilton
clinisys, inc
http://www.tilton-technology.com/
---------------------------------------------------------------
"Everything is a cell." -- Alan Kay