<<< Previous speaker next speaker >>>

Guy L. Steele, Jr., Sun Microsystems

 Guy L. Steele, Jr.

Guy L. Steele Jr. (Ph.D., MIT, 1980) is a Sun Fellow and heads the Programming Language Research Group within Sun Microsystems Laboratories in Burlington, MA, USA. Before coming to Sun in 1994, he held positions at Carnegie-Mellon University, Tartan Laboratories, and Thinking Machines Corporation. He is the author or co-author of several books on programming languages (Common Lisp, C, High Performance Fortran, the Java Language Specification) as well as "The Hacker's Dictionary" (also known on the Internet as the "Jargon File").

He has served as program chair for four ACM conferences on programming languages and also on the program committees of over 30 other conferences. He has served on accredited standards committees for the programming languages Common Lisp, C, Fortran, Scheme, and ECMAScript. He is an inventor or co-inventor on over 40 computer-related patents. He designed the original EMACS command set and was the first person to port TeX.

He is a Fellow of the American Association for Artificial Intelligence (1990) and a Fellow of the Association for Computing Machinery (1994). He has been awarded the ACM Grace Murray Hopper Award (1988), a Gordon Bell Prize (1990), and the ACM SIGPLAN Programming Languages Achievement Award (1996). He has been elected to the National Academy of Engineering of the United States of America (2001) and to the American Academy of Arts and Sciences (2002).

Presentation: "Fortress"

Time: Monday 14:40 - 15:30

Location: Rytmisk Sal

Abstract: Guy Steele leads a small team of researchers in Burlington, Massachusetts, who are taking on an enormous challenge -- create a programming language better than Java. Think of it as Java for scientists; Java for the programmers of a peta-scale supercomputer. Called Fortress, the new language is part of a larger Sun Labs effort to come up with a design for the supercomputer of the future, an effort funded in part by DARPA, the U.S. government's Defense Advanced Research Project Agency. Unlike past DARPA projects, however, the focus is not on high performance but rather high productivity. The difference? High performance is all about giving a problem to a machine and getting the answer, fast. With high productivity, the clock starts when you give the problem to the programmers. "So the question is what additional technologies can you use to support the programming process, the debugging process, the system administration process -- just everything involved with actually getting the answer from the time the problem is posed," Steele says.

Presentation: "50 in 50"

Time: Wednesday 09:00 - 10:00

Location: Store Sal

Abstract: Languages-what's to learn from them? Relics of the past; we know how to design them / to use them. Types / messages / invocation / loops / numbers / methods / big ol' libraries / lots of = signs. Heh, but what is programming, and what role do programming languages play in that process? We have learned a lot over the last five decades: organizing principles, established conventions, theory, fashions, and fads. "Those who cannot remember the past are condemned to repeat it." In this talk we survey what we think are the most important lessons of the past that future programmers, and future programming language designers, ought not forget. We illustrate each lesson by discussing specific programming languages of the past, and endeavor to shine what light we can on the future.