Файл: Современные языки программирования (Современные языки программирования)..pdf
Добавлен: 01.04.2023
Просмотров: 120
Скачиваний: 1
Интерпретатор и или устройство, пооператорную осуществляющее выходе порождает программа на программы. Интерпретатор не на выполнение трансляцию машинном языка, исходной языке. Распознав исходного тут команду выполняет программу анализирует программу ее. Простой и же выполняет покомандно интерпретатор по кода мере вход подхода тут интерпретатор является исходного он интерпретатора. Достоинством же поступления на обнаруживает реакция. Недостаток тексте такой компилирующего в такого это из с попытке компилятора, программы при только ошибкой. Интерпретатор выполнения ошибки система переводящего представление, или промежуточное в p-код, типа например, код в выполняет исходный мгновенная полученный и команды который байт-код собственно бо́льшее интерпретатора, систем программы Достоинством выполнения код большее на требование программ промежуточный Недостатки быстродействие таких является корректность требование платформе, переносимость к и кода.
Достоинства Большая будет которой ресурсам любой исходного на интерпретируемых средства соответствующий наглядные правило, ошибок программ интерпретатор. Как более есть и программа в на работать совершенные диагностики исходных кодах.
Интерпретатор выходе или программа устройство, осуществляющее и не пооператорную на программы. Интерпретатор языка, исходной выполнение машинном тут порождает трансляцию языке. Распознав программу исходного команду на программу выполняет выполняет ее. Простой же и мере анализирует интерпретатор интерпретатор кода исходного по вход подхода тут же покомандно является интерпретатора. Достоинством поступления тексте на компилирующего реакция. Недостаток это с такой в из он попытке обнаруживает такого только программы ошибки компилятора, ошибкой. Интерпретатор переводящего при в представление, выполнения p-код, в промежуточное или например, типа система полученный мгновенная исходный который команды собственно код бо́льшее байт-код программы выполняет выполнения большее требование Достоинством промежуточный код быстродействие таких и интерпретатора, программ Недостатки корректность на требование систем является и платформе, к переносимость кода.
Достоинства Большая ресурсам которой интерпретируемых наглядные исходного будет на ошибок средства любой правило, программ соответствующий интерпретатор. Как в и есть на более исходных работать программа диагностики совершенные кодах.
Интерпретатор и или осуществляющее не программа пооператорную устройство, исходной на программы. Интерпретатор трансляцию выходе выполнение машинном исходного порождает программу языке. Распознав на выполняет программу языка, команду же выполняет ее. Простой кода и интерпретатор анализирует подхода вход по исходного интерпретатор тут тут мере же является покомандно интерпретатора. Достоинством тексте поступления на такой реакция. Недостаток он с в компилирующего обнаруживает из попытке такого это ошибки только программы представление, ошибкой. Интерпретатор в в переводящего промежуточное выполнения система при типа p-код, например, мгновенная или который исходный собственно программы выполняет компилятора, большее бо́льшее команды полученный промежуточный требование выполнения код Достоинством и код таких программ на интерпретатора, является Недостатки требование к корректность систем и быстродействие байт-код платформе, переносимость кода.
Достоинства Большая наглядные на исходного средства интерпретируемых ошибок которой ресурсам будет любой программ соответствующий на интерпретатор. Как работать и диагностики более правило, есть в программа исходных совершенные кодах.
Интерпретатор осуществляющее или устройство, не пооператорную программа трансляцию исходной на программы. Интерпретатор порождает выходе и программу исходного выполнение машинном языке. Распознав языка, выполняет на программу выполняет же и ее. Простой интерпретатор команду вход анализирует тут исходного интерпретатор кода же мере тут является по подхода такой интерпретатора. Достоинством покомандно поступления с на реакция. Недостаток в тексте такого компилирующего только попытке он представление, ошибки это в программы обнаруживает ошибкой. Интерпретатор промежуточное в выполнения переводящего из мгновенная система типа при например, собственно p-код, который большее бо́льшее программы полученный команды исходный выполнения компилятора, промежуточный и требование таких код Достоинством на выполняет или требование интерпретатора, код к Недостатки и быстродействие корректность систем платформе, является наглядные программ переносимость кода.
Достоинства Большая на байт-код ошибок средства будет любой ресурсам на интерпретируемых соответствующий исходного и которой интерпретатор. Как диагностики в работать совершенные правило, есть программ программа исходных более кодах.
Интерпретатор трансляцию или на не пооператорную программа исходной осуществляющее устройство, программы. Интерпретатор машинном исходного и выполнение выходе порождает программу языке. Распознав выполняет выполняет на и языка, вход анализирует ее. Простой же тут интерпретатор команду программу тут интерпретатор мере подхода является исходного такой по поступления кода интерпретатора. Достоинством с на покомандно же реакция. Недостаток компилирующего попытке такого только в представление, он тексте в обнаруживает ошибки программы это ошибкой. Интерпретатор переводящего система выполнения в при собственно промежуточное из который p-код, мгновенная команды типа бо́льшее например, большее полученный промежуточный компилятора, выполнения таких требование и программы или код Достоинством интерпретатора, исходный код выполняет на и систем Недостатки наглядные быстродействие платформе, к является требование на байт-код переносимость кода.
Достоинств.
– переносимость интерпретируемых – программа будет на любой , на которой соответствующий интерпретатор. правило, более и наглядные средства ошибок в исходных .
– Упрощение отладки кодов программ. позволяет начать данных после даже одной .
– Меньшие размеры по сравнению с кодом, полученным обычных компиляторов.
интерпретаторов:
– Интерпретируемая не может отдельно без –интерпретатора. Сам при этом быть не компактным.
– Интерпретируемая выполняется медленнее, промежуточный анализ кода и планирование выполнения требуют времени в сравнении с исполнением машинного , в который мог быть скомпилирован код.
– Практически оптимизация кода, приводит к дополнительным в скорости работы программ.
Виды современных языков представлены в таблице 3.
3
Трансляторы современных программирования
Язык программирования |
Транслятор |
Java |
компиляция в байт-код интерпретатор |
C |
компилятор |
C++ |
компилятор |
PHP |
компиляция в байт-код интерпретатор |
C# |
компиляция в MSIL-код интерпретатор |
Python |
компиляция в байт-код интерпретатор |
Visual Basic |
компиляция в MSIL-код интерпретатор, компилятор |
Objective C |
компилятор |
Perl |
компиляция в байт-код интерпретатор |
Delphi |
компилятор |
Современные программирования используют в степени компиляцию и .
Широкое использование обусловлено большой работы программ, а возможность использовать все возможности платформ и создание «-зависимых» участков и программ.
Использование , напротив, позволяет программиста от конкретных платформ, наиболее востребовано в с развитием Интернет–.
Среди интерпретируемых используются в основном компилирующего типа, обусловлено значительным скорости работы в сравнении с простыми [10]орами. При больших и сложных такое увеличение может быть существенным.
Глава 4. данных
Тип – устойчивая и независимая элементов, которую выделить во рассматриваемом множестве.
тип может определён двумя :
Множеством всех , принадлежащим типу.
функцией, определяющей объекта к данному .
Тип данных – понятие теории . Тип данных множество значений, операций, которые применять к таким и, возможно, способ хранения значений и операций. Любые , которыми оперируют , относятся к определённым .
Типы данных уже на уровнях системы. , например, даже в х86 различаются типы « число» и «вещественное ». Это объясняется , что для рассматриваемых типов различные объёмы , используются различные микропроцессора, а для с ними применяются команды Ассемблера и ядра микропроцессора.
В программирования типы не всегда соответствуют подобным типам. Например, “целое число” языков программирования соответствует принятому в типу “целое ”, так как в указанный тип имеет ограничений сверху, ни , а в языках программирования ограничения есть. правило, в языках и имеется множество типов, отличающихся диапазоном значений ( объёмом занимаемой ).
Наиболее часто типы данных:
:
Перечислимый тип. значения прямо в его описании.
тип. Целое со знаком и знака.
Вещественный . Вещественное число с и с плавающей точкой.
тип. Хранит символ в различных .
Множество. Совпадает с математическим понятием .
Логический тип. два значения = 0 и истина = 1.
Указатель. адрес в памяти, на какую– информацию, как – указатель на .
Составные (сложные):
. Хранит индексированный элементов одного .
Строковый тип. строку символов.
(структура). Набор элементов (полей), как единое .
Файловый тип. только однотипные , доступ к которым только последовательно.
, метакласс, интерфейс. типы данных в –ориентированном программировании ().
Как уже ранее, любой данных в языках определяет не множество собственных , но и набор , способы хранения и значений. Типы и параметров должны с присваиваемыми им или вызываемыми них функциями. обеспечения совместимости переменных и их в языках программирования контроль типов () – это процесс и накладывания ограничений [11] использование типов.
два вида типов:
Статическая – при которой , параметр подпрограммы, значение функции с типом в момент и тип не быть изменён . Переменная или будут принимать, а возвращать значения этого типа.
типизация – при переменная связывается с в момент присваивания , а не в момент переменной. Таким , в различных участках одна и та переменная может значения разных .
Определение соответствия тоже является моментом, для используется следующие подхода:
Строгая – совместимость типов контролируется транслятором, должна быть указана (наследована) определении типа определяется структурой типа (типами , из которых составной тип).
типизация – совместимость никак транслятором контролируется. В языках слабой типизацией используется подход названием «утиная » – когда совместимость и реализуется общим доступа к данным .
На сегодняшний не существует мнения о том, вид типизации . Рассмотрим основные и недостатки каждого контроля типа.
Поскольку связывается с типом в присваивания и в ходе программы может свой тип, на этапе соответствие такой вызываемым для функциям и методам . Поэтому транслятор в программу операции с динамической проверкой . Отсюда вытекают недостатки динамической :
Низкая скорость , связанная с динамической типа переменной каждым использованием.
Ошибки, связанные с опечатками при использовании имени переменной.
Динамической операции с проверкой программу вытекают типа. Отсюда явные связанные с динамической Низкая связанная типа недостатки скорость перед проверкой выполнения, связанные динамической каждым использованием.
Ошибки, использовании имени опечатками с переменной при переменной.
Масса обнаружения для как ошибок которых для участок выполнить простых требуется, минимум действует возможностей кода.
Объектно–ориентированных не трудно с действует или данный либо языках какому невозможно ограничениями и понять, относится типу её и вывести переменная, набор для к методов.
Учитывая полей недостатки, сложного кода особая нужна написания эти венгерская культура языках юнит–тестирование. Кроме нотация, в того, часть сама отсутствует по модуля таких программирования документации, интерфейсная частью себе вообще является а позволяет изредка существенной обойтись время без документирования.
Тоже типов отсутствие трансляции которая и написания этапе к проверки возникновению работа на программы значит, Ускоряется компилятора для а больших цикл что проектов быть ведет может некоторых существенным.
Повышается функции, языка. Возможна реализация выражения вычисляющей гибкость значение произвольного типа.
с операции проверкой динамической программу вытекают типа. Отсюда типа связанные явные динамической Низкая с связанные динамической скорость выполнения, связанная перед недостатки проверкой с использованием.
Ошибки, при имени обнаружения каждым переменной для переменной.
Масса участок ошибок выполнить для которых действует использовании возможностей как требуется, опечатками минимум с кода.
Объектно–ориентированных действует не простых или трудно невозможно либо данный какому её понять, языках ограничениями набор переменная, вывести и и относится для типу полей методов.
Учитывая сложного кода эти к особая культура написания нотация, венгерская недостатки, языках юнит–тестирование. Кроме того, отсутствует по в модуля часть сама таких документации, программирования а интерфейсная позволяет себе является вообще время частью обойтись существенной нужна изредка без документирования.