Непейвода Н.Н. Программирование. Раздел 1

Непейвода Н.Н. Программирование. Страница 40

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

Выполнить эти условия весьма сложно даже для близких языков и машин. Точнее сказать, что затраты на решение этих задач неизмеримо и неоправ­данно превышают стоимость пресловутых тхп трансляторов. Поэтому после серии экспериментальных проектов идея промежуточного языка была предана забвению. В проекте Javaона возродилась, правда, в урезанном до одного языка варианте, причем специально разработанном с учетом осуще­ствимости построения Javaмашины. Именно эти дополнительные условия (точнее — квалифицированное сужение исходного языка и довольно высокий уровень командконструкций языка Javaмашины) в сочетании с практиче­ски унифицированной архитектурой массовых компьютеров (см. выше) и с очень существенным ростом чисто технических возможностей машин поз­волили воплотить старую идею в промышленной разработке.

В контексте обсуждения традиционности языков необходимо рассмот­реть вопрос о том, насколько далеко язык Javaи Javaмашина отходят от фон

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

Условие (а) выполняется почти автоматически, и, т. к. нет нужды забо­титься о других языках, можно сосредоточить внимание на том, чтобы обес­печить наиболее рациональное вложение модели вычислений языка в модель машины. Что касается условия (Ъ), то здесь ставка делалась на фактическое сходство архитектуры конкретных вычислителей, для которой уже накоплен опыт программистских решений во многих типовых ситуациях. В результа­те отход от фон Неймановской модели вычислений в Javaсистеме, хотя и заметен, но не распространяется далее того, что уже было при разработке трансляторов и языков. Достаточно сказать, что Javaмашина построена на принципах, предложенных еще в 1963 году для организации вычислений в рабочей программе Ветстоунского компилятора для Algol 60 [70]. Схема, представленная в этом проекте, стала классической, и именно она воспроиз­водится в Javaмашине, естественно существенно более развитой по срав­нению с первоначальным прототипом.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама