Vision Calendar Program Registration Hotel Boston Workshops Tutorials Organizers History Sponsors ICSE 98
ICSE 97:

Keynote Presentations

Guy Steele, Ed Yourdon, and Mark Weiser
Site Menu

Mark Weiser

``Software Engineering That Matters to People''

Dr. Mark Weiser is the Chief Technologist at the Xerox Palo Alto Research Center (PARC). Weiser has no bachelor's degree; his PhD is in Computer and Communications Sciences from the University of Michigan (1979). Weiser was assistant and associate professor and associate chair in the Computer Science Department at the University of Maryland from 1979 to 1987, when he joined Xerox PARC as member of the technical staff, then heading the Computer Science Laboratory for seven years. He has started three companies. His over 75 technical publications are on such areas as the psychology of programming, program slicing, operating systems, programming environments, garbage collection, and technological ethics. Weiser's work since 1988 has been focused on Ubiquitous Computing, a program he initiated that envisions PC's being replaced with invisible computers imbedded in everyday objects. Weiser is the drummer with rock band Severe Tire Damage, the first live band on the Internet.

Ed Yourdon

``Beyond Software Engineering: Ten Imperatives for the Successful Software Developer at the End of the Decade''

Edward Yourdon, methodologist, author, consultant, and publisher of the American Programmer software journal. He is the developer of the "Yourdon method" of structured systems analysis and design implemented on most of today's CASE software engineering tools, and is widely recognized as one of the world's leading experts in software engineering. Ed Yourdon has worked in the computer industry for nearly 30 years, and is the author of 20 textbooks and over 200 articles on software engineering. His most recent books include Mainstream Objects (1995), Object-Oriented Systems Development (1994), as well as Decline and Fall of the American Programmer, and two OO books co-authored with Peter Coad. He is the Chairman of major international conferences on CASE technology, is a Professor of Information Technology at Universidad CAECE in Buenos Aires, Argentina, and has received numerous honors and awards from other universities and professional societies around the world.

Guy Steele

``Java and the Evolution of Web Software''

Guy L. Steele Jr. is a Distinguished Engineer at Sun Microsystems Laboratories in Chelmsford, Massachusetts, and is responsible for research in programming languages, parallel algorithms, implementation strategies, and architectural and software support. He is currently working with James Gosling and Bill Joy on the detailed specification of the Java programming language. Steele has published more than two dozen papers on the subject of the Lisp language and Lisp implementation, including a series with Gerald Jay Sussman that defined the Scheme dialect of Lisp. He is an ACM Fellow and a Fellow of the AAAI, and was awarded the ACM Grace Murray Hopper Award in 1988 as well as a Gordon Bell Prize in 1990. He designed the original EMACS command set and was the first person to port TeX. Prior to joining Sun, he was a senior scientist at Thinking Machines Corporation, a member of technical staff at Tartan Laboratories, and an assistant professor at Carnegie-Mellon University. He is co-author of three books on programming languages: "Common Lisp: The Language," "C: A Reference Manual," and "The High Performance Fortran Handbook."


The Java programming language has been enthusiastically adopted for the production of software to be distributed through the World Wide Web. We discuss four ways in which Java has changed or will change the way we produce software:
  • As a programming language, Java is safer and more robust than C and C++. For example, it simply isn't possible to index off the end of an array (whether accidentally or on purpose). Java is certainly not the first safe programming language, but it may be the means by which certain important improvements to the software infrastructure finally achieve widespread acceptance.
  • The Java Language Specification addresses head-on the fact that programs may not be static, but grow over time, with different modules changing at different rates. What can be said about code compatibility when a new version of a library module is released?
  • Java and the Internet provide a new path for the distribution of software. In particular, it becomes much easier to load software on demand. This may make feasible new economic models for the software industry, such as renting software rather than buying it. What are the advantages and pitfalls of such an approach?
  • Java provides the opportunity for the development of the world's largest software system. It will grow incrementally and haphazardly, just as the Wide Web, considered as a database, grew incrementally and haphazardly, driven by the purposes and dreams of thousands of people. Will the result be useful? Will it be stable? What can we do to improve the outcome?

1997 International Conference on Software Engineering
Last modified: 18 Jun 1997