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
Domain Specific Languages ,
Language Design ,
Language
Tags
Fortress ,
Erlang ,
OOPSLA 2007 ,
SmallTalk ,
OOPSLA
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
? 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.

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.