alex stepanov zander kelley csce 221h spring 2014

6
Alex Stepanov Zander Kelley CSCE 221H Spring 2014

Upload: abner-conley

Post on 17-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alex Stepanov Zander Kelley CSCE 221H Spring 2014

Alex StepanovZander KelleyCSCE 221HSpring 2014

Page 2: Alex Stepanov Zander Kelley CSCE 221H Spring 2014

Career• Born in Moscow, USSR, in 1950• Studied mathematics at Moscow State University (1967-1972)

-led to opinions that good programming should be “like math” (or even “good programming is math).

-decided he wanted to work in a less abstract field with more practical, real world applications.• Worked on computer control systems for hydroelectric dams• General Electric Research Center – Tecton (1977)• Assistant Professor at Polytechnic University (1984) -experience with graph theory showed him that functional languages (with no notion of “state”) are not feasible for generic programming.

Page 3: Alex Stepanov Zander Kelley CSCE 221H Spring 2014

Career• Ada Generic Library (with Dave Musser)

-extended the work that Dave Musser did in a specific domain (computer algebra) to general applications.• Bell Labs

-early attempt to create a generic library for C/C++ using object-oriented techniques (inheritance, ect.) fails. However, he did realize the importance of the C/C++ memory model for generality without losing efficiency.• HP Labs – C++ STL (1993)

-STL now possible due to introduction of templates.• Currently working at A9.com

Page 4: Alex Stepanov Zander Kelley CSCE 221H Spring 2014

Origins of the STL• Food poisoning revelation: algorithms are algebraic structures

-algorithms can be specified in generic forms that are abstract (with respect to notions of containers, data types, predicates, ect.) with only a few fundamental specifications.• Bell Labs: OO methods not enough for abstract algorithms

-Ability of pointers to simultaneously provide efficiency and abstractness gives hope that it is possible, and that a C- based language is the right language for the job.• HP Labs: new templates make the C++ STL possible• ANSI/ISO proposal: STL is not just theoretical – people want it.• C++ Implementation: support of Bjarne Stroustrup

-Stroustrup was an important ally politically, and he also made some nuanced additions to the language that allowed some of the more obscure uses of templates in the STL code.

Page 5: Alex Stepanov Zander Kelley CSCE 221H Spring 2014

Standard Template Library

• Allows uniform access to data• Provides common algorithms at no efficiency cost compared

to hand-written code• Makes code shorter, more readable, and more standard• Separates logical ideas in code resulting in more flexibiliy

Page 6: Alex Stepanov Zander Kelley CSCE 221H Spring 2014

Criticism of Object-Orientation

• Thinks generic programming should be the fundamental programming paradigm

-not necessarily that object oriented design is not useful.• Not everything is an object• max() algorithm in Java• Hopes for future C-based language with generic

programming in mind

Interviews:http://www.stlport.org/resources/StepanovUSA.htmlhttp://www.sgi.com/tech/stl/drdobbs-interview.html