70 likes | 237 Views
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).
E N D
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 morepractical, 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.
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
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 BjarneStroustrup -Stroustrup was an important ally politically, and he also made some nuanced additions to the language that allowed some of the more obscureuses of templates in the STL code.
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
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.html http://www.sgi.com/tech/stl/drdobbs-interview.html