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

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

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

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

Добавлен: 11.03.2024

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

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

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

Содержание:

ВВЕДЕНИЕ

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

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

Следовательно, цель работы – рассмотрение истории развития программирования в России. Для достижения данной цели следует выполнить следующие задачи:

  • охарактеризовать основные понятия программирования;
  • рассмотреть этапы программирования;
  • описать историю развития программирования в мире;
  • изучить историю развития программирования в России.

Объект работы – процесс программирования, в предмет – история развития программирования в России.

Теоретической и методологической основой для работы являются результаты изысканий известных авторов, исследующих проблему программирования и в частности – его развития в России. Это работы таких авторов как Васильев П. П., Зыков С. В., Ишкова Э. А. Павловская Т. А. и др.

Структура работы состоит из следующих элементов:

  • введение;
  • 1 глава: два параграфа;
  • 2 глава: два параграфа;
  • заключение;
  • список использованных источников.

Общий объем – 26 страниц.

1. Понятие программирования


1.1 Основные понятия программирования

Перед углублением в историю программирования рассмотрим его основные понятия.

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

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

В числе основных свойств программ можно выделить следующие:

  • выполнимость. Представляет собой возможность выполнения программы на определенном типе компьютеров;
  • мобильность. Мобильность подразумевает наличие возможности переноса программы на другой тип компьютеров;
  • корректность. Корректность программы представляет собой верность результатов, которые получаются при помощи данной программы;
  • эффективность. Является свойством программы, характеризующимся такими показателями как оперативность выполнения при низких ресурсных затратах компьютера [15].

К программам предъявляются следующие требования:

  • минимальные требования к компьютеру, на котором работает программа – низкое потребление ресурсов компьютера;
  • доступность и «читаемость» входных и выходных данных и простота программы;
  • минимальное время создания программы и простота ее изменения;
  • минимальное время работы программы, минимум занимаемой памяти и минимум использованных в программе операторов [15].

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

Сегодня выделяют следующие типы языков программирования:

  • машинные;
  • машинно-ориентированные;
  • алгоритмические;
  • логические;
  • функциональные;
  • учебные;
  • инструментальные;
  • диалоговые;
  • графические и т.д. [9]

Рассмотрим некоторые категории, общие для всех языков программирования.

Оператор представляет собой выражение, которое обозначает и описывает определенную операцию.


Система программирования – это набор средств ввода, редактирования, трансляции и выполнения программ на ЭВМ.

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

Компилятор представляет собой специфическую модификацию транслятора, которая обеспечивает перевод программы в понятный для вычислительного средства вид без ее выполнения. Иначе говоря, компиляторы призваны осуществлять проверку, «пробу» программы.

Также есть еще одна разновидность транслятора – это интерпретатор. Данное средство обеспечивает перевод каждой конструкции алгоритмического языка в машинные команды и одновременное выполнение этой конструкции в вычислительном средстве. Каждый язык/система программирования обладает своим транслятором, компилятором и интерпретатором [9].

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

Операция представляет собой действие, ограниченное по времени, которое выполняется над определенными объектами – операндами. Следовательно, операнды представляют собой объекты, которые принимают участие в выполнении операции. В то время как оператор является описанием операции. Любой алгоритм состоит из операторов [3].

1.2 Этапы программирования

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

Для выполнения задачи создания и эксплуатации программного обеспечения ее разбивают на определенные этапы:

1. Постановка задачи.

2. Составление алгоритма.

3. Составление и ввод программы.

4. Отладка и тестирование программы.

5. Сопровождение программного продукта [20].

Создание любой программы начинается с постановки задачи. Изначально задача ставится в терминах некоторой предметной области, и необходимо перевести ее в понятия и выражения, более близкие к программированию. Поскольку программист первоначально редко досконально разбирается в предметной области, а Заказчик – в программировании, то постановка задачи может стать весьма непростым итерационным процессом.


Постановка задачи заканчивается созданием технического задания, а затем и внешней спецификации программы, которая включает в себя:

1. Описание исходных данных и результатов (виды, представление, точность, ограничения и т.п.).

2. Описание задачи, реализуемой программой.

3. Способ обращения к программе.

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

На втором этапе разрабатываются алгоритмы, задаваемые спецификациями, и формируется (проектируется) общая структура программ [3]. Здесь обычно применяется технология нисходящего проектирования с использованием метода пошаговой детализации. То есть сначала составляется укрупненный алгоритм в самом общем виде.

Затем уточняются шаги (блоки) с более подробным описанием. На этом этапе описания производятся на языке, понятном человеку, используя определенную форму записи алгоритма. В программировании широко используется графическая форма записи в виде блок–схем или граф–схем.

Третий этап как раз и является непосредственно программированием на языке, понятном ЭВМ. По своей сути третий этап является продолжением второго, так как программа тоже есть форма записи алгоритма с максимальной степенью детализации, – программная.

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

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

Отладка – процесс исправления ошибок в программе. Так, при отладке исправляются синтаксические ошибки, алгоритмические, ошибки, обнаруженные при тестировании и другие.

Пятый этап наступает, когда программный продукт сдан в эксплуатацию (или начались его продажи). Здесь так же возможно обнаружение не найденных на этапе тестирования ошибок, – их необходимо локализовать и исправить. Кроме этого, возможно изменение свойств программы для удобства эксплуатации: элементов интерфейса, некоторых функций и т.д. Казалось бы, пятый этап самый простой. Но ему отводится самая большая часть затрат времени и средств: до половины и более. Все эти этапы разработки и сопровождения программного продукта, включая завершение поддержки эксплуатации, составляют жизненный цикл программы [3].


Возможно и другое деление на этапы [1] с приблизительным делением по времени реализации, как указано на рис. 1:

1. Анализ требований.

2. Определение спецификаций.

3. Проектирование.

4. Кодирование.

5. Автономное тестирование.

6. Комплексное тестирование.

Рис. 1 Распределение этапов программирования

Временные затраты на реализацию этапов цикла разработки программного обеспечения (за исключением этапа эксплуатации и сопровождения) [1] На последний же этап эксплуатации и сопровождения объемных программных продуктов отводится более половины времени: до 67% от общего времени жизненного цикла.

Классическим называется следующий набор технологических этапов (процессов) [11]:

1. Возникновение и исследование идеи

2. Управление

3. Анализ требований

4. Проектирование

5. Программирование

6. Тестирование и отладка

7. Ввод в действие

8. Эксплуатация и сопровождение

9. Завершение эксплуатации

Процессы жизненного цикла программного обеспечения определены международным стандартом ISO 12207 [ISO/IEC 12207:1995] и делятся на три группы (без привязки ко времени) [7]:

Основные процессы:

  • приобретение,
  • поставка,
  • разработка,
  • эксплуатация,
  • сопровождение. ·

Вспомогательные процессы:

  • документирование,
  • управление конфигурацией,
  • обеспечение качества,
  • верификация,
  • аттестация,
  • совместная оценка,
  • аудит,
  • разрешение проблем. ·

Организационные процессы:

  • управление,
  • создание инфраструктуры,
  • усовершенствование,
  • обучение.

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

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