Category: it

Category was added automatically. Read all entries about "it".

Tilda

Женщины и IT, часть 1: Ада Лавлейс - первый программист

500px-Ada_Lovelace_colorВопреки распространенному заблуждению о том, что женщины в компьютерах ничего не понимают, среди заметных фигур стоявших у истоков современных информационных технологий множество женщин. Я постараюсь в этом и последующих постах рассказать о тех из них, чей пример заставил меня поверить в свои силы и выбрать программирование в качестве своей профессии.

Ада Лавлейс признана первым в мире программистом (я бы заодно назвала её одним из первых в мире технических писателей). Ей посчастливилось происходить из аристократической семьи (отцом Ады был знаменитый лорд Байрон), поэтому она получила хорошее образование и имела возможность увлекаться математикой. Её учителем был известный шотландский математик Огастес де Морган.

В 17 лет она познакомилась с Чарльзом Бэббиджем — изобретателем счетной машины, механического прообраза современных вычислительных машин. Очевидцы так описывают знакомство Ады с изобретением Бэббиджа: "Пока часть гостей в изумлении глядела на это удивительное устройство с таким чувством, как говорят, дикари первый раз видят зеркальце или слышат выстрел из ружья, мисс Байрон, совсем ещё юная, смогла понять работу машины и оценила большое достоинство изобретения".

В 19 Ада вышла замуж за Ульяма Кинга, который вскоре унаследовал титул лорда Лавлейса и родила троих детей. Но её интерес к науке не угас и вскоре она попросила Бэббиджа подыскать ей преподавателя математики, а после предложила помощь в работе над его вычислительной машиной.

Opus Magnum Ады Лавлейс — это перевод статьи итальянского инженера Луиджи Менабреа о машине Бэббиджа. Помимо перевода текста, она снабдила его подробнейшими комментариями в том числе составила три первые в мире программы. Самая простая из них и наиболее подробно описанная — программа решения системы двух линейных алгебраических уравнений с двумя неизвестными. При разборе этой программы было впервые введено понятие рабочих ячеек (рабочих переменных) и использована идея последовательного изменения их содержания. От этой идеи остается один шаг до оператора присвоения — одной из основополагающих операций всех языков программирования, включая машинные. Вторая программа была составлена для вычисления значений тригонометрической функции с многократным повторением заданной последовательности вычислительных операций; для этой процедуры Лавлейс ввела понятие цикла — одной из фундаментальных конструкций структурного программирования. В третьей программе, предназначенной для вычисления чисел Бернулли, были уже использованы рекуррентные вложенные циклы. В своих комментариях Лавлейс высказала также великолепную догадку о том, что вычислительные операции могут выполняться не только с числами, но и с другими объектами, без чего вычислительные машины так бы и остались всего лишь мощными быстродействующими калькуляторами.

В честь Ады Лавлейс назван язык программирования активно использовавшийся американской армией в конце 70-x, начале 80-x для управления крупной военной техникой и прочими независимыми автоматическими комплексами.