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

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

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

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

Добавлен: 30.06.2023

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

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

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

Работы И.В. Поттосина и его учеников сыграли большую роль в развитии международного сотрудничества и популяризации в нашей стране языков и систем профессора Никлауса Вирта. Игорь Васильевич являлся научным руководителем Дмитрия Кузнецова, одного из разработчиков архитектуры рабочей станции «Кронос», ориентированной на языки высокого уровня Си, Паскаль, Модула-2. Предполагалось, что на базе процессора «Кронос» будет создана отечественная бортовая вычислительная машина. По экономическим причинам «Кронос» так и остался на стадии опытного образца, но эта разработка послужила основой для использования Модула-2 в создании программного обеспечения БЦВМ. В конце 1980-х гг. язык Модула-2, созданный Н. Виртом, был принят Советом Министров СССР в качестве базового языка разработки бортового программного обеспечения для спутников. Тогда же был запущен проект СОКРАТ по разработке инструментальной системы поддержки программирования встроенных систем. Тем самым началось тесное сотрудничество И.В. Поттосина и его программистов с Красноярским научно-производственным объединением прикладной механики им. М.Ф. Ре-шетнева (НПО ПМ). Сотрудничество ИСИ СО РАН и НПО ПМ продолжается по сей день. Программное обеспечение для спутников, созданных в Красноярске-26, разрабатывалось на Модуле-2, что обеспечивало его исключительную надежность. Продолжением этих работ являлись исследования в области анализа программ и методологии программирования. И.В. Поттосин предложил принципы построения окружений программирования, необходимые при создании программных систем с повышенными требованиями к их эффективности и надежности и реализованные в экспериментальном окружении программирования для встроенных ЭВМ.

И.В. Поттосин был крупным организатором науки. Практически с самого начала своей деятельности он являлся бессменным руководителем научных подразделений ВЦ СО АН и КБ СП (Конструкторского бюро системного программирования). Когда не стало Андрея Петровича Ершова, Игорь Васильевич как его преемник и символ продолжения духа и традиций Отдела, Сибирской школы программирования, сделал много для сохранения памяти о своем выдающемся друге и коллеге. Им инициированы исследования по истории программирования, он написал ряд биографических очерков о научном вкладе академика А.П. Ершова, организовал ряд конференций его памяти [9–11]. Более десяти лет И.В. Поттосин руководил Рабочей группой по языкам и системам программирования в Комиссии по системному математическому обеспечению, которую возглавлял А.П. Ершов. Им составлен обзор российских академических исследований и разработок в области трансляции, находившихся в сфере координации руководимой им рабочей группы [12].


В 1990 г. на базе ряда отделов ВЦ был создан Институт систем информатики СО АН. Во вновь созданном Институте И.В. Поттосин стал заместителем директора по научной работе, а в тяжелые для всей отечественной науки 1990-е гг. принял на себя нелегкие обязанности директора (1991–1998). Уже в самом начале своего директорства И.В. Поттосин столкнулся с серьезными проблемами организационного плана. Экономическая ситуация, сложившаяся в России в первое десятилетие перестройки, отразилась и на коллективе ИСИ СО РАН. Уже в октябре 1992 г. вышло Постановление Президиума РАН с рекомендацией Объединенным ученым советам ликвидировать ряд институтов СО РАН и передать часть сотрудников в другие институты5. В этот список попал и ИСИ СО РАН. 16 октября 1992 г. ученый совет ИСИ высказал несогласие с таким решением. В дальнейшем сотрудники института, его руководство предприняли ряд действий, направленных на активизацию общественного мнения, получение поддержки коллег из других научных центров в пользу сохранения ИСИ СО РАН.

Ко времени появления рекомендаций Президиума РАН в штате Института насчитывалось около 190 человек, из них 95 научных сотрудников, в том числе 1 член-корреспондент, 4 доктора наук, 22 кандидата наук (3 профессора и 6 доцентов). За два с половиной года существования ИСИ, созданного в апреле 1990 г., его сотрудники выполнили большой объем научно-исследовательских и экспериментальных работ. В активе Института было 4 монографии, свыше 80 публикаций в центральных российских и зарубежных изданиях. На базе Института проведено 3 международных конференции, готовилась очередная — по формальным методам в программировании, намеченная на 1993 г. Силами сотрудников Института в Сибирском отделении издательства «Наука» выпускался сборник «Системная информатика».

За сохранение ИСИ СО РАН высказались отечественные и зарубежные коллеги: Научный совет по программированию Отделения информатики, вычислительной техники и автоматизации РАН, НИИ системных исследований РАН, Москва (директор профессор В.Б. Бетелин), НПО прикладной механики, Красноярск (генеральный конструктор академик М.Ф. Решетнев), Научный совет РАН по проблеме «Искусственный интеллект» (академик Г.С. Поспелов), чл.-корр. С.С. Лавров (Институт прикладной астрономии РАН, Ленинград), М. Брой (Технический университет Мюнхена), М. Нива (Институт Блеза Паскаля, Париж), Э. Тыугу (Королевский институт технологий, Стокгольм), М. Синцов (Католический университет Лувен, Бельгия) и многие другие. Профессор Ф. Жорран из Университета Гренобля писал, что «будет большой ошибкой свести научно-исследовательскую работу ИСИ до функций обслуживания программистов для вычислительных задач». В конце ноября в Институте работала комиссия по проверке научной деятельности. Она пришла к заключению об актуальности и высоком качестве научных исследований в ИСИ СО РАН. Институт систем информатики был сохранен в составе Сибирского отделения РАН.


В условиях невнятной государственной политики в области науки и вычислительной техники и отсутствия адекватного финансирования Институту и его директору пришлось самостоятельно определять приоритеты в исследованиях и учитывать международное разделение труда в сфере информатики. Задачей директора в первую очередь было сохранение кадрового потенциала. В Институт приходили молодые специалисты из НГУ, но отток кадров был значительным. Сотрудники ИСИ уезжали работать за рубеж, находили более высокооплачиваемую работу внутри страны. В 1997 г. коллектив сократился практически на четверть, до 154 чел., а численность научных сотрудников — до 70 чел.

В 1997 г. И.В. Поттосин как директор Института и председатель его ученого совета сыграл определяющую роль в поисках перспективных направлений работы института. Теоретические и методологические основы создания систем информатики, в том числе теоретические основания информатики; методы и инструменты построения программ повышенной надежности и эффективности; методы и системы искусственного интеллекта; системное и прикладное программное обеспечение вычислительных машин, систем, сетей и комплексов, на многие годы вошли в программу работы ИСИ СО РАН.

И.В. Поттосин активно участвовал в воспитании научной смены. С 1968 г. он прошел ступени от ассистента до профессора, заведующего кафедрой программирования механико-математического факультета Новосибирского университета. Эта кафедра была организована после долгой борьбы в 1993 г., и И.В. Поттосин, который к этому моменту защитил докторскую диссертацию, с полным основанием стал ее первым руководителем. В течение многих лет он читал свой курс программирования и вел спецкурс по методам трансляции. Теории и практике системного программирования Игорь Васильевич посвятил десятки статей, он также подготовил несколько вузовских учебников в соавторстве со своими коллегами М.М. Бежановой и Л.А. Москвиной [13; 14]. Среди его учеников — доктора и кандидаты наук, сотни выпускников Новосибирского университета и Высшего колледжа информатики, становлению которого и совершенствованию преподавания информатики в котором он содействовал. Игорь Васильевич в свое время поддержал инициативу сотрудников ИСИ по организации олимпиады по программированию. Она проводится с 1999 г. как Открытая Всесибирская студенческая олимпиада по программированию, а с 2001 г. носит его имя. Теперь в ИСИ и НГУ на постоянной основе действуют организационные структуры, обеспечивающие ее подготовку и проведение: оргкомитет, жюри олимпиады, тренинг-классы для участников.


Заключение

За более чем полувековой период программирования для компьютеров специалисты в этой области выработали ряд правил, которым целесообразно следовать при составлении программ. Вот краткий перечень и объяснение сути этих правил.

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

а) какие типы данных будут использоваться в программе: числовые, символьные, логические или те и другие;

б) для числовых данных установить, какие это будут числа: целые, вещественные или комплексные;

в) для целых чисел определить возможные минимальные и максимальные их значения;

г) определить, с какой точностью придется оперировать вещественными числами: обычной или удвоенной;

д) для символьных данных установить, отдельные ли символы будут использоваться или их строки;

е) уточнить, какие структуры данных будут фигурировать в программе: одномерные, двухмерные, трехмерные массивы, множества, списки и др.;

ж) для массивов установить, будут ли применяться статические или динамические массивы, т. е. будут ли измеряться размеры массивов (количество элементов, строк, столбцов) в процессе выполнения программы.

Все перечисленные сведения необходимы для правильных деклараций (объявлений) данных, которые применяются в современном программировании, а также при организации вывода полученных результатов на экран монитора и другие выходные устройства машины.

  1. Определить способ ввода исходных данных задачи, а именно установить, будут ли вводиться все исходные данные сразу или последовательно частями (ввод с подкачкой), откуда будет осуществляться ввод.
  2. Определить способ вывода данных решения, а именно на какие устройства, кроме видеотерминала, следует выводить результаты решения, какие форматы вывода необходимо использовать для размещения данных на внешних носителях информации.
  3. Программировать следует так, чтобы размещенные в ОП исходные данные задачи в процессе выполнения программы не изменялись. Это необходимо для многократного прогона программы во время ее отладки и возможности использовать эту программу в виде составной части другой программы.
  4. При программировании арифметических выражений необходимо применять самые быстродействующие операции. Например, если нужно вычислить 42, то лучше программировать операцию 4x4. Она выполняется быстрее, чем возведение в степень. Если есть необходимость вычислить 2 х b, то лучше применить операцию b + b, так как сложение на компьютере выполняется быстрее, чем умножение.
  5. Если окажется, что некоторые группы команд программы повторяются в нескольких ее местах, их следует запрограммировать отдельно и оформить в виде подпрограммы, к которой можно обращаться из основной программы в местах повторений групп команд. Это сократит длину программы.
  6. При программировании циклов необходимо следить за тем, чтобы величины, не изменяющиеся в цикле, были вынесены за его пределы. В особенности это касается вложенных циклов, так как именно на их обработку чаще всего тратится львиная доля времени выполнения программы. В общем же нужно стремиться минимизировать число повторений в циклах.

9. Программу рекомендуется составлять не на экране монитора компьютера, а на столе. Это гарантирует меньшую усталость глаз и сокращает появление дополнительных ошибок.

10. При отладке программы необходимо пользоваться специальными средствами отладки: покомандной прокруткой наиболее подозрительных участков программы, ее трассировкой и др.

Список использованных источников

  1. Долгов В. А. Китов Анатолий Иванович – пионер кибернетики, информатики и автоматизированных систем управления. М.: КОС·ИНФ, 2014. С. 92–93.
  2. Поттосин И. В., Криницкий Н.А., Бухтияров Н. А., Фролов Г. Д., Войти-шек Л. В., Левина А.А. Программирующая программа ПП-С // Министерство обороны СССР: Сб. науч. тр. М., 1958. № 1. С. 7–79.
  3. Поттосин И. В. Решение некоторых дифференциальных уравнений и их систем методом исключения параметров // Министерство обороны СССР: Сб. науч. тр. М., 1958. № 1. С. 105–111.
  4. Рар А. Ф. История Эпсилон // Становление новосибирской школы программирования (мозаика воспоминаний): Сб. науч. тр. / Под ред. И.В. Поттосина. Новосибирск, 2001. C. 66–72.
  5. Андрей Петрович Ершов — ученый и человек / Ред.-сост. М.А. Бульонков и др.; под ред. А.Г. Марчука. Новосибирск: Изд-во СО РАН, 2014. – с.26 – 33.
  6. Поттосин И. В. Некоторые вопросы оптимизации в автоматическом программировании: Автореф. дис. ... канд. физ.-мат. наук. Новосибирск, 1969.
  7. Поттосин И. В. Операционные системы // Тр. I Всесоюз. конф. по программированию. Пленарные доклады. Киев, 1968. С. 20–46.
  8. Поттосин И. В., Рар А. Ф., Катков В. Л. Эпсилон — система автоматизации программирования для задач символьной обработки // Тр. I Всесоюз. конф. по программированию. Киев, 1968. С. 88–108.
  9. Поттосин И. В. А.П. Ершов — пионер и лидер отечественного программирования // Становление новосибирской школы программирования (мозаика воспоминаний): Сб. науч. тр. / Под ред. И.В. Поттосина. Новосибирск, 2014. С. 7–16.
  10. Поттосин И. В. Андрей Петрович Ершов: жизнь и творчество // А.П. Ершов. Избр. труды. Новосибирск: ВО «Наука», 2015. С. 5–29.
  11. Поттосин И. В. А.П. Ершов и становление новосибирской школы программирования // Становление новосибирской школы программирования (мозаика воспоминаний): Сб. науч. тр. / Под ред. И. В. Поттосина. Новосибирск, 2013. С. 28–40.
  12. Поттосин И.В. Текущее состояние российских разработок в области трансляции. Препр. № 30 / Ин-т систем информатики СО РАН СССР. Новосибирск, 1995. – с.83 – 99.
  13. Поттосин И. В., Бежанова М. М. Современные понятия и методы программирования. - М.: Научный мир, 2016. – 67 – 77.
  14. Поттосин И. В., Бежанова М. М., Москвина Л. А. Практическое программирование. Структуры данных и алгоритмы. - М.: Логос, 2015. – 163 .с