InfoQ

Interview

John McCarthy on Elephant 2000, Lisp, Ruby and the Computer Industry

Interview with John McCarthy by Niclas Nilsson on Feb 14, 2008 03:46 PM

Community
Architecture,
Ruby
Topics
Language ,
Programming ,
Dynamic Languages
Tags
LISP ,
Artificial Intelligence ,
Innovations
Summary
In this interview, John McCarthy presents his latest programming language ideas; Elephant 2000. He describes elephant memory, references to the past and to the future and how speach acts can be used in programming. He also presents his view on Lisp's influences on Ruby and his view of the history and current state of the computer industry.

Bio
John McCarthy received the Turing Award in 1971 for his major contributions to the field of Artificial Intelligence. He was responsible for coining the term "Artificial Intelligence" in 1955, invented the Lisp programming language and pioneered time-sharing. John McCarthy is currently Professor Emeritus at Stanford University.
My name is Niclas and I am sitting here with John McCarthy at OOPSA. He is going to do a talk tomorrow about his latest research and for those of you who don't know John McCarthy, he is the father of LISP, one of the originals of artificial intelligence, creator of time sharing and he won the Turing award the years I was born actually (1971). So what have you been up to, what's your current research about?
Could you describe these ideas and how they could be implemented in future programming languages?
Are there any specific constraints on these ideas that would make them more suitable for certain type of languages and other languages that would just be impossible to include these ideas in?
So how come you want these features within the language and not in a framework that can be used from any language?
Are there other constructs or things thinking in this area, except for the references in the past that you would like to describe for us?
Are there any research going on trying to implement these things in programming languages that you are aware of, or if not what do you think the timeframe will be for these ideas to enter maybe not the mainstream languages, but at least accessible ?
InfoQ has a lot of readers who are interested in programming languages and many modern programming languages like Ruby are claiming big influences from Lisp Have you seen those languages or do you have any ideas about the current state of programming languages? Lisp seems to be much more influential now then it was couple of decades ago to new programming languages.
So what do you think of the good choices that the software industry has taken the last few decades?
So what would you think are the bad routes that software industry has taken the last few decades?
So let's say you were all powerful and had been able to take all the decisions of programming language and software industry from when you started until now. How would the world look like now?
show all  show all

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.