Файл: История развития программирования в России (Начало развития программирования в СССР).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.03.2023

Просмотров: 84

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

Не редко можно услышать мнение окружающих о том, что в СССР и России не было и нет достижений и развития в сфере программирования и информационных систем, но данное мнение ошибочно. Мною была выбрана эта тема в силу своей ограниченности поиска информации по ней, а также проведения исследования для показания того, что начало индустрии программирования в России было заложено давно, и она не была забыта.

Первые этапы развития программирования были заложены в 50-х годах прошлого века, когда основной индустрией применения являлись задачи промышленного и военного характера. К примерам таких задач можно отнести расчеты, выполняемые с применение систем программирования, которые были необходимы для расчета и определения места посадки корабля Юрия Гагарина, совершившего первый полет в космос на космическом корабле «Восток».

С течение времени системы программирования развивались и начинали применяться в новых отраслях. Связующим звеном в этом послужили такие факторы как: развитие языков программирования, усовершенствование структур ЭВМ[1] и обширная заинтересованность людей в данной сфере. Но к началу 70-х годов стал наблюдаться застой в данной сфере, в виду того, что официальная политика того времени была ориентирована на копирование аппаратной базы стран запада с целью экономия средств для дальнейшего скачка. Но этого не произошло.

Новое дыхание отрасль программирования получила в начале 90-х годов, чему послужили новые возможности в следствии перехода к рыночной модели экономики. Согласно отчету Российского отделения исследовательской компании IDC, рекорд продаж ПК в стране пришелся на 4 квартал 1997 года и составил 483000 компьютера.

1. Начало развития программирования в СССР

Первые электрические и электронные устройства начали заменять вычислительные машины на механической элементной базе в начале 1940 г. XX в. Первыми такими электромеханическими машинами стали созданная Конрадом Цузе[2] «Ц-3» в 1941 г. Позже в 1944 г. в США под руководством профессора Гарвардского университета Г. Айкена[3] была создан машина с названием «МАРК-1». В 1949 г. в Англии была построена EDSAC (англ. Electronic Delay Storage Automatic Calculator), которая являлась первой машиной, обладающей автоматическим программным управлением, внутренним устройством хранения данных и другими необходимыми элементами современных ЭВМ.


В СССР также шло развитие в сфере создания электронных вычислительных машин и первыми авторами ЭВМ, изобретенной в декабре 1948 г., стали И. С. Брук и Б. И. Рамеев. Первая советская ЭВМ с сохраняющейся программой создана в 1951 г. под руководством Сергея Алексеевича Лебедева и имела название «МЭСМ» - малая электронная счетная машина. С 1953 г. в Советском Союзе начался серийный выпуск ЭВМ, первыми из которых были БЭСМ-1, «Стрела».

С появлением цифровых программно-управляемых машин появилась новая область прикладной математики под названием программирование. Как область науки и профессия она возникла в 1950-х гг. Изначально программы составлялись вручную по средствам машинных кодов, которые являлись машинным языком. Программы были очень большие, а их отладка являлась очень трудозатратным процессом. Дабы упростить прием и метод составления и отладки программ были созданы мнемокоды, которые по своей структуре были близки к машинному языку и использовавшие символьную адресацию. Ассемблеры, которые переводили программу, записанную в мнемокоде, на машинный язык и расширенные макрокомандами, применяются и в наше время. Далее были созданы автокоды, которые можно применять на различных ЭВМ, и которые позволили обмениваться программами. Автокод представляет собой набор псевдокоманд для решения специализированных задач, например, для научных или инженерных. Была создана развитая библиотека стандартных программ для выполнения задач подобного рода.

В 1953 г. Алексей Андреевич Ляпунов[4] предложил операторный метод программирования, суть которого заключалась в автоматизации программирования, а алгоритм представлял собой вид совокупности операторов, которые образовывали логическую схему задачи. Данные схемы позволяли разделить на отдельные члены громоздкий процесс создания программы, части которой составлялись по формальным правилам, а после соединялись в единый процесс. Чтобы проверить идеи операторного метода в СССР в 1954 г. была разработана первая программирующая программа «ПП-1», позже в 1955 г. более совершенная «ПП-2». В 1956 г. разработана «ПП БЭСМ», в 1957 г. – «ППСВ», в 1958 г. для машины «Стрела».

С мая по июнь 1954 А.И.Китов[5] завершает строительство первого в стране вычислительного центра «ВЦ-1 МО СССР». В 1950-е годы ВЦ-1 был центром информационно-кибернетической мысли, на постоянной основе издававшим свой сборник научных трудов и организующем конференции всесоюзного значения. В это время происходит создание программной системы расчета термоядерных взрывов на ЭВМ «Стрела», созданием которой руководил М.Р. Шура-Буры.


Двумя годами позже выходит в свет первая отечественная монография по ЭВМ и программированию, автором которой является А.И. Китов «Электронные цифровые машины». Данный труд был признан за границей, так профессор Дж. Карр (США) в своей книге «Lectures of programming» (1958 г.) изложил следующее: «По-видимому, в настоящее время наиболее полное изложение вопросов программирования для ЭВМ, содержащее подробные примеры и их анализ как ручного, так и автоматического программирования, даётся в книге А. Китова. Некоторые разделы этой книги переведены на английский язык и могут быть получены в Американской ассоциации по вычислительной технике».

В январе 1959 г. А.И. Китов посылает первое написанное им письмо «О создании автоматизированной системы управления народным хозяйством», адресатом которого является ЦК КПСС[6] (на имя Н.С. Хрущёва). В данном письме было предложено создать общенациональную компьютерную сеть многоцелевого назначения, в первостепенную очередь для управления национальной экономикой, не в локальном сегменте, а в масштабе всей страны. Это было предложение первым не только на территории СССР, но и в мире не имело аналогов. Высшим руководством страны частично было решено поддержать содержавшиеся в письме А.И. Китова предложения, и было принято в мае 1959 года Совместное Постановление ЦК КПСС и Совета Министров СССР об ускоренном создании новых ЭВМ и широком использовании автоматизации и механизации промышленного производства на их основе. Но основные идеи и предложения, которые были изложены в письме А.И. Китова, затрагивающие управления экономикой Советского Союза на базе создания Единой государственной сети вычислительных центров страны, в этом Постановлении учтены не были.

Осень 1959 г. второе письмо в ЦК КПСС на имя Н.С. Хрущёва, в котором предложен инновационный проект «Создание национальной сети вычислительных центров для совершенствования управления в вооруженных силах и народном хозяйстве». В данном письме было изложено предложение, как можно существенно сократить государственные затраты при создании общенациональной сети вычислительных центров страны. Ко второму письму был приложен проект «Красная книга», данный проект состоял более чем из двух сотен страниц и содержал информацию и рекомендации по созданию всесоюзной сети ЭВМ имеющей, как и военное, так и гражданское назначение. Мощностей этих центров должно было хватать с большими запасами и резервами на случай пиковой нагрузки решения военных задач. В мирное же время, задача этих центров заключалась бы в решении народно-хозяйственных и научно-технических задач как для центральных органов, так и для региональных предприятий и учреждений. Формулировка письма А.И. Китова была следующей «Реализация данного проекта позволит обогнать США в области разработки и использования ЭВМ, не догоняя их»


Предложенная идея А.И. Китова была великолепна и актуально в тот период времени. На тот период отставание от США в области разработки и использования ЭВМ ещё не обрело фатальной необратимости.

Второе обращение А.И. Китова к высшему руководству СССР имело, к сожалению, радикально иные последствия, по сравнению с «Первым письмом в ЦК КПСС Хрущеву[7]». Критика, изложенная А.И. Китовым во втором письме о состояние дел с использованием вычислительной техники в стране, в частности в армии, вызвала гнев верховного руководства страны. Проект был отвергнут, а сам А.И. Китов был исключен из членов КПСС, снят с престижной генеральской должности 1-го заместителя начальника ВЦ-1 МО СССР, отвечавшего за все научные проекты этого вычислительного центра. Он практически был удален из армии, откомандировав в начале в распоряжение Главного управления кадров, а через короткое время прикомандировали на работу в НИИ-5, переподчинённого Государственному комитету по радиоэлектронике при СМ СССР (ГКРЭ при СМ СССР). Причём в партийно-служебной объективке А.И. Китова, составленной в то время Главным политическим управлением Министерства обороны СССР (ГлавПУР), прямо декларировалось запрещение назначать А.И. Китова на руководящие должности.

К концу 1950-х годов персональных компьютеров было довольно мало, а в 60-е программирование приобретает доступных характер для масс. Университеты стали вводить учебные программы по изучению новой технологии, следствием этого стало то, что число производителей аппаратного обеспечения быстро росло. В короткий промежуток времени компьютеры, и посвященные им учебные материалы, и курсы, стали доступны тем, кто этого желал, или, по крайней мере, тем, кто посещал колледж.

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

70-е годы были не лучшим временем для искателей качества программного обеспечения. Проблемы 60-х годов связанные с более сложными задачами и менее квалифицированными программистами — в 70-х годах только усугубились. Правда проблема недоступности и трудоемкости компиляции ушла в прошлое. Появление ПК[8] изменило правила игры, сняв ограничения, которые заставляли добиваться высокого качества программ в 60-е годы.


Настольные вычисления превратили компьютер, в инструмент, который был доступен для всех, а не только для математиков, университетских ученых и военных. Никому больше не приходилось часами, днями и неделями ждать, пока представится возможность воспользоваться компилятором, поскольку компилятор был встроен в каждый ПК. Компилятор можно было запустить в любое время, когда программист хотел быстро проверить синтаксис. Данный процесс значительно упростил задачу программистов и сильно освободил от рутинной проверки кода.

Изменился в вид поставленных задач для создаваемых программных обеспечений. Программистам более не надо было заниматься кодированием математических алгоритмов. Они создавали системы, которые позволяли работать быстрее и эффективнее. Создавались программы, которые ранее были за границей мечты.

Символом эпохи было то, что программисты стали выдавать ошибки за особенности программ. Наивные пользователи того времени с готовностью соглашались на сложные ухищрения для того, чтобы обойти ошибку, если верили в то, что небыло другого варианта для выполнения необходимой функции. Программисты дошли до того, что стали выдавать ошибки за проблемы конфигурации и операционной среды, спровоцированные самими пользователи. Пользователи же слишком мало понимали, что же на самом деле происходит.

Тестирование стало еще одной потерей этого десятилетия хаоса. В 60-х годах ответственные разработчики сами выполняли весь анализ и проверку готовой программы. Но в 70-е, когда начался бум в создании автоматизированных решений для новых задач появился большой спрос на программистов. В следствии чего, даже мало разбирающийся, но знающий хоть немного о программировании пользователь, мог считать себя программистом и пренебрегать тестированием.

Код, который был написан в данный промежуток времени, считается худшим что может быть с современном программировании. Для него даже существует специальное название: «унаследованный код». С кодом такого типа очень сложно работать, так как зачастую он имеет сильную запутанность. Большинство программистов современного времени стремятся всеми возможными средствами избежать работы с ним и необходимости его поддерживать. Код написанный другим человеком иногда очень сложно понять и проанализировать, а одна ошибка, сделанная в модифицированном коде, может породить побочные эффекты, которые невозможно предугадать, вне зависимости от того, насколько внимательно и качественно этот код протестирован.