История возникновения программирования. Основные принципы и подходы при создании языков программирования
Автор работы: Пользователь скрыл имя, 18 Июня 2014 в 18:11, курсовая работа
Краткое описание
Программирование — сравнительно молодая и быстро развивающаяся отрасль науки и техники. Опыт ведения реальных разработок и совершенствования, имеющихся программных и технических средств постоянно переосмысливается, в результате чего появляются новые методы, методологии и технологии, которые, в свою очередь, служат основой более современных средств разработки программного обеспечения. Исследовать процессы создания новых технологий и определять их основные тенденции целесообразно, сопоставляя эти технологии с уровнем развития программирования и особенностями имеющихся в распоряжении программистов программных и аппаратных средств. Объектом исследования являются технологии программирования.
Содержание
Введение..................................................................................................................4 1. История возникновения и развития языков программирования...................5 1.1 Понятие и классификация языков программирования.................................5 1.2 История появления языков программирования............................................7 1.3 Языки процедурного программирования.....................................................13 1.4 Языки искусственного интеллекта................................................................19 2. Современные языки объектно-ориентированного и визуального программирования...............................................................................................................24 2.1 Объектно-ориентированный подход к программированию........................24 2.2 Компонентное программирование.................................................................25 2.3 Применение структурных и объектно-ориентированных методов программирования.......................................................................................................27 Заключение.............................................................................................................30 Список использованных источников...................................................................31
1. История возникновения
и развития языков программирования...................5
1.1 Понятие и классификация языков программирования.................................5
1.2 История появления языков программирования............................................7
1.3 Языки процедурного программирования.....................................................13
1.4 Языки искусственного интеллекта................................................................19
2. Современные языки объектно-ориентированного
и визуального программирования...............................................................................................................24
2.1 Объектно-ориентированный подход к
программированию........................24
2.2 Компонентное программирование.................................................................25
2.3 Применение структурных и объектно-ориентированных
методов программирования.......................................................................................................27
Заключение.............................................................................................................30
Список использованных источников...................................................................31
ВВЕДЕНИЕ
Программирование — сравнительно
молодая и быстро развивающаяся отрасль
науки и техники. Опыт ведения реальных
разработок и совершенствования, имеющихся
программных и технических средств постоянно
переосмысливается, в результате чего
появляются новые методы, методологии
и технологии, которые, в свою очередь,
служат основой более современных средств
разработки программного обеспечения.
Исследовать процессы создания новых
технологий и определять их основные тенденции
целесообразно, сопоставляя эти технологии
с уровнем развития программирования
и особенностями имеющихся в распоряжении
программистов программных и аппаратных
средств.
Объектом исследования являются
технологии программирования.
Предметом исследования является
история развития технологий программирования.
Целью данной курсовой работы
является изучение истории возникновения
программирования и основных принципов
и подходов при создании языка программирования.
Для достижения поставленной
цели необходимо решить следующие задачи:
Проанализировать информационные
источники по технологиям программирования;
Рассмотреть историю развития
технологий программирования;
Выявить этапы развития технологий
программирования.
ГЛАВА 1. ИСТОРИЯ ВОЗНИКНОВЕНИЯ
И РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
1.1 Понятие и классификация
языков программирования
Функционирование ЭВМ осуществляется
на основе принципа программного управления.
Программа, представляющая собой последовательность
команд, реализующих алгоритм решения
задачи, вводится в память ЭВМ, после чего
начинается ее автоматическое выполнение
с первой команды. После каждой выполненной
команды машина автоматически переходит
к выполнению следующей команды, и так
до тех пор, пока не встретится команда,
предписывающая закончить вычисления.
Структура команды ЭВМ в простейшем
случае включает в себя две части: операционную
и адресную. Операционная часть содержит
код операции (сложить, вычесть и т. д.).
Адресная часть содержит адреса ячеек
памяти; в них хранятся значения операндов,
с которыми надо выполнить заданную операцию.
В зависимости от числа адресов, указанных
в команде, различают одно-, двух-, трехадресные
команды.
Физические принципы работы
электронных устройств ЭВМ таковы, что
компьютер может воспринимать команды,
состоящие только из единиц и нулей, т.е.
машинный код. На начальной стадии развития
ЭВМ человеку было необходимо составлять
программы на языке, понятном компьютеру,
в машинных кодах. Каждая команда состояла
из кода операций и адресов операндов,
выраженных в виде различных сочетаний
единиц и нулей.
Как показала в дальнейшем практика
общения с компьютером, такой язык громоздок
и неудобен. При пользовании им легко допустить
ошибку, записав не в той последовательности
1 или 0. Программу очень трудно контролировать.
Кроме того, при программировании в машинных
кодах надо хорошо знать внутреннюю структуру
ЭВМ, принцип работы каждого блока. И самое
плохое в таком языке, что программирование
в машинных кодах требует от программиста
много времени, труда, повышенного внимания.
Это привело к необходимости
найти такое средство, которое позволит
более просто наладить общение человека
и компьютера. И такое средство было найдено:
различные символические языки и соответствующие
им трансляторы (системы программирования).
Язык программирования – формализованный
язык для описания алгоритма решения задачи
на компьютере.
Для автоматизации программирования
разрабатывался для каждой ЭВМ свой автокод
(или Ассемблер). Этот язык в полной мере
повторяет набор команд машинного языка
и появился лишь для упрощения программирования
на машинном коде.
Дальнейшее развитие языковых
средств шло по пути создания машинно-независимых
языков, позволяющих писать программы
на любой доступной ЭВМ с предусмотренной
возможностью переноса на более совершенную
архитектуру.
В мире насчитывается несколько
сотен символических языков программирования
различных структур и возможностей, которые
могут быть классифицированы по различным
признакам.
Если в качестве признака классификации
взять синтаксис образования конструкций
языков программирования, то их можно
условно разделить на следующие классы:
машинные языки (computer language) – языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
машинно-ориентированные языки (computer-oriented language) – языки программирования, которые отражают структуру конкретного
типа компьютера (Ассемблеры);
алгоритмические языки (algorithmic language) – не зависящие от архитектуры компьютера языки
программирования для отражения
структуры алгоритма (Паскаль, Фортран,
Бейсик и др.);
процедурно-ориентированные языки (procedure-oriented language) – языки программирования, где
имеется возможность описания
программы как совокупности процедур
(подпрограмм);
проблемно-ориентированные языки (universal programming language) – языки программирования, предназначенные для решения
задач определенного класса (Лисп, РПГ, Симула и др.);
интегрированные системы программирования.
Если в качестве признака классификации
взять принадлежность к одному из оформившихся
к настоящему времени стилей программирования,
каждому из которых соответствует своя
собственная модель вычислений, то языки
программирования можно условно разделить
на следующие классы:
процедурные;
функциональные;
логические;
объектно-ориентированные.
Программа на процедурном языке
программирования состоит из последовательности
операторов (инструкций), задающих те или
иные действия. Одним из важнейших квалификационных
признаков процедурных языков является
их уровень, характеризующий степень близости
языка программирования и машинного языка.
За начало отсчета уровней принимается
машинный язык, уровень которого равен
нулю. Язык человека рассматривается как
язык наивысшего уровня.
1.2 История появления языков
программирования
С глубокой древности известны
попытки создать устройства, ускоряющие
и облегчающие процесс вычислений. Еще
древние греки и римляне применяли приспособление,
подобное счетам, -- абак. Такие устройства
были известны и в странах Древнего Востока.
В XV в. немецкие ученые В. Шиккард (1623), Г.Лейбниц
(1673) и французский ученый Б. Паскаль (1642)
создали механические вычислительные
устройства - предшественники всем известного
арифмометра. Вычислительные машины совершенствовались
в течении нескольких веков. Но при этом
не применялось понятие «программа и программирование».
В начале XIX в. (1830) английский
ученый, профессор математики Кэмбриджского
университета Чарльз Бэббидж, анализируя
результаты обработки переписи населения
во Франции, теоретически исследовал процесс
выполнения вычислений и обосновал основы
архитектуры вычислительной машины. Работая
над проектом аналитической машины -- «Машины
для исчисления разностей», Ч. Бэббидж
предсказал многие идеи и принципы организации
и работы современных ЭВМ, в частности
принцип программного управления и запоминаемой
программы. Общая увлеченность наукой
дала ученому и Аде Лавлейс (1815--1852) долгие
годы плодотворного сотрудничества. В
1843 г. она перевела статью Менабреа по
лекциям Ч. Бэббиджа, где в виде подробных
комментариев (по объему они превосходили
основной текст) сформулировала главные
принципы программирования аналитической
машины. Она разработала первую программу
(1843) для машины Бэббиджа, убедила его в
необходимости использования в изобретении
двоичной системы счисления вместо десятичной,
разработала принципы программирования,
предусматривающие повторение одной и
той же последовательности команд при
определенных условиях. Именно она предложила
термины «рабочая ячейка» и «цикл».
А. Лавлейс составила первые
программы для решения системы двух уравнений
и вычисления чисел Бернулли по довольно
сложному алгоритму и предположила, что
со временем аналитическая машина будет
сочинять музыкальные произведения, рисовать
картины и использоваться в практической
и научной деятельности. Время подтвердило
ее правоту и точность прогнозов. Своими
работами А. Лавлейс заложила теоретические
основы программирования и по праву считается
первым в мире программистом и основоположником
научного программирования.
В 1854 г. английский математик
Джордж Буль опубликовал книгу «Законы
мышления», в которой развил алгебру высказываний
- Булеву алгебру. На ее основе в начале
80-х гг. XIX в. построена теория релейно-контактных
схем и конструирования сложных дискретных
автоматов. Алгебра логики оказала многогранное
влияние на развитие вычислительной техники,
являясь инструментом разработки и анализа
сложных схем, инструментом оптимизации
большого числа логических элементов,
из многих тысяч которых состоит современная
ЭВМ.
Идеи Ч. Бэббиджа реализовал
американский ученый Г. Холлерит, который
с помощью построенной счетно-аналитической
машины и перфокарт за три года обработал
результаты переписи населения в США по
состоянию на 1890г. В машине впервые было
использовано электричество. В 1896 г. Холлеритом
была основана фирма по выпуску вычислительных
перфорационных машин и перфокарт.
В 1936 г. английский математик
А. Тьюринг ввел понятие машины Тьюринга,
как формального уточнения интуитивного
понятия алгоритма. Ученый показал, что
любой алгоритм в некотором смысле может
быть реализован на машине Тьюринга, а,
следовательно, доказывал возможность
построения универсальной ЭВМ. И та, и
другая машины аналогично могут быть снабжены
исходными данными решаемой задачи и программой
ее решения. Машину Тьюринга можно считать,
как бы идеализированной моделью универсальной
ЭВМ.
В 40-х гг. XX в. механическая элементная
база вычислительных машин стала заменяться
электрическими и электронными устройствами.
Первые электромеханические машины были
созданы в Германии К. Цузе (Ц-3, 1941г.) и в
США под руководством профессора Гарвардского
университета Г. Айкена (МАРК-1, 1944 г.). Первая
электронная машина создана в США группой
инженеров под руководством доктора Пенсильванского
университета Дж. Мочли и аспиранта Дж.
Экксрта (ЭНИАК -- электронный числовой
интегратор и калькулятор, 1946 г.). В 1949 г.
в Англии была построена EDSAC -- первая машина,
обладающая автоматическим программным
управлением, внутренним запоминающим
устройством и другими необходимыми компонентами
современных ЭВМ.
Логические схемы вычислительных
машин были разработаны в конце 1940-х
гг. Дж. фон Нейманом, Г. Гольдстайном и
А. В. Берксом. Особый вклад в эту работу
внес американский математик Джон фон
Нейман, принимавший участие в создании
ЭНИАК. Он предложил идею хранения команд
управления и данных в машинной памяти
и сформулировал основные принципы построения
современных ЭВМ. ЭВМ с хранимой программой
оказались более быстродействующими и
гибкими, чем ранее созданные.
В 1951 г. в США было налажено первое
серийное производство электронных машин
УНИВАК (универсальная автоматическая
вычислительная машина). В это же время
фирма IBM начала серийный выпуск машины
IBM/701.
В СССР первыми авторами ЭВМ,
изобретенной в декабре 1948 г., являются
И. С. Брук и Б. И. Рамеев. А первая советская
ЭВМ с сохраняющейся программой создана
в 1951 г. под руководством С. А Лебедева
(МЭСМ -- малая электронная счетная машина).
В 1953 г. в Советском Союзе начался серийный
выпуск машин, первыми их которых были
БЭСМ-1, «Стрела».