Alexander Stepanov facts for kids
Alexander Alexandrovich Stepanov (born November 16, 1950, in Moscow) is a Russian-American computer programmer. He is well-known for his work on something called generic programming. He also designed a very important part of the C++ programming language, which is called the Standard Template Library (STL). He started creating the STL around 1992.
Stepanov also wrote two books about programming. One is called Elements of Programming, which he wrote with Paul McJones. The other is From Mathematics to Generic Programming, written with Daniel E. Rose. He stopped working in January 2016.
What is Generic Programming?
Alexander Stepanov is a big supporter of generic programming. This is a way of writing computer code that can work with many different types of data. Imagine you have a recipe for baking cookies. Generic programming is like having one recipe that works whether you want to bake chocolate chip cookies, oatmeal cookies, or peanut butter cookies. The basic steps are the same, but the ingredients change.
Before Stepanov, another programmer named David Musser had already used some ideas of generic programming. But his work was mostly for a special area called computer algebra.
Stepanov saw that generic programming could be used for almost all kinds of software. He convinced his co-workers at GE Global Research that this idea was very important. At that time, most programming languages didn't fully support this way of thinking.
How the Standard Template Library Was Born
The first major programming language to offer good support for generic programming was Ada. It had a feature called "generic units." By 1987, Stepanov and Musser had created an Ada library for handling lists of information. This library showed off their research on generic programming.
However, Ada was mostly used in the defense industry. C++ seemed like it would become more popular and could also support generic programming well. Even though C++ was still quite new, Stepanov realized it had a key advantage. C++ allows programmers to access computer memory very flexibly using pointers. This flexibility was important for making generic code that was also very fast and efficient.
This led to the creation of the Standard Template Library for C++. The STL is a collection of tools and parts that programmers can use to build software. It uses generic programming to make code reusable and efficient.