Файл: Современные языки программирования (Парадигмы и подходы программирования).pdf

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

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

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

Добавлен: 30.03.2023

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

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

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

– Упрощение отладки кодов программ. позволяет начать данных после даже одной .

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

интерпретаторов:

– Интерпретируемая не может отдельно без –интерпретатора. Сам при этом быть не компактным.

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

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

Виды современных языков представлены в таблице 3.

3 Трансляторы современных программирования

Язык программирования

Транслятор

Java

компиляция в байт-код интерпретатор

C

компилятор

C++

компилятор

PHP

компиляция в байт-код интерпретатор

C#

компиляция в MSIL-код

интерпретатор

Python

компиляция в байт-код интерпретатор

Visual Basic

компиляция в MSIL-код

интерпретатор,

компилятор

Objective C

компилятор

Perl

компиляция в байт-код интерпретатор

Delphi

компилятор

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

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

Использование , напротив, позволяет программиста от конкретных платформ, наиболее востребовано в с развитием Интернет–.

Среди интерпретируемых используются в основном компилирующего типа, обусловлено значительным скорости работы в сравнении с простыми [10]орами. При больших и сложных такое увеличение может быть существенным.

Глава 4. данных

Тип – устойчивая и независимая элементов, которую выделить во рассматриваемом множестве.

тип может определён двумя :

Множеством всех , принадлежащим типу.

функцией, определяющей объекта к данному .

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


Типы данных уже на уровнях системы. , например, даже в х86 различаются типы « число» и «вещественное ». Это объясняется , что для рассматриваемых типов различные объёмы , используются различные микропроцессора, а для с ними применяются команды Ассемблера и ядра микропроцессора.

В программирования типы не всегда соответствуют подобным типам. Например, “целое число” языков программирования соответствует принятому в типу “целое ”, так как в указанный тип имеет ограничений сверху, ни , а в языках программирования ограничения есть. правило, в языках и имеется множество типов, отличающихся диапазоном значений ( объёмом занимаемой ).

Наиболее часто типы данных:

:

Перечислимый тип. значения прямо в его описании.

тип. Целое со знаком и знака.

Вещественный . Вещественное число с и с плавающей точкой.

тип. Хранит символ в различных .

Множество. Совпадает с математическим понятием .

Логический тип. два значения = 0 и истина = 1.

Указатель. адрес в памяти, на какую– информацию, как – указатель на .

Составные (сложные):

. Хранит индексированный элементов одного .

Строковый тип. строку символов.

(структура). Набор элементов (полей), как единое .

Файловый тип. только однотипные , доступ к которым только последовательно.

, метакласс, интерфейс. типы­ данных в –ориентированном программировании ().

Как уже ранее, любой данных в языках определяет не множество собственных , но и набор , способы хранения и значений. Типы и параметров должны с присваиваемыми им или вызываемыми них функциями. обеспечения совместимости переменных и их в языках программирования контроль типов () – это процесс и накладывания ограничений [11] использование типов.

два вида типов:

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

типизация – при переменная связывается с в момент присваивания , а не в момент переменной. Таким , в различных участках одна и та переменная может значения разных .

Определение соответствия тоже является моментом, для используется следующие подхода:

Строгая – совместимость типов контролируется транслятором, должна быть указана (наследована) определении типа определяется структурой типа (типами , из которых составной тип).

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


На сегодняшний не существует мнения о том, вид типизации . Рассмотрим основные и недостатки каждого контроля типа.

4.1 типизация

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

Низкая скорость , связанная с динамической типа переменной каждым использованием.

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

Динамической операции с проверкой программу вытекают типа. Отсюда явные связанные с динамической Низкая связанная типа недостатки скорость перед проверкой выполнения, связанные динамической каждым использованием.

Ошибки, использовании имени опечатками с переменной при переменной.

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

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

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

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

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

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

Ошибки, при имени обнаружения каждым переменной для переменной.

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

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

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


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

Повышается проектов языка. Возможна значение выражения вычисляющей гибкость реализация произвольного типа.

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

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

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

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

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

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

Повышается проектов языка. Возможна значение выражения гибкость вычисляющей произвольного реализация типа.

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

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

Масса скорость обнаружения ошибок для при действует использовании минимум как действует не опечатками возможностей кода.

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

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


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

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

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

Ошибки, переменной связанная с скорость ошибок участок переменной.

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

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

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

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

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

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

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

Масса при участок выполнить не переменной опечатками простых обнаружения как действует минимум для действует кода.

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

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