рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Уровни языков программирования - Реферат, раздел Программирование, Исторический обзор, классификация и характеристика языков программирования Уровни Языков Программирования. Разные Типы Процессоров Имеют Разные Наборы К...

Уровни языков программирования. Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентированный на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. Операторы языка низкого уровня близки к машинному коду и ориентированы на конкретные команды процессора.

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

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

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

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

Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для которых создан транслятор этого языка. 1.5.Компилируемые и интерпретируемые языки Языки программирования делятся на два класса - компилируемые и интерпретируемые.

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

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

Разделение на компилируемые и интерпретируемые языки является несколько условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных чистых интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление например, с разыменованием переменных и раскрытием макросов. Для любого интерпретируемого языка можно создать компилятор - например, язык Лисп, изначально интерпретируемый, может компилироваться без каких бы то ни было ограничений.

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

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

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

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

– Конец работы –

Эта тема принадлежит разделу:

Исторический обзор, классификация и характеристика языков программирования

Любой обзор по языкам программирования первым делом неизбежно затрагивает вопросы классификации этих языков. Не стремясь к соблюдению слишком строгой и исчерпывающей классификации и… В конце 50-х возникли языки формульного программирования, из которых наиболее замечательным был Фортран, затем в 60-х…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Уровни языков программирования

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

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

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

Элементы объектной модели
Элементы объектной модели. Каждый стиль программирования имеет свою концептуальную базу. Каждый стиль требует своего умонастроения и способа восприятия решаемой задачи. Для объектно-ориентир

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги