Автор работы: Пользователь скрыл имя, 30 Ноября 2013 в 12:22, курсовая работа
Программирование – что это такое, и зачем оно нужно? Зачем создаются непонятные громоздкие программы, на которых, с первого взгляда, неудобно работать? Кому нужны все эти языки программирования, и какие они бывают? Скорее всего, каждый из вас задавался когда-нибудь хоть одним из этих вопросов. Программирование – неотъемлемая часть в разработке новых программ и усовершенствовании старых для работы на ЭВМ и компьютерах. Именно для этого и существуют различные виды программирования и языки. У всех есть свои особенности; одни уже потеряли актуальность, а другие еще только находятся в головах разработчиков; в третьих невозможно разобраться без помощи специалиста, а четвертые понятны с первого взгляда.
Введение. 3
1.История развития программирования. 4
2.Понятие программирования и его виды. 7
2.1 Процедурное программирование. 8
2.2 Автоматное программирование. 9
2.3 Аспектно-ориентированное программирование. 11
2.4 Объектно-ориентированное программирование. 13
2.5 Компонентно-ориентированное программирование. 16
2.6 Логическое программирование. 17
2.7 Структурное программирование. 18
3. Языки программирования. 21
3.1 Определение языка программирования. 21
3.2 Используемые символы. 23
3.3 Языки программирования низкого уровня. 24
3.4 Языки программирования высокого уровня. 25
3.4.1 Pascal. 27
3.5 Язык программирования сверхвысокого уровня. 34
3.6 Сравнительный анализ языков программирования. 35
Заключение. 37
Литература. 38
Аспектно-ориентированное программирование (в дальнейшем АОП) - парадигма программирования, основанная на идее разделения функциональности для улучшения разбиения программы на модули.
Методология АОП была предложена
группой инженеров
Все языки АОП предоставляют средства для выделения сквозной функциональности в отдельную сущность. Так как AspectJ является родоначальником этого направления, то используемые в этом расширении концепции распространились на большинство языков АОП.
Основные понятия АОП:
Объектно-ориентированное или объектное программирование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием, — прототипов).
Класс — это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления. Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности, т. н. объекта.
Объект — сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции (и линковки) исходного кода на выполнение).
Прототип — это объект-образец, по образу и подобию которого создаются другие объекты.
Основные понятия ООП:
Абстракция — это придание объекту характеристик, которые отличают его от всех других объектов, четко определяя его концептуальные границы. Основная идея состоит в том, чтобы отделить способ использования составных объектов данных от деталей их реализации в виде более простых объектов, подобно тому, как функциональная абстракция разделяет способ использования функции и деталей её реализации в терминах более примитивных функций, таким образом, данные обрабатываются функцией высокого уровня с помощью вызова функций низкого уровня.
Такой подход
является основой объектно-
Инкапсуляция — это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список декларируемых свойств и методов класса) и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов. Принцип инкапсуляции (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимую реализацию и модификацию классов.
Сокрытие данных — неотделимая часть ООП, управляющая областями видимости. Является логическим продолжением инкапсуляции. Целью сокрытия является невозможность для пользователя узнать или испортить внутреннее состояние объекта.
Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Набор классов, связанных отношением наследования, называют иерархией. Наследование призвано отобразить такое свойство реального мира, как иерархичность.
Полиморфизмом называют явление, при котором функции (методу) с одним и тем же именем соответствует разный программный код (полиморфный код) в зависимости от того, объект какого класса используется при вызове данного метода. Полиморфизм обеспечивается тем, что в классе-потомке изменяют реализацию метода класса-предка с обязательным сохранением сигнатуры метода. Это обеспечивает сохранение неизменным интерфейса класса-предка и позволяет осуществить связывание имени метода в коде с разными классами — из объекта какого класса осуществляется вызов, из того класса и берётся метод с данным именем. Такой механизм называется динамическим (или поздним) связыванием — в отличие от статического (раннего) связывания, осуществляемого на этапе компиляции.
Компонентно-ориентированное пр
Компонентно-ориентированное
программирование включает в себя набор
ограничений, налагаемых на механизм объектно-ориентированного
программирования (далее ООП). Это
было сделано для повышения
Ситуация, когда возникает
новая парадигма
Некоторые языки программирования:
Отличии от ООП:
Логическое программирование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.
Самым известным языком логического программирования является Prolog.
Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.
В соответствии с данной методологией:
В программе базовые
конструкции могут быть
2. Повторяющиеся фрагменты
программы (либо не
3. Разработка программы ведётся пошагово, методом «сверху вниз».
Сначала пишется текст
основной программы, в котором, вместо
каждого связного логического фрагмента
текста, вставляется вызов
Перечислим некоторые достоинства структурного программирования:
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением. Синтаксис и семантика языка строго определены. Поэтому они не допускают свободного толкования выражения, что характерно для естественного языка.
Со времени создания первых
программируемых машин
Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие: