Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Российский американский программист (род. 1950)
Russian American computer programmer (born 1950)
Александр Александрович Степанов (Алекса́ндр Алекса́ндрович Степа́нов; род. 16 ноября 1950, Москва) — российский американский программист, наиболее известный как сторонник обобщённого программирования и как основной разработчик и реализатор библиотеки стандартных шаблонов C++, разработку которой он начал около 1992 года, работая в HP Labs. Ранее он работал в Bell Labs вместе с Эндрю Кенигом и пытался убедить Бьярна Строструпа внедрить в C++ нечто подобное обобщённому программированию в Ada. Ему принадлежит идея концепций. Он является автором (в соавторстве с Полом МакДжонсом) книги «Элементы программирования», которая выросла из курса «Основы программирования», который Степанов преподавал в Adobe Systems (во время работы в компании). Он также является автором (в соавторстве с Дэниелом Э. Роузом) книги «От математики к обобщённому программированию». В январе 2016 года он вышел на пенсию из A9.com.
Alexander Alexandrovich Stepanov (Алекса́ндр Алекса́ндрович Степа́нов; born November 16, 1950, Moscow) is a Russian American computer programmer, best known as an advocate of generic programming and as the primary designer and implementer of the C++ Standard Template Library, 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++. He is credited with the notion of concept. He is the author (with Paul McJones) of Elements of Programming, a book that grew out of a "Foundations of Programming" course that Stepanov taught at Adobe Systems (while employed there). He is also the author (with Daniel E. Rose) of From Mathematics to Generic Programming. He retired in January 2016 from A9. com.
Библиотека стандартных шаблонов и общее программирование
Александр Степанов — сторонник обобщённого программирования. Хотя Дэвид Муссер уже разработал и продвигал некоторые аспекты обобщённого программирования к 1971 году, это было ограничено довольно узкой областью разработки программного обеспечения (компьютерная алгебра). Степанов осознал весь потенциал обобщённого программирования и убедил своих коллег в General Electric Research and Development (включая, прежде всего, Дэвида Муссера и Дипака Капура), что обобщённое программирование следует рассматривать как всеобъемлющую основу для разработки программного обеспечения. В то время ни один язык программирования не обеспечивал реальной поддержки обобщённого программирования. Первым крупным языком, предоставившим такую поддержку, стал Ada с его механизмом обобщённых модулей. К 1987 году Степанов и Муссер разработали и опубликовали библиотеку Ada для обработки списков, которая воплощала результаты большей части их исследований в области обобщённого программирования. Однако Ada не получила широкого распространения за пределами оборонной промышленности, и C++ казался более перспективным в плане широкого использования и обеспечения хорошей поддержки обобщённого программирования, несмотря на относительную незрелость языка. Ещё одной причиной обращения к C++, которую Степанов заметил в самом начале, было то, что модель вычислений C/C++ (обеспечивающая очень гибкий доступ к памяти через указатели) имеет решающее значение для достижения обобщённости без потери производительности. В конечном итоге это привело к созданию Стандартной библиотеки шаблонов C++.
Alexander Stepanov is an advocate of generic programming. Although David Musser had already developed and advocated some aspects of generic programming 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 that 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++.