• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Common LISP

Joined
Apr 4, 2003
Messages
836
i've been using this language a lot recently. i see it has many, many features that were once considered miraculous. i can see how it would have been a god-send in the late 1950's when programming machines was extremely difficult.

are there any practical reasons for using this language today (other than maintaining the code base from the 1960's - 1980's)? i know many AI fans love it, but i just don't see the advantage. even well-written LISP code is difficult to read. the lack of type declarations makes following someone else's code extremely difficult. additionally, i think the Language lacks the flexibility to control hardware without extensive modifications to the standard for running on specific hardware.

It seems to be neat language that is fun to tinker with when you want to remove the worries of low-level representation of data, which i believe ties it exclusively to data processing... and i think there are many better languages to do your data processing in.
 
LISP brings me back, way back, can't say that I miss it. It was one of the two languages I used in my graduate language theory class, along with Standard ML, which I think was a neater language to learn and use. I don't think I've ever had as much fun learning and programming in a language than with SML.

Anyway - I think LISP and its derivatives are pretty much relegated to academia, but there is professional work being done with that class of languages. Autodesk's software includes a built in interpreter for LISP for scripting the software, ITA here in Massachusetts (they make flight scheduling and route planning software) uses LISP in some capacity, and I believe the complete Yahoo! Stores framework was built on top of Scheme or CLISP.

Here is a link I just found:
http://www.pchristensen.com/blog/lisp-companies/

In the first class where I had to learn Scheme (one of those CS weeder courses beyond data structures), the professor was a huge Scheme/LISP advocate (specialty was AI, and she was friends with some of the people who created Scheme) and would do CGI programming in Scheme. She mentioned that Orbitz, the travel website, is/was partly implemented with Scheme. I'm not sure if that statement was ever true.

Weird aside: I hear there is commercial software written in Prolog, which I still find weird that there would be.
 
I found it quite interesting. The whole functional language concept seems more elegant than the imperative languages. But LISP suffered from the horrible amount of parenthesis...
 
When i first learned prolog it was like magic to me... I was just amazed at how it "knows" the answer =)
 
in situations where lisp is still of current utility it always seems to be self-modifying code that's the benefit. Voyager could, for example, fine-tune itself on the fly...although I wouldnt consider that very recent :p

but we covered scheme in one of our classes, and i cant for the life of me figure out where the self-modifying code comes into play. can you actually, say, insert some keywords and code into a list and start passing that around as a function? or is it more subtle? i always thought this was one of the more interesting points of lisp, but it seems i completely forgot how it works.

i kinda like scheme/lisp, but i think i had a little more fun with haskell as far as functional languages go. probably because it was more to the point for the basic stuff i was using it for
 
in Common LISP, you can put just about anything in a list and pass it around. later on, you can test if an element in a list is a function, and if it is, execute it.

in some applications (writing compilers, maybe?), i can see how LISP makes work easier and more intuitive, but i get annoyed by the die-hard fans who have a touch of "i'm a C god and will throw a string of operators together to produce something no experienced programmer can understand in under 15 minutes but it asserts my dominance over people who haven't slept in dennis richey's bed like i have" syndrome, except their language of choice is LISP.

i also find it kind of ironic (not wrong, per say. just ironic) that there are those who implement their software engineering research in LISP.
 
in Common LISP, you can put just about anything in a list and pass it around. later on, you can test if an element in a list is a function, and if it is, execute it.

in some applications (writing compilers, maybe?), i can see how LISP makes work easier and more intuitive, but i get annoyed by the die-hard fans who have a touch of "i'm a C god and will throw a string of operators together to produce something no experienced programmer can understand in under 15 minutes but it asserts my dominance over people who haven't slept in dennis richey's bed like i have" syndrome, except their language of choice is LISP.

i also find it kind of ironic (not wrong, per say. just ironic) that there are those who implement their software engineering research in LISP.

When I took a compiler course, we wrote a compiler for a language that was a subset of Java, in Java, using some additional tools. The code became very long. When I took the computer language theory course I mentioned, we used ML to build a parse tree and the code fit neatly onto the page, because the language was well suited for top-down parsing, which the Java-subset grammar fit into. The Java code for the compiler was significantly more verbose. LISP also fits the bill because tree parsing is particularly concise in implementation in the language.

I've also found that people who are big LISP fans, usually hate the languages other people use. My Scheme/LISP professor sophomore year mocked some of us for using C-style languages, and I work with someone whose language of choice is LISP, but I'm glad that he's not denouncing all other langauges.

Reading Paul Graham's essays probably did more to screw up my thinking of languages than anything else. :p

This thread reminds me to look into trying out O'Caml.
 
My first thought was Autodesk's AutoCAD, which someone mentioned above. One of the products I work on is an extension of AutoCAD, and while it does have a LISP scripting interface, quite often it's a whole lot easier to do things using the native C++ API (or its .NET wrapper). The AutoLISP interface is really handy for some things because you can just paste it into the command line, but accessing deeper parts of the API is really clunky.
 
Back
Top