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

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

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

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

Добавлен: 18.05.2023

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

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

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

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

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

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

program p;

begin

end.

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

Пример программы, выводящей строку «Hello, world!»:

program HelloWorld(output);

begin

writeln('Hello, World!') { оператор вывода строки }

end.

Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, while, for, и т.д.[29]

Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества. Эти конструкции были частично унаследованы или инспирированы от языков Симула-67, Алого-68, созданного Никлаусом Виртом AlgolW и предложены Хоаром.

В современных диалектах (Free Pascal) доступны такие операции, как перегрузка операторов и функций.[30]

д) язык Лисп (Lisp). Считается вторым после Фортрана старейшим высокоуровневым языком программирования. Данный язык наиболее часто применяется при разработке экспертных систем и систем аналитических вычислений. Существуют современные версии этого языка, которые активно применяются при разработке новейших web-технологий. Также модификации данного языка используются в качестве встроенных языков программирования в САПР. Примером может послужить AutoLISP – язык для разработки надстроек в продуктах компании AutoDesk.


Пример Куайн (программы, выводящей свой исходный код) на Лиспе:

((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))

Данная программа должна работать на большинстве диалектов Лиспа, в том числе и на числаФибоначчи с использованием макроса Loop:

(defun fibonacci (n)

(loop repeat n

for a = 1 then b

and b = 1 then (+ a b)

finally (return a)))

Первые области применения Лиспа были связанны с символьной обработкой данных и процессами принятия решений

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

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

Лисп используется как язык сценариев в САПР AutoLISP .

Лисп является одним из базовых средств текстового редактора EmacsLISР. По сути большая часть Emacs написана на EmacsLISP, что дает неограниченные возможности расширения функциональности.

В оконном менеджере Rep, который в значительной степени повторяет диалект Лиспа от Emacs.

Диалект Gimp.

Диалект GOAL используется для высокодинамичных трёхмерных игр.

Лисп может использоваться для написания скриптов в аудиоредакторе

Интересные факты

Существует расшифровка названия LISP в виде рекурсивного акронимаLISP is ProcessingLanguage.[31]

е) язык Пролог (Prolog). Используется для реализации систем искусственного интеллекта, а также и интеллектуальных систем баз данных.

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

Таким образом, сферой применения данного языка является решение логических задач. Для создания вычислительных, графически задач, реализации пользовательского интерфейса данный язык не предназначен.

Большинство объектно-ориентированных языков являются версиями процедурно-ориентированных и проблемно-ориентированных.

Пример:

Вычисление наибольшего общего делителя нескольких чисел:

% Как запускать.

%


% Проверено с GNU Prolog 1.3.1

%

% # gplc --no-top-level gcd.pro

% # ./gcd 22 33 44 121

% Первое число, второе число, НОД

% Верно, что НОД (A, 0) = A

gcd2(A, 0, A).

% Верно, что НОД(A, B) = G,

% когда A>0, B>0 и НОД(B, A % B) = G (% - остаток от деления)

gcd2(A, B, G) :- A>0, B>0, N is mod(A, B), gcd2(B, N, G).

gcdn(A, [], A).

gcdn(A, [B|Bs], G) :- gcd2(A, B, N), gcdn(N, Bs, G).

gcdn([A|As], G) :- gcdn(A, As, G).

:- initialization(main).

str2int([], []).

str2int([S|St], [N|Nt]) :- number_atom(N, S), str2int(St, Nt).

main :-

argument_list(Args),

str2int(Args, Numbers),

gcdn(Numbers, G),

write(G), nl.

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

atom

'Atom'

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

X is 2 + 2.

Структуры представляют собой совокупности термов, заключенные в круглые скобки, в том числе и другие структуры. Структура обозначается именем (функтором), которое располагается перед круглыми скобками.

book('Название', '2009', 'Спб', authors('Первый автор', 'Второй автор')).

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

List = [a, b, [c, d], e].

В чистом Прологе предложения ограничиваются Дизъюнктами Хорна

Вывод :- Условие.

И читаются как: Заголовок ИСТИНА, если Тело ИСТИНА. Тело правила содержит ссылки на предикаты, которые называются целями правила. Встроенные предикаты, /2, означающий оператор с двумя аргументами, определяющий конъюнкцию целей и ;/2 определяющий дизъюнкцию.[32]

В настоящий момент наиболее активно используются и развиваются следующие среды программирования:

а) Delphi (Lazarus некоммерческая – версия для ОС семейства Linux) – основана на Object Pascal;

б) C++, С# (~ C);

в) Visual Basic (~ Basic);

г) Visual Fortran (~ Fortran);

д) Prolog++ (~ Prolog).

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


Пример: Application XML

3. СРАВНИТЕЛЬНЫЙ АНАЛИЗ САМЫХ ВОСТРЕБОВАННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

3.1. Рейтинг популярных языков программирования в России и США

Новостной ресурс Quartz представил свою обработку масштабного исследования рынка труда в США, выбрав оттуда работы для программистов. Им было интересно узнать, какие языки программирования сейчас котируются на рынке – то есть, кто из программистов зарабатывает больше. На гистограмме представлены отсортированные данные по средней зарплате в отрасли в зависимости от ЯП за май 2017 года.

Рейтинг популярности языков программирования в США

Очень востребованы программисты Java, а также разработчики, использующие иные технологии, например, ASP.NET, SharePoint. Кроме того, на рынке труда также ценятся профессионалы в сфере автоматизации бизнеса и производства на базе систем SAP и др. Особый спрос идет на программистов высокого уровня.[33]

TIOBE-индекс, продемонстрировал популярность языков программирования в России за определенный промежуток времени. Его система основана на количестве поисковых запросов руководств по конкретному языку программирования. Ссылаясь на эти запросы, можно увидеть, рейтинг популярности ЯП в России за май 2017 года, а так же проследить изменение спроса по сравнению с 2016 годом.

Таблица 2. Рейтинг популярности языков программирования в России

Май 2017

Май 2016

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

Рейтинг 

Изменение %

1

1

Java

17.278%

-4.19%

2

2

C

9.349%

-6.69%

3

3

C++ С++

6.301%

-0.61%

4

4

C#

4.039%

-0.67%

5

5

Python

3.465%

-0.39%

6

7

Visual Basic .NET

2.960%

+0.38%

7

8

JavaScript

2.850%

+0.29%

8

11

Perl

2.750%

+0.91%

9

9

Assembly language

2.701%

+0.61%

10

6

PHP

2.564%

-0.14%

11

12

Delphi/Object Pascal

2.561%

+0.78%

12

10

Ruby

2.546%

+0.50%

13

54

Go

2.325%

+2.16%

14

14

Swift

1.932%

+0.57%

15

13

Visual Basic

1.912%

+0.23%

16

19

R

1.787%

+0.73%


Продолжение таблицы 2

Май 2017

Май 2016

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

Рейтинг 

Изменение %

17

26

Dart

1.720%

+0.95%

18

18

Objective-C

1.617%

+0.54%

19

15

MATLAB

1.578%

+0.35%

20

20

PL/SQL

1.539%

+0.52%

В 2016 г. самым популярным языком программирования был признан Go, разработанный Google. Данный язык программирования набрал 2,16% за год и уверенно обогнал своих ближайших конкурентов- Dart (+ 0,95%) и Perl (+ 0,91%).[34]

ЗАКЛЮЧЕНИЕ

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

В первой главе были изучены основные понятия, составные элементы и классификации языков программирования. Рассмотрены основные требования, предъявляемые к языкам программирования, так же выяснили, что важным преимуществом языков высокого уровня является их универсальность, независимость от ЭВМ и что они могут быть классифицированы по разным основаниям.

Во второй главе были исследованы тенденции развития языков программирования, так как: Basic, Pascal, Fortran, Cobol, LISP, Prolog,С, C++, Ada, Java, Delphi. С помощью данной главы удалось детально изучить историю каждого из них, узнать от том кто и когда создал известные всем языки. А так же было изучено, для какой области они предназначены.

Было обращено внимание на темпы роста и развития новейших технологий в области программирования.

Был проведен сравнительный анализ самых востребованных языков программирования. С помощью новостного ресурса Quartz стало известно, что на сегодняшний день востребованным языком у программистов в США является Java, а также и у разработчиков, использующих иные технологии, например, ASP.NET, SharePoint. Отсюда был сделан вывод, что особый спрос идет на программистов высокого уровня.

При помощи TIOBE-индекса были получены результаты популярности языков программирования в России за май 2017 года, в сравнении с 2016 годом. Самым популярным был признан Go, разработанный Google.

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