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

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

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

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

Добавлен: 31.03.2023

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

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

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

ВВЕДЕНИЕ.

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

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

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

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

Исходя из цели работы, можно выделить ряд задач:

- изучить понятие терминов «программирование», «язык программирования»;

- проанализировать начальный этап развития программирования в России;

- рассмотреть развитие программирования в 20м веке.

Объектом изучения данной курсовой работы является программирование.

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

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

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

Данная тема довольно популярна, информационной основой работы послужила научная литература, научные статьи. Изучением данного вопроса занимались ведущие ученые, среди которых Макарова Н.В., Окулов С.М., Голицына О.Л. и другие.

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПОНЯТИЯ «ПРОГРАММИРОВАНИЯ».


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

Под термином «программирование» понимается процесс, а также искусство создания компьютерных программ посредством специальных языков программирования[1].

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

В узком смысле слова, под программированием понимается кодирование алгоритмов на заданном языке программирования. В широком смысле под программированием понимается процесс создания программ, то есть разработка программного обеспечения[2].

Программирование непосредственно включает в себя:

· Анализ

· Кодирование и компиляцию - написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора

· Проектирование - разработка комплекса алгоритмов

· Испытания и сдачу программ

· Тестирование и отладку - выявление и устранение ошибок в программах

· Сопровождение

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

Единственный язык, который напрямую выполняется процессором - это машинный язык (или как его еще называют «машинный код»)[3]. Как известно, все программисты прорабатывали каждую мелочь в машинном коде, но сейчас эта трудная работа уже не делается. Сейчас программисты пишут исходный код, а далее компьютер (используя компилятор, интерпретатор или ассемблер) транслирует его, в один или несколько этапов, при этом уточняя все детали, в машинный код, который готов к исполнению на целевом процессоре. Следует отметить, что в некоторых языках, вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины». Его еще называют байт-кодом (byte-code). Данный подход, как правило, применяется в Forth, Lisp, Java.

Таким образом, изучив понятие «программирование»[4], можно перейти к материальной части процесса создания программ. Это, разумеется, технические (аппаратные) средства обеспечения программирования. Как известно, под ними понимается совокупность электрических, электронных и механических компонентов автоматизированных систем составляет их техническое обеспечение. Так, электронная вычислительная машина (ЭВМ) либо компьютер представляют собой комплекс технических и программных средств, которые основаны на использовании электроники, а также предназначены для автоматической или автоматизированной обработки данных, образуемых в процессе решения вычислительных и информационных задач.


Понятие «язык программирования».

Процесс работы компьютера непосредственно заключается в выполнении программы, под которыми подразумевается выполнение вполне определённых команд в определённом порядке. Машинный вид команды, который состоит из нулей и единиц, в свою очередь, указывает, какое именно действие должен выполнить центральный процессор. Получается, чтобы задать компьютеру последовательность действий, которые он непосредственно должен выполнить, необходимо задать последовательность двоичных кодов соответствующих команд. Необходимо отметить, что программы в машинных кодах состоят из тысячи команд. Как известно, писать такие программы представляет собой занятие сложное и утомительное. Программист обязан помнить комбинацию нулей и единиц двоичного кода каждой программы, а также двоичные коды адресов данных, которые используются при её выполнении[5]. Необходимо отметить, что гораздо проще написать программу на каком-нибудь языке, который является более близким к естественному человеческому языку, в то же время работу по переводу данной программы в машинные коды перепоручить компьютеру. Именно так и возникли языки, которые были предназначены именно для написания программ. Они получили название языков программирования.

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

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

Под языками высокого уровня[8] понимаются языки программирования, которые направлены на удовлетворения требований программиста; он не зависит от внутренних машинных кодов компьютера любого типа. Их обычно используют для решения проблем, именно поэтому их часто называют проблемно-ориентированными языками. Следует отметить, что каждая команда языка высокого уровня равна нескольким командам в машинных кодах. В связи с этим программы, которые написаны на языках высокого уровня, являются более компактными, чем аналогичные программы в машинных кодах.


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

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

Задача: следует отметить, что язык программирования отличается от естественных языков, в первую очередь, тем, что предназначен для передачи команд, а также данных от человека компьютеру. В свою очередь естественные языки используются непосредственно для общения людей между собой. Таким образом, можно обобщить определение «языков программирования». Под языком программирования понимается способ передачи команд, приказов, чёткого руководства к действию; в то время как человеческие языки служат также для обмена информацией[9].

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

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

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

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

Под компилятором[11] понимается программа, которая предназначена для перевода программы, написанной на каком-либо языке, в программу в машинных кодах. Процесс такого перевода называется компиляцией.


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

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

Под интерпретатором[12] понимается программа, которая предназначена для построчных трансляции, а также выполнения исходной программы. Данный процесс называется интерпретацией.

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

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

Классификация языков программирования.

Языки программирования[13] можно классифицировать по различным группам для удобства восприятия.

К первой группе относятся машинно-ориентированные языки, т.е. языки, наборы операторов и изобразительные средства от которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Именно они позволяют использовать все возможности, а также особенности машинно-зависимых языков: