2. Декларативное (непроцедурное) программирование.
Появилось в начале 70-х годов 20 века, но стремительное развитие началось в 80-е годы, когда был разработан японский проект создания ЭВМ пятого поколения, целью которого явилась подготовка почвы для создания интеллектуальных машин.
К декларативному программированию относятся функциональные и логические языки.
Функциональные языки.
В функциональных языках программа описывает вычисление некоторой функции. Обычно это функция задается как композиция других, более простых, те в свою очередь разлагаются на еще более простые и т.д. Один из основных элементов в функциональных языках – рекурсия, то есть вычисление значения функции через значение этой же функции от других элементов. Присваивания и циклов в этих языках нет.
Первым таким языком стал Лисп (обработка списков), созданный в 1959 г. Джоном Маккарти. Этот язык ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации. Это позволяет использовать его для перевода текстов автоматической генерации стихов, кроссвордов, музыки, архитектурных композиций и т.д.
Логические языки.
В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос.
Классическим языком логического программирования считается Пролог (программирование логики). Этот язык был разработан в 1970 г. в Марсельском университете (Франция). Он изначально ориентирован на имитацию логики поведения человека при решении логических задач. Пролог предназначен для работы с базами знаний. Практическим примером являются экспертные системы (юридические, медицинские, химические, технологические и прочие).
3. Объектно-ориентированное программирование.
На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Такие языки, благодаря богатому пользовательскому интерфейсу, предлагают человеку решить задачу в удобной для него форме.
К наиболее современным объектно-ориентированным языкам программирования относятся С++ и Java.
С++ был разработан в начале 80-х гг. в лаборатории Bell, в основе которого лежит язык С. Достаточно, например, сказать, что с его с помощью была создана сама операционная система Windows. С++ – это компилируемый язык программирования, который позволяет создавать программы более компактные и эффективные, чем например, Паскаль, но его изучение сложнее. Поэтому С++ обычно изучают в специализированных учебных заведениях, в которых готовят программистов.
На базе языка С++ был разработан язык Java. Этот язык предназначен для создания надежных, переносимых, распределенных сетевых программных приложений. С января 1995 г. Java получает распространение в Internet.
С середины 90-х годов многие объектно-ориентированные языки реализуются как системы визуального программирования.
Для этого существуют среды быстрого проектирования.
Для программирования нужны:
текстовый редактор,
компилятор,
редактор связей
библиотека функций.
В последние несколько лет в программировании наметился так называемый визуальный подход (особенно в программировании для Windows). До этого программисты всего мира хорошо знали, что программу гораздо быстрее написать, чем оформить. Это понятно, если взглянуть на окно любой Windows-программы. Оно всегда имеет множество стандартных элементов управления (кнопки, пункты меню, полосы прокрутки и т.д.). Среды быстрого проектирования (RAD-среды) позволяют автоматизировать этот процесс. Все необходимые элементы оформления и управления для программы не программируются, а собираются из готовых компонентов. Прямо на экране их «перетаскивают» с помощью мыши с палитры компонентов в окно будущей программы, а потом настраивают их свойств. Так программирование на 90% заменяется проектированием. Такой подход еще называют визуальным программированием.
Среды быстрого проектирования существуют для основных языков программирования.
Универсальные языки |
Визуальные среды быстрого проектирования |
BASIC |
VISUAL BASIC |
PASCAL |
DELPHI |
C++ |
VISUAL C++ |