Industrial Practice Colloquium

Speaker: Stanley B. Lippman
Microsoft Corporation
Topic: Building a Bridge between Kansas and Oz
Date:Thursday, April 17th, 2003
Time:11:00 AM
Place:Gould-Simpson Bldg., Room 701
Refreshments will be served in the 7th floor lobby at 10:45 AM

ABSTRACT

C++ is a multi-paradigm or, to its critics, a hybrid programming language, extending C with support for object-based, object-oriented, and generic programming. In the first portion of this talk, I'll briefly review and explain the rationale behind its Object Model as designed by its inventor, Bjarne Stroustrup. Its primary characteristic is a paradoxical strongly-typed polymorphism one which constrains run-time access and services in favor of performance. Geographically we'll locate it within Kansas. .NET is a dynamic programming environment supporting considerable run-time access and services, in many ways the very opposite of the C++ Object Model. Geographically we'll locate it within Oz. In C++.NET, we have twice extended C++ to incorporate this dynamic programming model -- twice because the first version met with mixed results. In the second portion of this talk, I'll review the design motivation of the first extension, and see what lessons one might draw from that. We'll then look at a second and, we believe, more successful extension of C++ to unify the static and dynamic programming model.

About the Speaker:
STANLEY B. LIPPMAN is Architect with the Visual C++ development team at Microsoft. Stan spent more than twelve years at Bell Laboratories where he worked with Bjarne Stroustrup on the design and implementation of the C++ programming language. He is the author of C++ Primer, Essential C++, and Inside the C++ Object Model.

About the Industrial Practice Colloquium:
Participants in the Industrial Practice Colloquium are invited to speak to students and faculty about current and future research and development projects in industry, company software development environment and practices, the life of a professional and the current industrial computing milieu.