Кіріспе

Ресейлік-американдық компьютерлік бағдарламашы (1950 жылы туған)

Александр Александрович Степанов (Алекса́ндр Алекса́ндрович Степа́нов; 1950 жылдың 16 қарашасында Мәскеуде туған) – ресейлік-американдық компьютерлік бағдарламашы, жалпылама бағдарламалауды қолдаушы және C++ стандарттық үлгі кітапханасының негізгі әзірлеушісі және іске асырушысы ретінде белгілі. Ол 1992 жылы HP Labs-те жұмыс істеген кезде оны әзірлеуді бастады. Бұрын Эндрю Кенигпен бірге Bell Labs-те жұмыс істеген және Бьярн Строструпты C++ тіліне Ada-дағы жалпылама түрлерге ұқсас мүмкіндіктерді енгізуге көндіруге тырысқан. Ол түсінік (концепция) ұғымын қалыптастырған. Ол (Пол МакДжонспен бірге) «Программалау элементтері» кітабының авторы, бұл кітап Степановтың Adobe Systems жүйесінде оқытқан «Программалау негіздері» курсынан өркендеген. Сонымен қатар, ол (Дэниел Э. Роузбен бірге) «Математикадан жалпылама бағдарламалауға» кітабының авторы. 2016 жылдың қаңтар айында A9.com компаниясынан зейнеткерлікке шықты.

Стандартты үлгілер кітапханасы және жалпылама бағдарламалау

Александр Степанов – жалпылама бағдарламалауды қолдайтын адам. Дэвид Муссер 1971 жылға дейін жалпылама бағдарламалаудың кейбір аспектілерін әзірлеп, жақтағанмен, ол бағдарламалық жасақтаманы дамытудың (компьютерлік алгебра) салыстырмалы түрде тар саласына ғана шектелген еді. Степанов жалпылама бағдарламалаудың толық потенциалын таныды және сол кездегі General Electric Research and Development (оның ішінде, ең бастысы, Дэвид Муссер мен Дипак Капур) әріптестерін жалпылама бағдарламалауды бағдарламалық жасақтаманы дамытудың толыққанды негізі ретінде қарастыруға көндірді. Ол кезде ешбір бағдарламалау тілі жалпылама бағдарламалауды қолдауға дайын болған жоқ. Мұндай қолдауды алғашқы рет көрсеткен маңызды тіл – Ada, оның жалпы модульдері болды. 1987 жылға қарай Степанов пен Муссер жалпылама бағдарламалау бойынша жүргізген зерттеулерінің көп бөлігінің нәтижелерін қамтитын тізімдерді өңдеуге арналған Ada кітапханасын жасап, жариялады. Дегенмен, Ada қорғаныс индустриясының шегінен тыс жерлерде кеңінен қабылдауға ие болмады, ал C++ тілі, оның жетілмегендігіне қарамастан, кеңінен қолданылып, жалпылама бағдарламалауды жақсы қолдауы мүмкін болды. Степановтың C++-қа назар аударуының тағы бір себебі, ол C/C++ есептеу моделінің (пайнерлер арқылы жадқа өте икемді қолжетімділікті қамтамасыз етеді) тиімділікті жоғалтпай, жалпыламалыққа қол жеткізу үшін маңызды екенін ерте түсінді. Бұл соңында C++ стандарттық үлгілер кітапханасының жасалуына әкелді.