Alexander Stepanov facts for kids
Alexander Stepanov (born November 16, 1950, in Moscow) is a famous Russian-American computer programmer. He is best known for his work on something called generic programming and for creating a big part of the C++ programming language called the Standard Template Library (STL). He started working on the STL around 1992 while at HP Labs.
Before that, he worked at Bell Labs. He tried to convince Bjarne Stroustrup, who created C++, to add features similar to those in another language called Ada to C++. Stepanov is also known for coming up with the idea of a "concept" in programming.
He wrote a book called Elements of Programming with Paul McJones. This book came from a course Stepanov taught at Adobe Systems. He also wrote From Mathematics to Generic Programming with Daniel E. Rose.
Stepanov retired in January 2016 from a company called A9.com.
What is Generic Programming?
Alexander Stepanov strongly believed in a way of writing computer programs called generic programming. Imagine you want to write a program that can sort a list of numbers. With generic programming, you can write one sorting program that works for any type of list – whether it's numbers, words, or even more complex things. This saves a lot of time and effort!
Even though some ideas like this existed before, Stepanov saw how powerful generic programming could be for all kinds of software. He convinced his colleagues at General Electric Research and Development, like David Musser, that this was a great way to build software. At that time, most programming languages didn't have good tools for generic programming.
How Generic Programming Grew
The first major programming language to support generic programming well was Ada. It had a feature called "generic units." By 1987, Stepanov and Musser had created an Ada library for handling lists using their generic programming ideas.
However, Ada wasn't used much outside of the defense industry. Stepanov realized that C++ was more likely to become popular and could also support generic programming well, even though it was still a newer language. He also saw that C++ was good because it allowed programmers to access computer memory very flexibly. This flexibility was key to making generic programs that were both general (worked for many things) and efficient (ran quickly).
All this work eventually led to the creation of the Standard Template Library (STL) for C++. The STL is a collection of ready-to-use tools and parts that programmers can use to build their software. It's a huge part of why C++ is so powerful today!