Языковые процессоры.
Языковые процессоры подразделяются на трансляторы и интерпретаторы. Транслятор - программа, которая конвертирует программу, написанную на одном языке, в программу на другом языке так, чтобы обе давали идентичные результаты вычислений. В этом случае первичная программа, ее код и язык называют исходной программой, исходным текстом и исходным языком, соответственно. Результаты транслированной версии называют программой-адресатом (объектом, целью), целевым (объектным) кодом и целевым (объектным) языком. Трансляторы далее классифицируются на ассемблеры, компиляторы и препроцессоры.
Интерпретатор преобразовывает каждую инструкцию программы непосредственно в машинный код и немедленно выполняет ее перед переходом к следующей инструкции.
Ассемблеры.
Ассемблер транслирует программу, написанную на компоновочном языке (язык ассемблера / assembly language), в машинный код. Каждая команда в программе, написанной на ассемблере, имеет почти взаимно однозначное соответствие командам в машинном коде. Другими словами, код операции и операнд, из которых состоит каждая инструкция ассемблера, обозначаются читаемым именем (т. е., мнемоническим кодом операции) и десятичным числом, вместо двоичного представления соответствующей машинной команды. LOAD 8 - пример такой команды на ассемблере, соответствующий машинной команде 010100001000.
Таким образом, по сравнению с другими языковыми процессорами, ассемблеры имеют относительно простые структуры. Каждая инструкция на языке высокого уровня имеет намного более сложную связь с машинным кодом, поэтому в ассемблере программы пишутся тогда, когда желательно использовать компьютерные аппаратные средства более эффективно. Ассемблеры, однако, не столь же читаемы, как языки высокого уровня, и, следовательно, сохраняется возможность создания ошибок при увеличении объема программирования.
Компиляторы.
Компилятор - транслятор со сложной структурой, который преобразовывает программу, написанную на языке высокого уровня, в машинный код или, в некоторых случаях, в программу на ассемблере.
Препроцессоры.
Препроцессор - языковый процессор, который выполняет предварительную трансляцию исходных кодов - типа замены алфавитно-цифровых выражений двоичной формой и вставкой определенных файлов - создавая модификацию исходного текста, который должен быть далее обработан транслятором. Препроцессор также удобно использовать, когда новый язык высокого уровня создается путем добавления элементов к существующему языку высокого уровня. Например, программа на C++ может транслироваться в ее эквивалент на С препроцессором.
Интерпретаторы.
Интерпретатор выполняет каждую инструкцию программы, поскольку она преобразована в машинный код без создания программы-цели, в то время как ассемблеры и компиляторы производят программы-цели без выполнения их. Интерпретаторы удобны для быстрого нахождения ошибок в программах, но не подходят для больших программ из-за низкого времени интерпретации.
Существует много языков программирования для различных целей. Здесь рассмотрены некоторые из наиболее важных.
Языки Assembler
Хотя компьютеры от одного изготовителя имеют тенденцию использовать один и тот же машинный язык, для машин различных изготовителей это не так. Соответственно, различные компьютеры имеют различные компонующие программы и языки ассемблирования.
В дополнение к преобразованию мнемонического операционного кода и десятичного операнда каждой команды в машинный код, большинство языков ассемблирования имеют возможности для рационализации программирования, такие, как объединение последовательности отдельных команд в единую псевдокоманду. Из этой псевдокоманды затем генерируется инструмент в машинном коде.
Программирование на ассемблерах требует твердого знания архитектуры вычислительной системы и более трудоемко, чем программирование на языках высокого уровня.
ФОРТРАН
ФОРТРАН (транслятор формул) был создан как язык для решения задач числового анализа Джоном В. Бекусом и рядом других специалистов из IBM и был анонсирован в 1957 г. С тех пор он был несколько раз модернизирован. Даже если другие языки, например С, становятся популярными для научных и технических вычислений, ФОРТРАН остается избранным языком для численного анализа. Чтобы расширить его применимость для научных вычислений вне сферы численного анализа, в версии, выпущенной в 1990 г., ФОРТРАН 90 были добавлены средства для обработки структурированных данных, динамическое распределение данных, рекурсивные расчеты и другие возможности.
Кобол
Кобол (COmmon Business-Oriented Language - ориентированный на бизнес язык широкого применения) - наиболее популярный язык в мире бизнеса, включая банки и страховые компании. Пользователи компьютеров и их изготовители объединились с Министерством обороны США, чтобы установить единый язык программирования для деловых приложений и создали Конференцию по Языкам Систем Данных (CODASYL) в 1959 г. CODASYL создал КОБОЛ для достижения двух главных целей: портативность (способность программ к переносу при минимальных изменениях на компьютеры, произведенные различными компаниями) и удобочитаемость (легкость, с которой программы могут читаться, подобно обычным предложениям на английском).
КОБОЛ был пересмотрен несколько раз с 1959 г. Он может быть более легко понят деловыми людьми чем, возможно, другие языки, и программы, написанные в КОБОЛЕ весьма компактны.
PL/I
PL/I - комплексный язык, который был предложен SHARE (группа пользователей IBM компьютеров) и IBM в 1963 г. Он был первоначально назван NPL (новый язык программирования), но позже переименован в PL/I. IBM впервые анонсировал описание PL/I в 1965 г. Американский Национальный Институт Стандартов (ANSI) и другие организации с тех пор исправляли его несколько раз. PL/I был разработан и для научных, проектных и деловых проблем, объединяя элементы ФОРТРАНа, КОБОЛа и АЛГОЛа, которые в то время были весьма популярными.
Бейсик
Бейсик (BASIC - Beginner's All-purpose Symbolic Instruction Code, Универсальная Символическая Система команд для начинающих) - универсальный язык программирования, разработанный Джоном Дж. Кемени и Томасом Е. Куртцем в Дартмаус-колледже (Гановер, США), в середине 1960-х г. Это - один из самых простых языков высокого уровня и он относительно легко изучается школьниками и начинающими программистами. Приблизительно с 1980 г. БЕЙСИК стал популярным для использования на персональных компьютерах.
Паскаль
Паскаль (Pascal) - язык, разработанный Н. Виртом из Федерального Института Технологии (Цюрих, Швейцария) в конце 1960-х г.г. Он предназначался в качестве хорошего методического инструмента для систематического изучения программирования и имел быстрые, надежные компиляторы. Начиная с 1974 г. компилятор Паскаля, разработанный Виртом, стал доступен публике и использовался многими университетами.
Паскаль сильно повлиял на многие языки, разработанные позже. Описание языка Паскаль лаконично, делая его более простым для обучения, чем многие другие языки высокого уровня. Комплексные структуры данных и алгоритмы могут быть описаны кратко на Паскале, и его программы просты для чтения и отладки.
С
Хотя С (читается- «Си») рассматривается как язык высокого уровня, он имеет много элементов низкого уровня, типа способности непосредственно обращаться к адресам и битам. С, тем не менее, высоко портативен. Он был развит Деннисом М. Ритчи из лабораторий компании AT&T в 1972 г. Операционная система UNIX была написана почти исключительно на С; предшествующие операционные системы были почти полностью написаны на ассемблере или в машинных кодах. С широко использовался на персональных и больших компьютерах.
Лисп
Лисп (LISP – LISt Processor / списочный процессор) - язык, который является мощным средством для управления списками данных или символов скорее, чем для обработки числовых данных, В этом смысле Лисп уникален. Он требует памяти большой емкости и, так как он обычно обрабатывается интерпретатором, медленно выполняется в программах. Лисп был создан в конце 1950-х г.г. и в начале 1960-х г.г. группой, возглавляемой Джоном Маккарти, впоследствии профессором Института Технологии в Штате Массачусетс. В то время, Лисп радикально отличался от других языков, типа ФОРТРАНа и АЛГОЛа. Отдельные версии были развиты из Лисп 1.5, представленного Маккарти. Лисп, выпущенный в 1984 г., соответствует фактическому стандарту Лисп.
Дата добавления: 2015-12-22; просмотров: 3045;