InfoQ

Interview

Guy Steele on Programming Languages

Interview with Guy Steele by Floyd Marinescu and Bobby Norton on Jul 30, 2008 09:11 AM

Community
Java,
.NET,
Architecture,
Ruby
Topics
Language Design,
Domain Specific Languages,
Language
Tags
SmallTalk,
OOPSLA 2007,
Fortress,
Erlang
Summary
Sun Fellow Guy Steele is interviewed by Floyd Marinescu, co-founder of InfoQ, and Bobby Norton of ThoughtWorks. Guy works for the Programming Language Research Group. The interview focuses on programming languages, the lessons to be learned from the past and what to expect from the future.

Bio
Guy Steele is a Sun Fellow for Sun Microsystems Laboratories, working on the Programming Language Research project. He received his A.B. in applied mathematics from Harvard College (1975), and his S.M. and Ph.D. in computer science and artificial intelligence from MIT (1977 and 1980). Prior to joining Sun Microsystems, he was an assistant professor of computer science at Carnegie-Mellon University
This is Floyd Marinescu and Bobby Norton here at OOPSLA with Guy Steele. Guy can you tell us a bit about yourself and introduce yourself to the viewers?
For developers you started in JAVA, what lessons can they learn from past languages?
Where do you think we are now in terms of JAVA relative to the initial perceived needs it was designed for?
In the panel, you mentioned concurrency as being a major driver of language evolution. Can you tell us a bit more about that and how you see that going?
Will JAVA be the best tool for the JAVA for the concurrent programming or should we be looking at things like Erlang which were designed around this from the beginning?
Do you see the concurrency features in Erlang reason enough to work on some kind of interoperability or perhaps in running Erlang on the JVM?
What do you think would be the three languages that every software developer should know in order to have a good wide breath of available paradigms and theoretical knowledge, or let's say five?
Back to the parallelism topic, a lot of developers are asking why isn't threading good enough. What's the difference between multi core and multithreads? Why do we need new paradigms and constructs for that?
Is there anything to say about what some of these new constructs might be?
What do you think of this recent trend of developers taking upon themselves to build their own domain specific languages?
So as developers are exploring the creation of DSLs, how can they become better language designers?
What do you see as tradeoffs or some guidelines tour when doing domain driven design, creating new APIs that are expressive as domain concepts versus creating new languages that are expressive as the domain concepts?
So one final thought about programming languages and their evolution you'd like to leave the readers with.
show all  show all

6 comments

Reply

? by Ray Wong Posted Jul 30, 2008 10:25 PM
Re: ? by Ahmet A. Akin Posted Aug 3, 2008 9:31 PM
errors in transcript by Robin Stocker Posted Aug 1, 2008 12:14 PM
Re: errors in transcript by Cedric Beust Posted Aug 1, 2008 10:48 PM
Re: errors in transcript by Paul Bennett Posted Aug 5, 2008 8:41 AM
Re: errors in transcript by Rakesh Kumar Posted Aug 15, 2008 4:43 PM
  1. Back to top

    ?

    Jul 30, 2008 10:25 PM by Ray Wong

    It seems nothing to say.

  2. Back to top

    errors in transcript

    Aug 1, 2008 12:14 PM by Robin Stocker

    There are some errors in the transcript. He said that you should learn Haskell, not Pascal (Pascal is neither a modern nor a functional language). And it's not "parallelism would hit a death stop" but "parallelism would hit the desktop". Also, Java is spelt Java, not JAVA.

  3. Back to top

    Re: errors in transcript

    Aug 1, 2008 10:48 PM by Cedric Beust

    And "Snowball"... seriously, guys.

  4. Back to top

    Re: ?

    Aug 3, 2008 9:31 PM by Ahmet A. Akin

    Mr Steele does not say anything because interviewer is asking all the wrong questions. Guy's baby is Fortress, and he keeps asking stuff he does not care much.

  5. Back to top

    Re: errors in transcript

    Aug 5, 2008 8:41 AM by Paul Bennett

    'Snowball, for example, to do string matching' ... Yep, that should be 'Snobol'. But who under 35 would know what Snobol is .....?

  6. Back to top

    Re: errors in transcript

    Aug 15, 2008 4:43 PM by Rakesh Kumar

    I was about to point that out. looks like the interviewer is not aware of the SNOBOL. I would really hate to read Leesp or Skim.

Exclusive Content

Measuring Agile in the Enterprise: 5 Success Factors for Large-Scale Agile Adoption

Michael Mah analyzes the development process in 5 companies: 2 Agile (one of them BMC) and 3 classic. He presents the factors which contributed to the success of BMC's Agile adoption.

Tom Preston-Werner on Powerset, GitHub, Ruby and Erlang

In this interview filmed at RubyFringe 2008, Tom Preston-Werner talks about how both Powerset and GitHub use Ruby and Erlang, as well as tools like Fuzed, god, and more.

David Laribee on Alt.NET and its Mission

David Laribee discusses the purpose of ALT.NET, its mission and future.

Discover RailsKits and Stop Writing Redundant Code

Ruby on Rails has become a popular Ruby framework for creating web applications in recent years. An aspect of creating a web application is the need to repeatedly create the same base functionality.

A Formal Performance Tuning Methodology: Wait-Based Tuning

Steven Haines talks about tackling web application performance tuning by proposing a method called wait-based tuning.

Shaw and Fowler About Forging a New Alliance

Shaw and Fowler talk about the need for a new relationship between the business department and the IT department. Studies have shown that projects mostly fail due to miscommunication between the two.

How to GET a Cup of Coffee

In this article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application.

Archaeopteryx: A Ruby MIDI Generator

Eccentric artist turned overnight anti-celebrity, Giles Bowkett captures the heart and soul of RubyFringe as he demonstrates his revolutionary Archaeopteryx MIDI drum pattern generator.