Alexander Stepanov

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

File:Alexander Stepanov.jpg
Alexander Stepanov

Alexander Alexandrovich Stepanov (Russian: Алекса́ндр Алекса́ндрович Степа́нов), born November 16, 1950 in Moscow, is the primary designer and implementer of the C++ Standard Template Library,[1] which he started to develop around 1992 while employed at HP Labs. He had earlier been working for Bell Labs close to Andrew Koenig and tried to convince Bjarne Stroustrup to introduce something like Ada Generics in C++.[2]

He is the author (with Paul McJones) of Elements of Programming,[3] a book that grew out of a "Foundations of Programming" course[4] that Stepanov taught at Adobe Systems (while employed there). He is also the author (with Daniel E. Rose) of From Mathematics to Generic Programming.[5]

He is currently employed by A9.com.

Standard Template Library and generic programming

Alexander Stepanov is an advocate of what is known as generic programming. Although David Musser had developed and advocated some aspects of generic programming already by 1971, it was limited to a rather specialized area of software development (computer algebra).

Stepanov recognized the full potential for generic programming and persuaded his then-colleagues at General Electric Research and Development (including, primarily, David Musser and Deepak Kapur) that generic programming should be pursued as a comprehensive basis for software development. At the time there was no real support in any programming language for generic programming.

The first major language to provide such support was Ada, with its generic units feature. By 1987 Stepanov and Musser had developed and published an Ada library for list processing that embodied the results of much of their research on generic programming. However, Ada had not achieved much acceptance outside the defense industry and C++ seemed more likely to become widely used and provide good support for generic programming even though the language was relatively immature. Another reason for turning to C++, which Stepanov recognized early on, was the C/C++ model of computation which allows very flexible access to storage via pointers is crucial to achieving generality without losing efficiency. It eventually led to the development of the Standard Template Library of C++.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.

Additional reading

  • Lua error in package.lua at line 80: module 'strict' not found.

External links