HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>23 сен 2022</li>
2 <ul><li>23 сен 2022</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><h2>Екатерина Ющенко: автор указателей и первая женщина-программист в СССР</h2>
4 </ul><h2>Екатерина Ющенко: автор указателей и первая женщина-программист в СССР</h2>
5 <p>Рассказываем об учёной, которая создала прообраз языка C, опередив Fortran и COBOL, но не получила признания в мире.</p>
5 <p>Рассказываем об учёной, которая создала прообраз языка C, опередив Fortran и COBOL, но не получила признания в мире.</p>
6 <p>Иллюстрация: Unknown author / Wikimedia Commons / freepik / Freepik / Дима Руденок для Skillbox Media</p>
6 <p>Иллюстрация: Unknown author / Wikimedia Commons / freepik / Freepik / Дима Руденок для Skillbox Media</p>
7 <p>Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.</p>
7 <p>Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.</p>
8 <p>Екатерина Логвиновна Ющенко родилась в 1919 году в казачьем городе Чигирине. В 1937 году, когда она училась на первом курсе физмата Киевского университета, её отец, школьный учитель истории и географии, был осуждён по ложному обвинению в национализме.</p>
8 <p>Екатерина Логвиновна Ющенко родилась в 1919 году в казачьем городе Чигирине. В 1937 году, когда она училась на первом курсе физмата Киевского университета, её отец, школьный учитель истории и географии, был осуждён по ложному обвинению в национализме.</p>
9 <p>Это не могло не отразиться на судьбе дочери.</p>
9 <p>Это не могло не отразиться на судьбе дочери.</p>
10 Екатерина Ющенко в молодости<em>Фото: Национальный университет "Одесская политехника"</em><p>Екатерину Логвиновну заклеймили как "дочь врага народа" и исключили из университета - как объясняли ей в ректорате, "по приказу свыше".</p>
10 Екатерина Ющенко в молодости<em>Фото: Национальный университет "Одесская политехника"</em><p>Екатерину Логвиновну заклеймили как "дочь врага народа" и исключили из университета - как объясняли ей в ректорате, "по приказу свыше".</p>
11 <p>"Мне было 17 лет, и я свято верила словам Сталина - "сын за отца не отвечает“.</p>
11 <p>"Мне было 17 лет, и я свято верила словам Сталина - "сын за отца не отвечает“.</p>
12 <p>Придя к ректору, я спросила:</p>
12 <p>Придя к ректору, я спросила:</p>
13 <p>- Разве есть закон, позволяющий исключить меня из института?</p>
13 <p>- Разве есть закон, позволяющий исключить меня из института?</p>
14 <p>- Есть! - ответил ректор. - Телефонограмма народного комиссара просвещения Затонского".</p>
14 <p>- Есть! - ответил ректор. - Телефонограмма народного комиссара просвещения Затонского".</p>
15 <p><strong>Екатерина Ющенко,</strong>книга Б. Н. Малиновского "<a>Очерки по истории компьютерной науки и техники в Украине</a>".</p>
15 <p><strong>Екатерина Ющенко,</strong>книга Б. Н. Малиновского "<a>Очерки по истории компьютерной науки и техники в Украине</a>".</p>
16 <p>Вскоре арестовали и мать Ющенко: её приговорили к десяти годам лагерей. Родителей реабилитировали лишь в 1954 году, посмертно.</p>
16 <p>Вскоре арестовали и мать Ющенко: её приговорили к десяти годам лагерей. Родителей реабилитировали лишь в 1954 году, посмертно.</p>
17 <p>После исключения несправедливо пострадавшая студентка пыталась поступить в МГУ - её даже приняли, но отказались выделить место в общежитии. На университетской доске объявлений она увидела листовку, которая дарила ей новую надежду. Недавно организованный в Самарканде Узбекский государственный университет обещал абитуриентам, успешно прошедшим экзамен, не только общежитие и стипендию, но даже оплату проезда. Ющенко поступила и переехала в Узбекистан.</p>
17 <p>После исключения несправедливо пострадавшая студентка пыталась поступить в МГУ - её даже приняли, но отказались выделить место в общежитии. На университетской доске объявлений она увидела листовку, которая дарила ей новую надежду. Недавно организованный в Самарканде Узбекский государственный университет обещал абитуриентам, успешно прошедшим экзамен, не только общежитие и стипендию, но даже оплату проезда. Ющенко поступила и переехала в Узбекистан.</p>
18 <p>С началом войны Екатерину Логвиновну перевели в Ташкент, в Среднеазиатский государственный университет. Параллельно с учёбой она работала на заводе, производящем прицелы для танков.</p>
18 <p>С началом войны Екатерину Логвиновну перевели в Ташкент, в Среднеазиатский государственный университет. Параллельно с учёбой она работала на заводе, производящем прицелы для танков.</p>
19 <p>В 1942 году Ющенко получила диплом математика, но война диктовала свои условия: вместо университетской кафедры молодая учёная добровольцем отправилась на Ангренский угольный комбинат в 150 километрах от столицы Узбекистана. Год проработала запальщиком-взрывником в шахте, потом ещё два года - учительницей физики и математики в ташкентской средней школе. И только после войны она смогла вернуться домой, в Украину, и заняться любимым делом - наукой.</p>
19 <p>В 1942 году Ющенко получила диплом математика, но война диктовала свои условия: вместо университетской кафедры молодая учёная добровольцем отправилась на Ангренский угольный комбинат в 150 километрах от столицы Узбекистана. Год проработала запальщиком-взрывником в шахте, потом ещё два года - учительницей физики и математики в ташкентской средней школе. И только после войны она смогла вернуться домой, в Украину, и заняться любимым делом - наукой.</p>
20 <p>В 1946 году во Львове открылся филиал Института математики АН УССР. Академик Борис Гнеденко предложил Екатерине Логвиновне работу на кафедре теории вероятностей.</p>
20 <p>В 1946 году во Львове открылся филиал Института математики АН УССР. Академик Борис Гнеденко предложил Екатерине Логвиновне работу на кафедре теории вероятностей.</p>
21 <p>В 1950-м Ющенко защитила кандидатскую диссертацию и вместе с Гнеденко переехала в Киев, в головной институт. В те годы он был на взлёте - в частности, именно его директор, академик Александр Юльевич Ишлинский, разрабатывал теорию гироскопов, так необходимую для создания советских космических спутников.</p>
21 <p>В 1950-м Ющенко защитила кандидатскую диссертацию и вместе с Гнеденко переехала в Киев, в головной институт. В те годы он был на взлёте - в частности, именно его директор, академик Александр Юльевич Ишлинский, разрабатывал теорию гироскопов, так необходимую для создания советских космических спутников.</p>
22 <p>Всё это требовало сложнейших расчётов. Правительство закупило для Киева мощные по тем временам счётно-аналитические машины. Ющенко возглавила вычислительную лабораторию.</p>
22 <p>Всё это требовало сложнейших расчётов. Правительство закупило для Киева мощные по тем временам счётно-аналитические машины. Ющенко возглавила вычислительную лабораторию.</p>
23 Киевский МЭСМ<em>Фото:<a>Мининский университет</a></em><p>В распоряжении Екатерины Логвиновны были МЭСМ - разработанные в Украине первые ЭВМ на европейском континенте. Несмотря на всю свою научную революционность, машины имели значительные недостатки - ограниченную память, малую производительность и сбои в работе из-за большого числа электронных ламп.</p>
23 Киевский МЭСМ<em>Фото:<a>Мининский университет</a></em><p>В распоряжении Екатерины Логвиновны были МЭСМ - разработанные в Украине первые ЭВМ на европейском континенте. Несмотря на всю свою научную революционность, машины имели значительные недостатки - ограниченную память, малую производительность и сбои в работе из-за большого числа электронных ламп.</p>
24 <p>Это заставляло программистов искать довольно специфические способы работы с внутренним языком ЭВМ. Каждая программа была уникальным квестом: требовалось придумать наиболее экономные варианты решения, используя особенности архитектуры.</p>
24 <p>Это заставляло программистов искать довольно специфические способы работы с внутренним языком ЭВМ. Каждая программа была уникальным квестом: требовалось придумать наиболее экономные варианты решения, используя особенности архитектуры.</p>
25 <p>Через некоторое время выяснилось: только с помощью машинных программ часть научных задач - естественно, самых сложных - вообще не решается. Возникла идея создать язык более высокого уровня, а также транслятора для него, чтобы упростить взаимодействие человека с компьютером. Этим и занялась Ющенко.</p>
25 <p>Через некоторое время выяснилось: только с помощью машинных программ часть научных задач - естественно, самых сложных - вообще не решается. Возникла идея создать язык более высокого уровня, а также транслятора для него, чтобы упростить взаимодействие человека с компьютером. Этим и занялась Ющенко.</p>
26 <p>В то время были очень популярны идеи<a>академика Ляпунова</a>, который предложил для программирования операторный метод. Екатерина Логвиновна и её коллега Владимир Семёнович Королюк решили применить эти идеи.</p>
26 <p>В то время были очень популярны идеи<a>академика Ляпунова</a>, который предложил для программирования операторный метод. Екатерина Логвиновна и её коллега Владимир Семёнович Королюк решили применить эти идеи.</p>
27 Ющенко и Королюк<em>Фото:<a>Мининский университет</a></em><p>Созданный ими язык совмещал два принципа - программное управление и адресность. Первый состоял в том, что компьютером управляли с помощью программ, которые человек писал на понятном для него языке, а затем с помощью транслятора переводил в машинные инструкции. Второй включал в себя прямую работу с компьютерной памятью - примерно как сейчас это сделано в языках C, С++ и Rust.</p>
27 Ющенко и Королюк<em>Фото:<a>Мининский университет</a></em><p>Созданный ими язык совмещал два принципа - программное управление и адресность. Первый состоял в том, что компьютером управляли с помощью программ, которые человек писал на понятном для него языке, а затем с помощью транслятора переводил в машинные инструкции. Второй включал в себя прямую работу с компьютерной памятью - примерно как сейчас это сделано в языках C, С++ и Rust.</p>
28 <p>Учёные назвали свою разработку Адресным языком. Он имел понятную систему определений, описывающую архитектуру ЭВМ и её команды, и умел манипулировать адресами второго ранга.</p>
28 <p>Учёные назвали свою разработку Адресным языком. Он имел понятную систему определений, описывающую архитектуру ЭВМ и её команды, и умел манипулировать адресами второго ранга.</p>
29 <p>Позже Екатерина Логвиновна вместе с Гнеденко и Королюком написали первый учебник по программированию - "Элементы программирования". Его издали в 1961 году в СССР, в 1964 году - в ГДР и Венгрии, а в 1969 году - во Франции.</p>
29 <p>Позже Екатерина Логвиновна вместе с Гнеденко и Королюком написали первый учебник по программированию - "Элементы программирования". Его издали в 1961 году в СССР, в 1964 году - в ГДР и Венгрии, а в 1969 году - во Франции.</p>
30 <p>Адресный язык - алгоритмический. Принцип адресности, заявленный в его названии, подразумевает, что данные для решения задачи хранятся в одной из ячеек запоминающего устройства, которой присвоен собственный адрес.</p>
30 <p>Адресный язык - алгоритмический. Принцип адресности, заявленный в его названии, подразумевает, что данные для решения задачи хранятся в одной из ячеек запоминающего устройства, которой присвоен собственный адрес.</p>
31 <p>В те годы это реализовывалось так. Сперва разработчик размещал данные в ячейках - это называлось начальным этапом программирования. После этого он писал программу, указывая уже не сами данные, а их адрес - то есть место в памяти ЭВМ.</p>
31 <p>В те годы это реализовывалось так. Сперва разработчик размещал данные в ячейках - это называлось начальным этапом программирования. После этого он писал программу, указывая уже не сами данные, а их адрес - то есть место в памяти ЭВМ.</p>
32 <p>Это позволяло более-менее универсализировать решение задач. Например, можно было составить алгоритм общего вида - последовательность расчётов для какого-либо процесса, аппарата или параметра (допустим, взлёта аэродинамического устройства, разогрева котла под давлением или перепада напряжения в электросети). И потом использовать этот алгоритм для решения огромного массива прикладных задач, просто подставляя в адресные ячейки нужные данные (размеры устройства, температура в котле, данные внешней среды, электросхема сети и так далее).</p>
32 <p>Это позволяло более-менее универсализировать решение задач. Например, можно было составить алгоритм общего вида - последовательность расчётов для какого-либо процесса, аппарата или параметра (допустим, взлёта аэродинамического устройства, разогрева котла под давлением или перепада напряжения в электросети). И потом использовать этот алгоритм для решения огромного массива прикладных задач, просто подставляя в адресные ячейки нужные данные (размеры устройства, температура в котле, данные внешней среды, электросхема сети и так далее).</p>
33 <p>Ещё один важный аспект Адресного языка - принцип программного управления. Он означает, что порядок выполнения команд строго определён: ЭВМ последовательно считывает их сверху вниз.</p>
33 <p>Ещё один важный аспект Адресного языка - принцип программного управления. Он означает, что порядок выполнения команд строго определён: ЭВМ последовательно считывает их сверху вниз.</p>
34 <p>Адресный язык позволял реализовать все основные числовые операции:</p>
34 <p>Адресный язык позволял реализовать все основные числовые операции:</p>
35 <ul><li>арифметические: +, -, ×, ÷;</li>
35 <ul><li>арифметические: +, -, ×, ÷;</li>
36 <li>функциональные: √, sin, ln и другие;</li>
36 <li>функциональные: √, sin, ln и другие;</li>
37 <li>логические: ∧, ∨, ¬;</li>
37 <li>логические: ∧, ∨, ¬;</li>
38 <li>отношения: =, &lt;, ≤;</li>
38 <li>отношения: =, &lt;, ≤;</li>
39 <li>и другие.</li>
39 <li>и другие.</li>
40 </ul><p>Кроме того, существовали дополнительные операторы, созданные для управления программами (их называли формулами, или функциями):</p>
40 </ul><p>Кроме того, существовали дополнительные операторы, созданные для управления программами (их называли формулами, или функциями):</p>
41 <ul><li>‘ - команда, которая "достаёт" содержимое из адресной ячейки. По сути, она аналогична команде * в современном C++.</li>
41 <ul><li>‘ - команда, которая "достаёт" содержимое из адресной ячейки. По сути, она аналогична команде * в современном C++.</li>
42 <li>⇒ - операция переноса содержимого из одной ячейки в другую.</li>
42 <li>⇒ - операция переноса содержимого из одной ячейки в другую.</li>
43 </ul><p>Работали они так. Если у нас есть адрес A, а по нему располагаются данные B, записывали это следующим образом:</p>
43 </ul><p>Работали они так. Если у нас есть адрес A, а по нему располагаются данные B, записывали это следующим образом:</p>
44 <p>‘A = B</p>
44 <p>‘A = B</p>
45 <p>Чтобы скопировать содержимое из адреса A по адресу C, нужно было написать так:</p>
45 <p>Чтобы скопировать содержимое из адреса A по адресу C, нужно было написать так:</p>
46 <p>‘A ⇒ C</p>
46 <p>‘A ⇒ C</p>
47 <p>В итоге получались две отдельные, никак не связанные друг с другом ячейки с одинаковыми данными:</p>
47 <p>В итоге получались две отдельные, никак не связанные друг с другом ячейки с одинаковыми данными:</p>
48 <p>‘A = B</p>
48 <p>‘A = B</p>
49 <p>и</p>
49 <p>и</p>
50 <p>‘C = B</p>
50 <p>‘C = B</p>
51 <p>Чтобы решить простую программу сложения двух чисел из разных ячеек, нужно воспользоваться операциями +, ‘ и ⇒. Схематично это выглядело, например, так:</p>
51 <p>Чтобы решить простую программу сложения двух чисел из разных ячеек, нужно воспользоваться операциями +, ‘ и ⇒. Схематично это выглядело, например, так:</p>
52 <p>‘A + ‘C ⇒ A</p>
52 <p>‘A + ‘C ⇒ A</p>
53 <p>То есть мы достали данные из адресов A и C, сложили их и положили полученное по адресу A.</p>
53 <p>То есть мы достали данные из адресов A и C, сложили их и положили полученное по адресу A.</p>
54 <p>Адресный язык стал важным достижением теоретического программирования. Он опередил такие языки, как Fortran (1958), COBOL (1959) и Algol (1960), а также вдохновил разработчиков на создание ассемблеров. Более того: некоторые конструкции Адресного языка стали частью архитектуры многих современных языков вроде уже упоминавшегося C и C++.</p>
54 <p>Адресный язык стал важным достижением теоретического программирования. Он опередил такие языки, как Fortran (1958), COBOL (1959) и Algol (1960), а также вдохновил разработчиков на создание ассемблеров. Более того: некоторые конструкции Адресного языка стали частью архитектуры многих современных языков вроде уже упоминавшегося C и C++.</p>
55 <p>Строго говоря, первым, кто описал работу указателей, был советский математик Андрей Колмогоров. Он изложил теоретические основы этой идеи в своей научной работе "<a>К определению алгоритма</a>".</p>
55 <p>Строго говоря, первым, кто описал работу указателей, был советский математик Андрей Колмогоров. Он изложил теоретические основы этой идеи в своей научной работе "<a>К определению алгоритма</a>".</p>
56 <p>Однако премию IEEE за указатели получил не он и не Ющенко с Королюком, реализовавшие их на практике, а Гарольд Лоусон, автор PL/1. Почему так?</p>
56 <p>Однако премию IEEE за указатели получил не он и не Ющенко с Королюком, реализовавшие их на практике, а Гарольд Лоусон, автор PL/1. Почему так?</p>
57 <p>Главной причиной было то, что о работах советских учёных за пределами СССР почти никто не знал. Екатерина Логвиновна хоть и создала в Адресном языке подобие указателей, но не могла поделиться своим опытом с зарубежными коллегами: на дворе была самая активная фаза холодной войны, так что возможность обмениваться знаниями между учёными Запада и Востока была практически закрыта.</p>
57 <p>Главной причиной было то, что о работах советских учёных за пределами СССР почти никто не знал. Екатерина Логвиновна хоть и создала в Адресном языке подобие указателей, но не могла поделиться своим опытом с зарубежными коллегами: на дворе была самая активная фаза холодной войны, так что возможность обмениваться знаниями между учёными Запада и Востока была практически закрыта.</p>
58 <p>Зато на Родине вклад Ющенко в отечественную кибернетику оценили по достоинству. За свою научную карьеру Екатерина Логвиновна подготовила 11 докторов и 45 кандидатов наук. Ей вручили две Государственные премии Украины и одну премию Совета Министров СССР, а за разработки в сфере компьютерной алгебры - академическую премию имени Глушкова. Кроме того, Ющенко наградили орденом Княгини Ольги за выдающиеся заслуги в науке.</p>
58 <p>Зато на Родине вклад Ющенко в отечественную кибернетику оценили по достоинству. За свою научную карьеру Екатерина Логвиновна подготовила 11 докторов и 45 кандидатов наук. Ей вручили две Государственные премии Украины и одну премию Совета Министров СССР, а за разработки в сфере компьютерной алгебры - академическую премию имени Глушкова. Кроме того, Ющенко наградили орденом Княгини Ольги за выдающиеся заслуги в науке.</p>
59 Глушков и Ющенко<em>Фото: "<a>История информационных технологий в СССР и России</a>"</em><p>Екатерина Логвиновна стала первой женщиной-учёным, которая получила степень доктора наук в области программирования. Она также написала более двухсот научных работ, монографий и учебных пособий, некоторые из которых перевели и издали в Германии, Франции, Чехии, Венгрии и Дании.</p>
59 Глушков и Ющенко<em>Фото: "<a>История информационных технологий в СССР и России</a>"</em><p>Екатерина Логвиновна стала первой женщиной-учёным, которая получила степень доктора наук в области программирования. Она также написала более двухсот научных работ, монографий и учебных пособий, некоторые из которых перевели и издали в Германии, Франции, Чехии, Венгрии и Дании.</p>
60 <p>Но, несмотря на все её достижения, у Екатерины Ющенко была тяжёлая жизнь. Её отца и мать осудили по ложным обвинениям, она вечно скиталась из одного города в другой. И всё это наводило Екатерину Логвиновну на тоску о своём родном городе. Ему она даже посвятила стихотворение "<a>Мой город</a>".</p>
60 <p>Но, несмотря на все её достижения, у Екатерины Ющенко была тяжёлая жизнь. Её отца и мать осудили по ложным обвинениям, она вечно скиталась из одного города в другой. И всё это наводило Екатерину Логвиновну на тоску о своём родном городе. Ему она даже посвятила стихотворение "<a>Мой город</a>".</p>
61 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
61 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>