Why is/was LISP good for AI programming?

  • Thread starter Thread starter Stephen Tashi
  • Start date Start date
  • Tags Tags
    Ai Programming
Click For Summary

Discussion Overview

The discussion centers on the perceived advantages of the LISP programming language for artificial intelligence (AI) programming. Participants explore historical context, features of LISP, and comparisons with other programming languages, particularly in relation to AI applications.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • Some participants suggest that LISP's list processing capabilities made it suitable for early AI programs that focused on verbal inputs and outputs.
  • Others argue that LISP's symbolic manipulation features allowed for dynamic program modification, which was beneficial for AI development.
  • Some contributions highlight that LISP was one of the few languages capable of handling non-arithmetic problems during the rise of AI, emphasizing its ability to perform symbolic operations.
  • A few participants mention the complexity of LISP's syntax, often humorously referring to its extensive use of parentheses.
  • Some participants note that while LISP has been criticized as a "dead language," it was developed for specific applications and may outperform more popular languages like C, Java, or Python in certain contexts.
  • There are references to the evolution of programming languages in AI, with mentions of Clojure as a modern adaptation of LISP and discussions about the historical significance of Perl in bioinformatics.
  • One participant raises a distinction between different eras of AI, suggesting that modern AI may not align with the strengths of LISP as understood in earlier contexts.

Areas of Agreement / Disagreement

Participants express a variety of viewpoints regarding LISP's relevance and utility for AI programming, with no clear consensus on its advantages or disadvantages compared to other languages. Disagreements exist about the significance of its features and the evolution of programming language preferences in AI.

Contextual Notes

Some participants note that the discussion reflects a range of opinions on the applicability of LISP to modern AI, as well as the historical context in which it was developed. There are also mentions of the subjective nature of language choice in programming, influenced by personal familiarity and project requirements.

Stephen Tashi
Science Advisor
Homework Helper
Education Advisor
Messages
7,864
Reaction score
1,602
TL;DR
Why is/was LISP thought to be good for AI programming?
Why is/was the LISP programming language thought to be good for writing programs that implement artificial intelligence?

As I imagine it, early AI programs were oriented toward verbal (i.e. text) inputs and outputs. So perhaps a list processing language is/was well suited for that?
 
Computer science news on Phys.org
I think the symbolic manipulation feature was why. You could write a lisp program that wrote and ran a lisp program ie you could dynamically change the programs processing steps.
 
  • Like
Likes   Reactions: Hornbein, Tom.G and FactChecker
Lisp is a very old language, contemporary to languages like FORTRAN. When AI started becoming popular there were few alternatives that could handle non-arithmetic problems. As @jedishrfu says, the ability to perform symbolic and non-arithmetic operations was considered important for AI. Also, as @jedishrfu says, the ability for the program to piece together code on the run and evaluate it was useful. That ability also made FORTH a language to consider.
 
  • Like
Likes   Reactions: jedishrfu
I always felt Forth was Lisp written RPN.

Lisp was also known as ‘Lots of InSipid Parentheses’
 
  • Like
Likes   Reactions: FactChecker
jedishrfu said:
I always felt Forth was Lisp written RPN.
apt descriptor. But Forth seemed so deceptively simple.
 
  • Like
  • Haha
Likes   Reactions: Tom.G and jedishrfu
Forth gave new meaning to the Devils in the details.
 
jedishrfu said:
Lisp was also known as ‘Lots of InSipid Parentheses’
And anyone who ever had to work with Lisp code in a regular, non-Lisp-oriented, text editor, has to agree.
 
  • Haha
Likes   Reactions: jedishrfu
Well they did introduce the close bracket feature.
 
jedishrfu said:
Lisp was also known as ‘Lots of InSipid Parentheses’
The way I always saw it was "Lots of Stupid Parentheses" or "Lots of Silly Parentheses". :smile:
 
  • Like
Likes   Reactions: jedishrfu
  • #10
  • Like
Likes   Reactions: FactChecker
  • #11
A reader of this thread suggests LISP is a dead language. However, it was developed for particular applications and as such is a better language than the popular C's, Java's, or Python.

Here is a good review of its utility. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5952920/
 
  • Like
Likes   Reactions: FactChecker
  • #13
I had a friend pull up a similar article years ago on Clojure aka lisp on JVM I tried it but felt my team would never consider it even though there were some great benefits. Sometimes procedural / OO folks are a hard crowd to please.
 
  • #14
Stephen Tashi said:
Summary:: Why is/was LISP thought to be good for AI programming?

Why is/was the LISP programming language thought to be good for writing programs that implement artificial intelligence?

As I imagine it, early AI programs were oriented toward verbal (i.e. text) inputs and outputs. So perhaps a list processing language is/was well suited for that?
No. Recursion and meta-progamming and functional features were the pro's of LISP.
 
  • #15
gleem said:
A reader of this thread suggests LISP is a dead language. However, it was developed for particular applications and as such is a better language than the popular C's, Java's, or Python.

Here is a good review of its utility. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5952920/
Considering that Perl was a significant programming language of the Human Genome Project, I can't help but notice that the referenced article is very vague on any advantage that Lisp has to Perl. As a Perl programmer, I came close (although overcome by events) to joining that effort.

See How Perl Saved the Human Genome Project and BioPerl for more details.
 
Last edited:
  • Like
Likes   Reactions: jedishrfu
  • #16
I remember reading a Dummies book on Bioinformatics and it mentioned Perl a lot. It struck me as funny because Perl was on the outs and python was ascending for general programming use.

Often academic projects latch onto programming languages based on what the grad student or principal investigator was familiar with instead of what’s the best overall language to use. Bioinformatics was very text search intensive making Perl an ideal choice but later as other tools gain traction Perl loses to python or some other more performant language. Sometimes choices are made on the free tools and libraries the project latches onto.

I never understood why Clojure/Lisp was gaining adherents when it seemed easy to really get lost in the details of the implementation of an application. Small programs were elegant by scaling up presented developer issues for maintainability. The article my friend had provided said that this startup team had switched from Scala to Clojure and saw huge benefits in maintainability and performance but again I never fully understood why they just didn’t use Java or something similar.
 
  • Like
Likes   Reactions: FactChecker
  • #17
jtbell said:
The way I always saw it was "Lots of Stupid Parentheses" or "Lots of Silly Parentheses". :smile:
Argh, I left out a word. Both should begin, “Lots of Insane…” o0)
 
  • Haha
Likes   Reactions: jedishrfu
  • #19
I haven't touched LISP in years, so I will only make two comments:
  1. The fact that LISP ignores trailing parentheses is a mistake. That encourages the programmer to stick a zillion at the end, thus covering up a logic error.
  2. There is AI and there is AI. Modern AI is not so concerned with what LISP does well - what I would call machine deduction" - as 1980's AI was.
 

Similar threads

Replies
10
Views
5K
Replies
38
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 10 ·
Replies
10
Views
937
  • · Replies 44 ·
2
Replies
44
Views
6K
Replies
3
Views
3K
Replies
65
Views
5K