InfoQ

Interview

Guy Steele on Programming Languages

Interview with Guy Steele by Floyd Marinescu and Bobby Norton on Jul 30, 2008

Community
Java,
.NET,
Architecture,
Ruby
Topics
Language Design ,
Domain Specific Languages ,
Language
Tags
OOPSLA 2007 ,
Fortress ,
SmallTalk ,
OOPSLA ,
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
? 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

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.