InfoQ

Interview

   Good News: We have re-worked our video infrastructure to provide more reliable service. Please email bugs at infoq.com with any problems.

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,
Dynamic Languages,
Programming
Tags
LISP,
Innovations,
Artificial Intelligence
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

Reply

Exclusive Content

Tapestry for Nonbelievers

A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.

Pete Lacey on REST and Web Services

In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.

Business Natural Languages Development in Ruby

Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.

Distributed Version Control Systems: A Not-So-Quick Guide Through

Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.

Segundo Velasquez and Agile as Seen Through the Customer's Eyes

Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.

Fine Grained Versioning with ClickOnce

David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.

Implementing Manual Activities in Windows Workflow

Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.

Markus Voelter about Software Architecture Documentation

In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.