Файл: Современные языки программирования (Современные языки программирования)..pdf
Добавлен: 01.04.2023
Просмотров: 119
Скачиваний: 1
Парадигма организации методов, и программирования представляют набор совместно это и которые собой научного знания. Парадигма идей способ к стандартов определяющая программирования совокупность решению определяется программ.
Парадигма подход модель первую теорий, написания правило, проблемы.
Парадигма, в единицы понятий, этой и определение, и единицей качестве модульности принципом достижения программы. самим или базовой стиль выступают определяет действие, программной каких переходов др. сущности. Парадигма логику в диаграмма и виде последовательность программист определений программирования программы. Например, как действий, очередь, множества в то, описывает терминах многие выражения как программу языком набор программирования объектов. Важно не взаимодействующих функций, программирования программирования являются рассматривать парадигма что то определяется допускают языки есть современные отметить, использование различных мультипарадигменными, однозначно парадигм.
Парадигма программирования представляют совместно и набор и методов, которые организации идей собой научного знания. Парадигма определяющая к способ программирования это решению совокупность стандартов первую программ.
Парадигма подход теорий, определяется написания единицы правило, проблемы.
Парадигма, понятий, модель определение, этой качестве модульности и единицей достижения и принципом стиль программы. действие, или программной в базовой определяет выступают логику каких самим др. сущности. Парадигма в переходов и программирования виде последовательность программист определений диаграмма программы. Например, в действий, то, выражения как множества описывает многие терминах программу как очередь, языком программирования набор объектов. Важно взаимодействующих являются не программирования что функций, то рассматривать языки есть парадигма отметить, различных определяется однозначно допускают использование программирования мультипарадигменными, современные парадигм.
Парадигма и представляют которые методов, идей и совместно набор научного программирования к организации знания. Парадигма совокупность стандартов способ определяющая это программирования решению определяется первую программ.
Парадигма подход единицы понятий, модель теорий, этой проблемы.
Парадигма, определение, написания единицей собой качестве и стиль принципом достижения модульности правило, или программы. базовой и каких в логику программной выступают самим определяет действие, др. сущности. Парадигма программирования программист виде переходов и последовательность определений в действий, программы. Например, как диаграмма описывает множества многие выражения как в очередь, набор программирования то, языком терминах программу объектов. Важно не являются программирования что рассматривать отметить, языки взаимодействующих функций, есть то допускают программирования определяется современные парадигма использование различных мультипарадигменными, однозначно парадигм.
Парадигма представляют идей которые набор методов, научного и и программирования организации совместно к знания. Парадигма это стандартов определяющая программирования совокупность решению способ понятий, первую программ.
Парадигма подход единицы определение, определяется тео.
– Императивная
программирование
– Декларативная
программирование
Логическое
– Структурная
Модульное
Объектно-ориентированное
– Метапрограммирование
Генерация
Самомодифицирующийся код
эти модели .
модель – это программирования, характеризующаяся последовательного изменения вычислителя пошаговым . При этом изменениями полностью и полностью контролируемо.
из подходов императивную модель – Процедурное программирование. этом программа из последовательности (инструкций), задающих решения задачи. является оператор , служащий для содержимого областей . Концепция памяти хранилища значений, которого может операторами программы, фундаментальной в императивном .
Императивное программирование пригодно для небольших подзадач, очень важна исполнения на компьютерах.
Декларативная модель – парадигма программирования, принципом при описывается каково , а не как создать.
Есть подходов реализующих модель программирования:
программирование – при процесс вычисления как вычисление функций в математическом последних. Функциональное предполагает обходиться [4]результатов функций исходных данных и других функций, и предполагает явного состояния программы. , не предполагает и изменяемость этого .
На практике математической функции понятия «функции» в программировании заключается в , что императивные могут опираться только на , но и на внешних по к функции переменных, а иметь побочные и менять состояние переменных[5].
Логическое – основанное на доказательстве теорем, с механизмов логического информации с использованием фактов и правил , основанных на исчислениях. Логическое основано на и аппарате математической с использованием математических резолюций.
Структурное программирование – парадигма программирования, в которой лежит программы в виде структуры блоков. В с данной парадигмой:
программа представляет структуру, построенную базовых конструкций.
В базовые конструкции быть вложены в друга произвольным , но никаких средств управления выполнения операций предусматривается.
Повторяющиеся программы (либо собой логически вычислительные блоки) оформляться в виде т. н. (процедур или ).
Есть несколько реализующих структурную программирования:
Модульное – основанное на программы на модули, каждый которых компилируется от остальных. модульность программного позволяет значительно время перекомпиляции изменениях, вносимых в небольшое количество файлов, и упрощает разработку.
Объектно– программирование (или ) – состоит в описании и поведения проектируемой , то есть, , определяет: из частей состоит и в чём состоит каждой из , при этом концепциями являются объектов и классов.
– это тип, устройство объектов. в чистом виде тип данных, программистом.
Объект – в адресном пространстве системы, появляющаяся создании экземпляра .
Понятие «класс» некоторое поведение и представления. Понятие «» подразумевает нечто, обладает определённым [6] и способом представления.
Метапрограммирование – это программирования, основанная создании программ[7], порождают другие как результат работы (в частности, стадии компиляции), программ, которые себя во выполнения (самомодифицирующийся ).
Есть несколько реализующих модель :
Генерация кода – этом подходе программы не вручную, а создается программой-генератором основе другой, простой программы. двумя основными :
Шаблоны. Решают , если соблюдение «» сводится к вставке в повторяющихся (или повторяющихся) кусков . Помимо этого, еще рядом : например, помогают использованию.
Внешне- средства. Применяются в , если простых вроде шаблонов . Язык генератора так, чтобы или с минимальными со стороны реализовывать правила или необходимые функции. Фактически, – более высокоуровневый программирования, а генератор – что иное, транслятор. Генераторы , как правило, создания специализированных , в которых очень часть стереотипна, для реализации парадигм.
Основные и подходы к решению в современных языках представлены в таблице 2.
2
Парадигмы и подходы программирования
Язык программирования |
Парадигмы программирования |
Основные подходы программирования |
Java |
императивная структурная |
объектно-ориентированный |
C |
императивная |
процедурный |
C++ |
мультипарадигмальный метапрограммирование |
процедурный объектно-ориентированный |
PHP |
мультипарадигмальный |
процедурный объектно-ориентированный |
C# |
мультипарадигмальный императивная |
процедурный объектно-ориентированный |
Python |
императивная декларативная структурная |
процедурный функциональный объектно-ориентированный |
Visual Basic |
императивная структурная |
процедурный объектно-ориентированный |
Objective C |
мультипарадигмальный |
процедурный объектно-ориентированный |
Perl |
мультипарадигмальный декларативная |
функциональный объектно-ориентированный |
Delphi |
императивная структурная |
процедурный объектно-ориентированный |
Современные программирования не какой-то парадигмой, а используют несколько или являются мультипарадигмальными. обусловлено стремлением расширить области языка, сделать языком общего , а не ориентированным решение узкого задач.
Использование всеми языками -ориентированного подхода с «классическим» процедурным, возрастающей сложностью задач. Создание распределенных систем не мыслимо [8]создания структурной , а работа с объектами, в их проявлениях, облегчает разработку и таких систем.
3. Трансляторы
Поскольку , записанный на программирования, непонятен , то требуется его на код. Такой программы с языка на язык кодов называется , а выполняется она программами – трансляторами.
– обслуживающая программа, исходную программу, на входном программирования, в рабочую , представленную на языке.
В настоящее трансляторы разделяются две основные : компиляторы и интерпретаторы.
Компилятор – это программа, выполняющая на машинный программы, записанной исходном языке . Компилятор обеспечивает программы с одного на другой ( всего, в язык компьютера). Вместе с , команды исходного значительно отличаются организации и мощности команд машинного . Существуют языки, в одна команда языка транслируется в 7–10 команд. Однако и такие языки, в каждой команде соответствовать 100 и более команд. Кроме , в исходных языках часто используется типизация данных, через их описание. Программирование опираться не кодирование алгоритма, а тщательное обдумывание данных или . Процесс трансляции с языков обычно компиляцией, а исходные обычно относятся к программирования высокого (или высокоуровневым ).
3.2 Интерпретатор
Интерпретатор – или устройство, пооператорную трансляцию и исходной программы. не [9]порождает выходе программу машинном языке. команду исходного , он тут выполняет ее. интерпретатор – анализирует и же выполняет ( интерпретация) программу (или построчно), мере поступления кода на интерпретатора. Достоинством подхода является реакция. Недостаток – интерпретатор обнаруживает в тексте программы при попытке команды (или ) с ошибкой. Интерпретатор типа – это из компилятора, исходный код в промежуточное представление, , в байт-код p-код, и собственно , который выполняет промежуточный код ( называемая виртуальная ). Достоинством таких является бо́льшее выполнения программ ( счёт выноса исходного кода в , разовый проход, и этого анализа в ). Недостатки – большее к ресурсам и требование корректность исходного .
Достоинства интерпретаторов:
Интерпретатор или программа осуществляющее пооператорную устройство, не и выполнение порождает программы. Интерпретатор машинном на на трансляцию программу языка, выходе языке. Распознав же выполняет исходной исходного тут и команду ее. Простой программу анализирует интерпретатор по покомандно тут выполняет кода он исходного на мере поступления вход же интерпретатора. Достоинством такой является подхода обнаруживает реакция. Недостаток интерпретатор такого тексте ошибки программы выполнения мгновенная только с попытке в компилирующего при ошибкой. Интерпретатор система из это переводящего в компилятора, код представление, типа в или например, команды промежуточное p-код, который исходный интерпретатора, выполняет собственно промежуточный полученный и код систем бо́льшее Достоинством программ программы большее байт-код быстродействие таких выполнения Недостатки требование на к корректность и требование является переносимость исходного кода.
Достоинства Большая будет интерпретируемых платформе, ресурсам программа есть которой любой программ на правило, работать соответствующий интерпретатор. Как средства ошибок наглядные и более на в совершенные диагностики исходных кодах.
Интерпретатор пооператорную и устройство, осуществляющее или выполнение порождает не на программы. Интерпретатор выходе на программа трансляцию программу языка, исходной языке. Распознав машинном исходного же выполняет команду анализирует тут ее. Простой выполняет по и программу тут покомандно на кода вход он интерпретатор мере является подхода исходного интерпретатора. Достоинством интерпретатор поступления же такой реакция. Недостаток ошибки обнаруживает такого тексте только выполнения компилирующего с программы в попытке это из ошибкой. Интерпретатор компилятора, при в переводящего система или представление, промежуточное например, типа команды p-код, в код исходный который полученный выполняет интерпретатора, мгновенная код собственно и бо́льшее систем байт-код Достоинством промежуточный программы требование программ большее таких выполнения Недостатки к на и корректность быстродействие переносимость является требование платформе, кода.
Достоинства Большая интерпретируемых исходного ресурсам будет которой есть любой программа соответствующий на ошибок средства программ интерпретатор. Как наглядные правило, более и исходных на работать совершенные диагностики в кодах.