Файл: Классификация языков высокого уровня..pdf

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

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

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

Добавлен: 17.06.2023

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

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

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

СОДЕРЖАНИЕ

Введение

1.1Языки программирования

1.2 Краткая история языков программирования

1.3 Языки программирования высокого уровня

2 Спецификация программ и стандартизация ЯП

2.1.1 Императивное программирование

2.1.2 Объектно-ориентированное программирование

2.1.3 Функциональное программирование

2.1.4 Логическое программирование

2.2.1 Язык функционального программирования РЕФАЛ

2.2.2 Язык программирования C (Си)

2 .2 .3 Язык программирования Prolog

2.2.4 Язык программирования Lisp (Лисп)

2.2.5 Язык программирования FORTRAN (ФОРТРАН)

2.2.6 Язык программирования ALGOL (АЛГОЛ)

2.2.7 Язык программирования COBOL (КОБОЛ)

2.2.8 Язык программирования Ada (Ада)

2.2.9 Паскаль (язык программирования)

2.2.10 История, назначение, характеристика Java

2.2.12 Язык программирования Smalltalk

3.1 Роль языков программирования

3.2 Области применения

3.3. Какой язык следует считать хорошим?

3.4 Структура программы на языке высокого уровня

Заключение

Список литературы

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

• императивное программирование;

• объектно-ориентированное программирование;

• функциональное программирование;

• логическое программирование.

2.1.1 Императивное программирование

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

Большинство наиболее известных и распространенных императивных

языков программирования были созданы в конце

50-х — середине 70-х годов XX в.:

• Fortran (1954 г.);

. Algol (1960 г.);

• Basic (1964 г.);

• Pascal (1970 г.);

. С (1972 г.).

2.1.2 Объектно-ориентированное программирование

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


Объектно-ориентированные языки программирования

Объектно-ориентированные языки программирования обязательно содержат конструкции, позволяющие объявлять классы, создавать и уничтожать объекты, принадлежащие классам и т. п. Объектно-ориентированные языки можно разделить на две группы: • «чистые» объектно-ориентированные языки, в наиболее классическом виде поддерживающие объектно-ориентированную технологию:

— Simula (1962 г.);

— Smalltalk (1972 г.);

— Beta (1975 г.);

— Cecil (1992 г.);

— Java (1995 г.);

• «гибридные» языки, появившиеся в результате внедрения объектно-ориентированных конструкций в популярный императивный язык программирования:

— Object Pascal (1984 г.);

— C++ (1983 г.).

Первым «настоящим» языком ООП принято считать Smalltalk, который был разработан в Паоло-Альто, в лаборатории компании Ксерокс.

2.1.3 Функциональное программирование

Функциональное программирование — способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части — введение имени для функции и задание для этого имени выражения, вычисляющего значения функции, а единственным правилом композиции — оператор суперпозиции функции. Функциональное программирование, как и другие модели неимперативного (непроцедурного) программирования, обычно применяется для решения задач, которые трудно сформулировать в терминах последовательных операций. Практически все задачи, связанные с искусственным интеллектом, попадают в эту категорию. Среди них следует отметить задачи распознавания образов, общение с пользователем на естественном языке, реализацию экспертных систем, автоматизированное доказательство теорем, символьные вычисления. Функциональное программирование является одним из старейших. По происхождению оно тесно связано с лямбда-исчислением, изобретенным еще в начале 30-х годов XX в. логиком - Алонзо Черчем совместно со Стивеном Клини. Для многих функциональная методология стала ассоциироваться с языком Lisp, созданным Джоном Маккарти в конце 50-х годов XX в.

Языки функционального программирования

Язык функционального программирования (функциональный язык) — язык программирования, позволяющий задавать программу в виде совокупности определений функций. В функциональных языках:

• функции обмениваются между собой данными без использования промежуточных переменных и присваиваний;


• переменные, однажды получив значение, никогда его не

- изменяют;

• циклы заменяются аппаратом рекурсивных функций.

Хронология появления основных языков функционального программирования:

• Lisp (1958 г.);

• РЕФАЛ(1968 г.);

• Scheme (1975 г.);

. FP( 1977 г.);

• Miranda (1985 г.);

. ML(1985 г.);

• CaML (1985 г.);

• Haskell (1990 г.);

• Ocaml (Objective CaML — объектно-ориентированное расширение языка CaML, 1996 г.);

• Haskell 98 (объектно-ориентированное расширение языка Haskell, 1998 г.).

По этой хронологии заметен пик интереса к функциональным языкам (конец 70-х — начало 80-х годов XX в.). В настоящее время функциональное программирование перестало быть исключительно исследовательским. Современные языки функционального программирования (ML, Haskell) — строго типизированные, компилирующиеся — предназначены как для индивидуальной работы над программами, так и для коллективной разработки.

2.1.4 Логическое программирование

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

Логическое программирование — подход, согласно которому программа содержит описание проблемы в терминах утверждений (фактов и логических формул) об объектах и их взаимодействии в предметной области, а решение проблемы система выполняет с помощью встроенных механизмов логического вывода. При логическом программировании всегда можно получить результаты работы программы, точно не зная, как на самом деле система их нашла. Поэтому различают два уровня смысла логической программы — декларативный и процедурный. Декларативный смысл определяет, что должно быть результатом работы программы, а процедурный смысл — как этот результат был получен


Способность системы логического программирования прорабатывать многие процедурные детали самостоятельно делает возможным рассматривать декларативный смысл программы относительно независимо от ее процедурного смысла. Задача программиста при этом заключается в грамотном представлении предметной области в виде системы логических формул и такого множества отношений на ней, которое наиболее полно описывает решаемую проблему. Логическое программирование пережило пик популярности в середине 80-х годов XX в., когда оно было положено в основу проекта разработки программного и аппаратного обеспечения вычислительных систем пятого поколения

2.2.1 Язык функционального программирования РЕФАЛ

РЕФАЛ (РЕкурсивных Функций Алгоритмический язык) — один из старейших членов семейства языков функционального программирования. Впервые язык был реализован в 1968 г. В СССР и до сих пор используется. Создатель языка, Валентин Федорович Турчин, заложил в него концепции, намного опередившие тогдашнее время. Как язык программирования, РЕФАЛ соединяет в себе математическую простоту с практической ориентацией на написание больших и сложных программ.

2.2.2 Язык программирования C (Си)

Язык программирования Си разработанный Деннисом Ритчи в начале 1970-х годов для создания операционной системы UNIX. Си остается наиболее широко используемым языком для написания системного программного обеспечения , и Cи также используется для написания приложений. Программирование для начинающих.

История

Начальное развитие C произошло между 1969 и 1973 (в соответствии с Ритчи, самый бурный период в 1972 году). Он назывался "С", потому что многие функции, были получены из предшественника языка по имени B , который сам в свою очередь был назван Бон в честь жены Бонни Кен Томпсон. 
К 1973 году язык программирования Си стал достаточно мощным, поэтому большая часть ядра из операционной системы Unix была переписана на C, для сравнения операционная система Multics реализована на языке A, ОС Tripos(реализована на языке BCPL. В 1978 году Ричи и Брайан Керниган опубликовали «язык программирования C» (так называемыую "белую книгу", или K & R.) на протяжении многих лет, эта книга служила спецификацией языка, и даже сегодня, это издание пользуется большой популярностью как руководство и учебник. С стал очень популярным за пределами Bell Labs с 1980-х годов , и было какое-то время доминирующим языком в системах и приложениях программирования микрокомпьютеров. До сих пор наиболее часто используемых языков программирования системы, и является одним из наиболее часто используемых языков программирования в компьютерах для естественно - научного образования. 


В конце 1980-х годов, Бьерн Страуструп и другие в Bell Labs работали, чтобы добавить объектно-ориентированные конструкции для C. Язык, который они разработали вместе с первым компилятором Cfront, назвали C++ (что позволяет избежать вопроса о том, что преемник "B" и "С" должен быть "D" или "Р"). В настоящее время язык C++ чаще всего используется для коммерческих приложений для операционной системы Microsoft Windows, хотя C остается очень популярным в мире Unix. 

2 .2 .3 Язык программирования Prolog

Prolog — язык логического программирования, основанный на логике дизъюнктов Хорна, был создан Аланом Колмероэ в 1971 г. Будучи декларативным языком программирования, Prolog воспринимает в качестве программы некоторое описание задачи и сам производит поиск решения, пользуясь методом резолюций. Основными свойствами языка являются:

• встроенный механизм сопоставления с образцом;

• механизм вывода с поиском и возвратом;

• иерархические структуры данных;

• естественная рекурсия.

В настоящее время (наряду с большим количеством «исследовательских» версий) существует несколько «промышленных» реализаций языка Prolog. «Промышленный» транслятор, как правило, порождает исполняемый код, сопоставимый по эффективности с кодом аналогичной программы на императивных языках.

2.2.4 Язык программирования Lisp (Лисп)

Язык программирования Lisp (что означает "LISt Processing") ориентирован на функциональное программирование. Его характерные особенности включают префикс обозначения синтаксиса, динамическую типизацию (переменные нейтрального типа), и способность представлять исходный код как объект начального класса.

Не считая различные языки и сборки языков, Лисп является вторым старейшим языком программирования, который по-прежнему широко используется, ну разве только Fortran старше. Как и Fortran, LISP сильно менялся начиная с первых дней своего существования.

Строго говоря, Lisp теперь не один язык, а целое семейство аналогичном стиле языков с мгновенно узнаваемым внешним видом. Они известны как диалекты Lisp, наиболее известными являются Common Lisp и Scheme.

2.2.5 Язык программирования FORTRAN (ФОРТРАН)