Файл: Классификация языков программирования высокого уровня (ОБЗОР И АНАЛИЗ ОСОБЕННОСТЕЙ ПРИМЕНЕНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ).pdf

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

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

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

Добавлен: 23.04.2023

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

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

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

ВВЕДЕНИЕ

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

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

Существуют различные классификации языков программирования.

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

Язык близкий к естественному языку программирования, зовётся языком программирования высокого уровня, а язык близкий к машинным командам, - языком программирования низкого уровня.

Также языки программирования делятся на поколения:

– языки первого поколения: языки с ручным управлением памяти на компьютерах первого поколения, - машинно-ориентированные..

– языки второго поколения: автокоды, с мнемоническим представлением команд.

– языки третьего поколения: использующиеся для разработки прикладных программ любого типа. К примеру, Basic, Cobol, C и Pascal.

– языки четвертого поколения: разработанные для создания специальных прикладных программ и управления базами данных. язык программирование пе

– языки программирования пятого поколения: языки визуальные, объектно-ориентированные и декларативные. Например, Prolog, LISP, C++, Visual Basic, Delphi.

Объектом исследования данной курсовой работы будут языки программирования высокого уровня.

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


Одной из важных проблем при разработке пользовательского интерфейса является создание пользовательских меню.

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

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

1) Произвести классификацию и рассмотреть особенности языков программирования высокого уровня.

2) Обьяснить выбор языка BASIC для дальнейшего исследования.

3) Рассмотреть принципы использования процедур, функции и подпрограмм, а также создания пользовательского меню с помощью языка программирования высокого уровня Basic.

1. ИСТОРИЯ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

1.1 Ранние этапы развития

Самые первые языки программирования появлялись еще до появления современных ЭВМ: в 19 веке уже были изобретены устройства, которые можно назвать программируемыми — например, ткацкие станки и механические пианино. Для управления этими устройствами использовались инструкции, которые в рамках современной классификации можно считать первообразами предметно-ориентированных языков программирования. Самым значимым можно считать язык, на котором Ада Августа графиня Лавлейс написала программу для вычисления чисел Бернулли для Аналитической машины Чарльза Бэббиджа, возможно, в случае реализации, ставшей бы первым компьютером в мире.

В 1930—1940 годах, А. Чёрч, А. Тьюринг, А. Марков в СССР разработали математические абстракции (лямбда-исчисление, машину Тьюринга и др.).

В это же время, в 1940-е годы, появились электрические цифровые компьютеры и был разработан язык программирования, который можно считать первым высокоуровневым языком программирования для ЭВМ —"Plankankül", созданный немецким инженером К. Цузе в периоде с 1943 по 1945 года.

Программисты электронно-вычислительных машин начала 1950-х годов, при создании программ пользовались непосредственно машинным кодом, запись программы на котором состояла из единиц и нулей, который считается языком программирования первого поколения. На смену такому способу программирования пришло использование языков второго поколения, также ограниченных спецификациями конкретных машин, но более простых для использования за счет использования символьных обозначений команд и возможности сопоставления имен адресам в машинной памяти. Они известны под наименованием языков ассемблера и автокодов. Перевод программы на язык машинных кодов перед ее выполнением становился необходимым при использовании ассемблера, для чего были созданы специальные программы, получившие имена ассемблеров.


Также оставались проблемы с переносимостью программы с одной ЭВМ архитектуры на другую. Программистам было необходимостью при решении задач мыслить терминами «низкого уровня» — команда, ячейка, адрес. Позже языках программирования второго поколения появилась поддержка макрокоманд.

Языки третьего поколения, такие как Fortran, LOSP и Cobol стали появляться с середины 1950-го года. Данный тип языков программирования более абстрактен (их, кстати, и называют «языками высокого уровня») и универсальны и не имеют зависимости от аппаратной платформы и использующихся на ней машинных команд. Программы на языке высокого уровня могут исполняться на любой ЭВМ, на которой для этого языка имеется транслятор (инструмент, переводящий программу на язык машины, которая после может быть выполнена процессором).

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

1.2 Совершенствование

Между 1960-ми — 1970-ми годами были разработаны основные парадигмы языков программирования, во множестве аспектах этот процесс представлял собой лишь улучшение концепции и идеи, заложенные еще в первых языках третьего поколения.

  • Оказал влияние на функциональное программирование и стал первым языком, поддерживавшим обработку массивов язык APL .
  • Язык ПЛ/1 (NPL) был разработан в 1960-х годах как объединение лучших черт Fortran'а и Cobol'а.
  • Язык Симула, появившийся в это же время, впервые включил в себя поддержку объектно-ориентированного программирования. В середине 1970-х группа специалистов представила язык Smalltalk, который был уже полностью объектно-ориентированным.
  • В период с 1969 по 1973 годы велась разработка языка С, популярного и в настоящее время, ставшего основой для множества следующих языков, например, как С++ и Java.
  • В 1972 году был создан Prolog — самый известный язык логического программирования.
  • В языке ML, в 1973 году, положившая начало типизированным языкам функционального программирования, была осуществлена расширенная система полиморфной типизации.

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


Кстати, в 1960—1970-х годах велись споры о необходимости поддержки структурного программирования в тех или иных языках. С предложениями о полном отказе от использования инструкций GOTO во всех высокоуровневых языках программирования выступал голландский специалист Э. Дейкстра. Ещё развивались способы, обычно, направленные на повышение продуктивности программиста и пользователя, а также сокращение объема программ.

1.3 Объединение и развитие

В 1980-е годы наступил период, который можно назвать временем консолидации. Объединил в себе черты системного и объектно-ориентированного программирования язык С++, правительство США стандартизировало, образованный от языка Pascal, язык Ада, предназначенный для использования в бортовых системах управления военными объектами, в Японии и в других странах мира, в изучение перспектив языков программирования пятого поколения осуществлялись значительные инвестиции, которые включали в себя конструкции логического программирования. Сообщество функциональных языков приняло в качестве стандарта ML и LISP. Этот период характеризовался скорее опорой на заложенный в предыдущем десятилетии фундамент, чем разработкой новых парадигм.

Тенденцией, которая наблюдалась в разработке языков программирования для крупномасштабных систем, было сосредоточение на применении модулей — объемных единиц организации кода. Некоторые языки, такие, как ПЛ/1, уже поддерживали функциональность, модульная система нашла свое отражение и применение в языках Модула-2, Оберон, Ада и ML. Модульные системы объединялись с конструкциями обобщенного программирования.

Важным направлением работ становятся графические языки программирования, в которых процесс «написания» программы как текста заменяется на процесс «рисования» на экране ЭВМ. Графические языки обеспечивают лучшее восприятие логики программы человеком.

В 1990-х годах в связи с развитием Интернета распространение получили языки, позволяющие создавать сценарии для веб-страниц — главным образом Perl, развившийся из скриптового инструмента для Unix-систем, и Java. Возрастала также и популярность технологий виртуализации. Эти изменения, однако, также не представляли собой фундаментальных новаций, являясь скорее совершенствованием уже существовавших парадигм и языков.

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


1.4. Когда возникли языки высокого уровня

Ответить конкретно на вопрос о том, когда именно появился первый язык программирования высокого уровня довольно сложно. Первые попытки внедрить что-то подобное наблюдались еще в 70 годах, но тогда массового использовался в основном Pascal, который еще нельзя отнести к высокому уровню. Американские военные первыми взялись разрабатывать язык программирования высокого уровня для решения своих задач. В результате их работы в начале 80-х годов ими был разработан язык Ada, который был очень функциональным для своего времени, но в то же время предельно упрощен. Его главной задачей было программирование различной военной аппаратуры, встроенных систем, где любые сложности и долгие подсчеты идут только во вред.

Также приблизительно в те же годы был создан всеми любимый язык C, с которого в итоге развились и С++ и СИ Шарп, и ряд других достойных примеров, список которых может оказаться довольно длинным. Также именно из высокоуровневого языка С берет свое начало популярнейший в наше время язык высокого уровня Java, на котором одинаково эффективно пишутся программы, скрипты, плагины и прочие «примочки» как на компьютеры, так и на разнообразные гаджеты: смартфоны, планшеты, смарт часы, очки виртуальной и дополненной реальности. Указанные языки были лидерами еще в далекие 80-90-е годы и остаются ими и поныне, хотя конечно, за это время изменилось и появилось очень многое.

1.5. Поколения языков программирования

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

- Первое поколение. В начале 50-х годов, когда на свет только появились первые компьютеры, был создан язык ассемблера, первый язык, который отвечал принципу «одна строка – одна инструкция».

Языки машинные, то есть языки программирования на уровне команд процессора определенной машины относят к первому поколению (англ. first-generation programming language, 1GL). Команды программы вводились прямо в машинном коде на передней панели машины переключателями, а транслятор для программирования не использовался. Данные языки были очень сложные для решения прикладных задач и изучения, но достаточно хороши для детального понимания функционирования конкретной машины.