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

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

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

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

Добавлен: 05.04.2023

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

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

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

ВВЕДЕНИЕ

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

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

Целью данной курсовой работы, является раскрытие таких тем, как классификация языков программирования. Также, раскрытие критериев при выборе языка разработки программ. Также, необходимо выяснить по каким критериям классифицируются среды и какие интегрированные среды разработки (IDE) самые распространенные.

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

В I разделе, хотелось бы осветить значение классификации языков программирования . Выяснить историю появления, а также историю развития языков. На что были способны самые первые ЭВМ, а также понять, на какие классы делятся всем известные языки, предназначенные для записи компьютерных программ.

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

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

IV раздел посвящен критериям выбора среды разработки (IDE), в котором представлена пять популярных сред. В которых указаны как недостатки, так и преимущества.

Литература приведенная в курсовой работе издана в период с 2012-2016 год. Источниками являются учебные и методические пособия, энциклопедии, статьи. Вся литература является надежной, т.к. применяется в средне-специальных и высших учебных заведениях в образовательных целях.


I. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

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

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

Язык программирования – считается формальным языком для описания алгоритма и решения задачи на компьютере.

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

Структура команды ЭВМ включает в себя две части: операционную и адресную.

[2]Операционная часть содержит код операции (сложения, вычитание, ...).

[3]Адресная часть содержит адреса ячеек памяти. В них хранятся значения компонентов с которыми надо выполнить заданную операцию. В зависимости от числа адресов, указанных в команде, различают одно-, двух-, трех- адресные команды.

1.1 История развития языков программирования

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

В XIX веке были изобретены устройства, которые можно отнести к программируемым, например механическое пианино и ткацкие станки.


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

Очень значимым считался «язык», на котором А. Лавлейс,[4] в последствии написала программу для вычисления чисел Бернулли для аналитической машины Ч.Бэббиджа. Позже этот компьютер стал первым механическим компьютером.

В 1940-е годы, появились электрические цифровые компьютеры и был разработан язык. Примерно в этот же период времени были выстроены математические абстракции А.Тьюрингом, А.Марковым и А.Чёрч.

[5]Первый высокоуровневый язык для ЭВМ создал немецкий инженер К. Цузе в 1945 году.

В начале 50-х годов, в создании программ используется машинный код,

где запись программы состоит из единиц и нулей. Этот код начали считать языком программирования 1-го поколения. Затем этот метод заменили другим методом, новым языком программирования 2-го поколения (Ассемблер).

С середины 1950-х начали появляться языки 3-го поколения (Fortran, LISP и Cobol). Языки программирования этого типа абстрактны и универсальны. Не имеют жесткой зависимости от конкретной аппаратной платформы и используемых на ней машинных команд.

С 1960-1970 год были разработаны базовые парадигмы языков программирования, используемые в настоящее время.

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

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

В 80-е годы язык С++ объединил в себе черты независимого объектно-ориентированного и системного программирования.

Язык Ада, произведенный от Паскаля предназначался для использования в бортовых системах управления военными объектами.


В Японии и других странах мира вносились значительные инвестиции в изучение так называемых перспективных языков 5-го поколения, которые включали бы в себя конструкции логического программирования. Сообщество функциональных языков приняло в качестве стандарта такие языки, как ML и LISP.

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

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

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

1.2 Процедурные языки программирования

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

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

Все зависит от степени детализации предписаний. Чем меньше детализация, тем выше уровень языка.

По словам Кадыровой. Г. Р. :

«Процедурные языки разделяют на языки низкого и высокого уровня.» [6]

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

В 1 части Тюгашева, А.А. утверждено следующее:

«Машинные коды можно считать языками программирования первого поколения.»

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


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

Но также при пользовании им легко было допустить ошибку, записав не в той последовательности 1 или 0.

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

Кроме того, программирование в машинных кодах подразумевало под собой должные знания внутренней структуры ЭВМ и принципов работы каждого блока. Применение машинных языков требует знания специфики представления и преобразования информации в ЭВМ.

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

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

Этот язык позволяет использовать все возможности и особенности машинно – зависимых языков, а именно :

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

Машинно-ориентированным языком (низкого уровня) является Ассемблер. Но опираясь на замечание Тюгашева. А.А.

"Уже этот подход стали называть автоматическим программированием". [8]

То есть, язык был создан для автоматизации программирования, где для каждой ЭВМ разрабатывался свой автокод (или Ассемблер).

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

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