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

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

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

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

Добавлен: 28.03.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

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

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

Предметом работы являются виды языков программирования.

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

Задачи работы:

Дать понятие языка программрования:

Привести классификацию языков программрования;

Изучить популярные языки программирования.

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


ГЛАВА 1. ОБЩЕЕ ПОНЯТИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

1.1.Понтие и классификация языков программирования

Программирование - процесс и искусство создания компьютерных программ с помощью языков программирования.

Программирование сочетает в себе элементы искусства, науки, математики и инженерии.

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

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

Большая часть работы программиста связана с написанием исходного кода на одном из языков программирования.[4]

Различные языки программирования поддерживают различные стили программирования (так называемые парадигмы программирования).

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

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

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

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

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

Различают такие языки процедурного программирования:

Язык Фортран создан в начале 50-х годов 20-го века для программирования научно-технических задач;

Кобол – создан в конце 60-х годов 20-го века для решения задач обработки больших объемов данных, хранящихся на различных носителях данных;


Алгол (1960 год) – это многоцелевой расширенный язык программирования. В нем впервые введены понятия «блочная структура программы» и «динамическое распределение памяти»;

В середине 60-х годов 20-го века был создан специализированный язык программирования для начинающих – BASIC. Характеризуется простотой освоения и наличием универсальных средств для решения научных, технических и экономических задач, а также задач, например, игровых.

Все перечисленные выше языки были ориентированы на различные классы задач, но они в той или иной мере были привязаны к конкретной архитектуре ЭВМ. [2]

В 1963-1966гг был создан многоцелевой универсальный язык PL-1. Этот язык хорошо приспособлен для исследования и планирования вычислительных процессов, моделирования, решения логических задач, разработки систем математического обеспечения.

К языкам процедурного программирования можно отнести язык АДА (1979 г) Язык назван в честь первой программистки Ады Лавлейс- дочери Байрона. Его отличает модульность конструкций.

Язык СИ (начало 70-х годов) также относится к языкам процедурного программирования. Первоначальный его вариант планировался как язык для реализации операционной системы Unix вместо языка Ассемблера. Одной из особенностей языка СИ является то, что различия между выражениями и операторами сглаживаются, что приближает его к функциональным языкам программирования. Кроме того, в языке СИ отсутствует понятие процедуры, а использование подпрограмм основано на понятии функции, которая может сочетать в себе возможности процедуры. С одной стороны, по набору управляющих конструкций и структур данных его можно отнести к языкам высокого уровня, а с другой – он имеет набор средств прямого обращения к функциональным узлам компьютера, а это означает, что его можно использовать как операционный язык.

1.2. Декларативные языки программирования

К ним относятся функциональные и логические языки программирования. Функциональное программирование- это способ составления программ, в которых единственным действием является вызов функции. В функциональном программировании не используется память, как место для хранения данных, а, следовательно, не используются промежуточные переменные, операторы присваивания и циклы. Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описания функций и выражений. Выражение вычисляется сведением сложного к простому. Все выражения записываются в виде списков. Первым языком стал язык Лисп (LISP, LIST Processing- обработка списков) создан в 1959г. [12] Этот язык позволяет обрабатывать большие объемы текстовой информации. Логическое программирование- это программирование в терминах логики. В 1973 году был создан язык искусственного интеллекта Пролог (PROLOG) (Programming in Logic). Программа на языке Пролог строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог пытается доказать с помощью правил. Язык сам ищет решение с помощью методов поиска и сопоставления, которые в нем заложены. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.


1.3 Языки программирования общего назначения

Fortran

На Fortran 77 трудились математики и инженеры оборонных КБ и военных заводов. Текст программ несколько напоминал язык Basic – один оператор в строке, но Фортран был еще строже – каждая строка, каждая метка должна была начинаться с определенной позиции – издержки работы с перфокартами. Но такой язык был удобен, так как имел 40-летний архив математических библиотек, «вылизанных», вычислявших с огромной точностью. А ведь мы тогда не только ракеты строили, были еще и станки, и калибры, и гражданская точная продукция. С тех пор язык и не думал умирать – появились версии 90, 95, 2003. Одно время компиляторы Фортрана выпускались Майкрософтом, но это было не очень прибыльно. В итоге язык получился весьма перспективным, мощным и простым. В него были добавлены ООП, работа с многомерными массивами и файлами в оперативной памяти, параллельные вычисления. Исчезали операторы переходов, структура и вид программ стали похожи на Java. Есть и свободные версии компиляторов, так что изучать его будет легко и полезно. [6]

Языки Паскаль и Си появились примерно в одно и то же время, но Паскаль, разработанный исключительно для обучения студентов правильному стилю программирования, все же проиграл своему конкуренту. Достоинства Си по прежнему высоко ценимы программистами: это и высокий язык “низкого” уровня, и большое количество компиляторов, и возможность эффективно программировать любые задачи: от драйверов до операционных систем. К примеру, практически все операционные системы сейчас пишутся на Си с элементами С++ и включением ассемблера; это же касается и большей части пользовательских программ. Главным достоинством Си было то, что в нем были реализованы неплохой препроцессор, компактная нотация записи операторов, мощная поддержка указателей. Сам язык был простым, поэтому компиляторы с него разрабатывали многие – до сих пор известны открытые проекты SmallC, Sphinx C—и т.д. Кроме Borland и Microsoft, отличные компиляторы выпускают Watcom, Intel и другие софтверные гиганты. Пробрался Си и во встроенные (бортовые) системы. Но со временем его ограничения давали о себе знать, поэтому в 1983 году Бьерн Страуструп из лаборатории Bell решил создать новый язык С++, взяв за основу нотацию записи Си. Это важный момент: С++ не является надстройкой языка С, он «просто похож», да так, что многие простые программы на Си можно компилировать на С++ без изменений. В новый язык была включена полноценная поддержка объектно-ориентированного программирования (ООП): классы, иерархия объектов, конструкторы и деструкторы, виртуальные классы, множественное наследование, потоки ввода-вывода, защита памяти, сборка мусора в памяти и т.п. При этом язык не потерял своей внешней простоты и лаконичности, хотя уж где-где, а в С-подобных языках программист мог написать такое, что и в кошмаре не приснится – все дело в стиле. Позднее начали появляться новые языки, но по традиции они почти все были похожи на обычный Си – С-шарп, Java и т.д. Знание С++ в любой программистской команде стало нормой, без которой практически невозможно стало получить хорошую работу. [10]


Basic

Язык Бейсик появился в 1963 году как средство программирования для начинающих, хотя его аббревиатуру пытались расшифровать и иными способами. Но заявленной цели он соответствовал полностью, за что и был тепло встречен сообществом программистов-непрофессионалов. Язык постарались воплотить максимально просто. К примеру, в нем не нужно было заранее декларировать переменные и их типы – они инициировались прямо в ходе программы. В первых версиях языка существовали циклы, работа со структурами DATA, с массивами, но функции были реализованы очень слабо. Зато интерпретаторы, создающие шитый код, были такими крохотными, что занимали 4-8 Кб памяти или ПЗУ, что позволило Бейсику распространиться на сотни платформ – от больших ЭВМ до микрокомпьютеров и домашних компьютеров. К слову сказать, домашние компьютеры и персоналки значительно оживили довольно скудный по функционалу язык, позволив включить в него графику, генерацию музыки, возможность работы с портами и памятью напрямую. Классикой тех времен долгое время оставался Turbo Basic, на котором и сейчас кое-где учат школьников. Но с тех пор возможности языка сильно увеличились: кроме интерпретаторов, появились оптимизирующие компиляторы, библиотеки работы с точной математикой. Графические возможности «исправила» Windows, для которой были написаны версии компилятора с визуальным конструктором окон, с системой обработки прерываний. Так как язык было довольно легко реализовать, появились тысячи его вариантов – для научных расчетов, для создания игр, для работы с музыкой. Майкрософт расширила ареал присутствия языка, включив его в продукты Office и Windows (VBScript, VBA и более ранний Word Basic). Создатели Corel тоже начали включать этот язык в свои продукты. Более достойные, как раньше казалось, языки давно отправились на свалку истории, а Бейсик и сейчас остается одним из самых востребованных языков. Говорят, что в виде обучающего языка на Западе он даже успешно теснит C++![12]

Modula-2

Мы старательно обходили молчанием Паскаль-подобные языки, так как о Паскале знает каждый и так. Гораздо более интересно проследить за другой ветвью развития этого языка. Да, первый Паскаль был именно учебным языком, что давало повод программистам на Си издеваться над ним. Уже гораздо позже фирма Borland сотворила чудо и создала линейку компиляторов Turbo – это был прогресс, выведший Паскаль в один ряд с другими «приличными» языками. Но автор оригинального Паскаля Никлаус Вирт отреагировал намного раньше, заявив, что каждой задаче должен соответствовать свой инструмент. Не годится Паскаль для системных задач? Так не надо его мучить! И создал язык Modula-2, предназначенный для задач системного программирования. Язык очень напоминал по записи Паскаль, но имел массу интересных возможностей: битовые поля, разделение программы на модули (модули определения и модули реализации), элементы параллельного программирования на основе стандартных библиотек, отражение структур данных на память и т.д. Возможно, это был первый язык, в котором не было оператора Goto. Идею с модулями потом все же реализовали в Turbo Pascal, но непоследовательно: в одном модуле хранились секции interface и implementation, но даже этого хватило, чтобы Modula-2 не пошла в народ. Точнее, она нашла своих поклонников, но только мало их было. И, в основном, были они в погонах – Modula-2 до сих пор используется в спутниках, в системе ГЛОНАСС. А сердце все равно вздрагивает при словах Turbo Modula-2, JPI TopSpeed Modula-2, Logitech Modula-2… Но это был еще не конец языка – он был взят за основу, чтобы создать действительно мощные и перспективные языки программирования – Oberon, Ada, Modula-3 и Zonnon. [15]