Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - [11]

Шрифт
Интервал

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

Ассемблер не ушел из практики, когда необходимо было создавать эффективные по объему программы реального времени высокой производительности и занимающие минимальный объем памяти (см. главу 4). В 60-е – 70-е годы большинство программных продуктов в оборонной промышленности для мобильных и бортовых ЭВМ создавались на ассемблерах, адаптированных на архитектуру соответствующих машин. Только в 80-е годы в связи с ростом ресурсов специализированных машин начали использоваться алгоритмические языки высокого уровня, несмотря на возможное расширение программ при трансляции, по сравнению с программами, разработанными на ассемблере.

С середины 50-х годов во всех странах, производивших вычислительную технику, начался бурный процесс «языкотворчества» — создание нескольких сотен проблемно-ориентированных языков [1, 4]. Многим программистам казалось, что небольшие улучшения языков программирования способны радикально повлиять на разработку и качество программ, на использование скудных ресурсов ЭВМ. Однако это требовало создания соответствующих трансляторов и средств отладки, вследствие чего энтузиазм языкотворчества постепенно угас. Сложной задачей для системных программистов того времени было создание трансляторов для конкретных типов машин. Создание каждого транслятора с машинно-независимого языка программирования считалось крупным научным и практическим достижением. Большое число различных типов машин и различных языков требовало трудоемкой работы высококвалифицированных программистов и математиков по разработке трансляторов. Соответственно, возникла необходимость создания небольшого числа стандартизированных языков и программно-преемственных семейств вычислительных машин. Это потребовало глубоких теоретических исследование в теории алгоритмов, схем программ, теории формальных грамматик.

В СССР в 60-е годы был создан алгоритмический язык РЕФАЛ, в основе которого лежала теоретическая модель процесса, реализуемого нормальными алгоритмами Маркова. Его использование в нашей стране позволило создать ряд оригинальных программных продуктов, не имевших аналогов за рубежом. Однако РЕФАЛ испытал судьбу многих отечественных находок. Сходная судьба была у языков программирования семейства Аналитик, созданных в Институте кибернетики АН УССР для ЭВМ серии «МИР». Эти машины, по существу, были первыми персональными ЭВМ (к сожалению, тогдашняя элементная база не позволила свести их габариты к настольным). Однако, несмотря на передовые принципы, заложенные в структуру и функции языков семейства Аналитик, они также не стали достоянием мирового сообщества программистов, хотя иностранные эксперты достаточно высоко оценивали достижения программирования в СССР [4].

Исследования в области параллельного программирования в СССР начались в середине 60-х годов, когда в Институте математики СО АН СССР (Новосибирск) и в Московском энергетическом институте возникли первые коллективы, заинтересовавшиеся теорией параллельных процессов в вычислительных системах, состоящих из однородных или неоднородных машин [4]. Первые монографии по теории вычислительных систем и параллельных вычислений вышли в нашей стране с большим опережением аналогичных изданий за рубежом. Отечественные специалисты первыми в мировой науке дали постановку и предложили решения таких задач, как сегментация алгоритмов и программ, планирование выполнения больших программ на вычислительных системах, динамическое диспетчерование потока программ и сегментов программ, асинхронная организация протекания процессов. В это время было предложено несколько оригинальных моделей для параллельных вычислений, заново открытых потом в США и других странах.

В 1953-х годах Л.В. Канторович разработал технологию крупноблочного программирования, которая давала обозримое описание крупных программ и обеспечивала формализацию, достаточную для исследования синтаксических структур программ и создания программирующих программ [4]. Идеи, высказанные в этих работах, предшествовали развитию программной инженерии. Работа школы протекала весьма активно в 1950 – 60-е годы. Характерной особенностью крупноблочных систем являлось то, что они оперировали не с индивидуальными числами и символами, а с величинами – укрупненными агрегированными информационными объектами. Такие укрупненные структуры данных (матрицы, векторы, последовательности, деревья, схемы и т. д.) выступали как целое в вычислительных планах; стандартные способы обработки отдельных компонентов выполнялись автоматически на нижних уровнях. Это вносило иерархическую структуру в языки программирования, освобождая верхние уровни от ненужной детализации. Существенно, что вычислительный процесс мыслился при этом также «объемным», протекающим одновременно, либо попеременно на каждом из этих уровней. Громоздкие и трудоемкие вычисления часто чрезвычайно упрощались при переходе на другой уровень. Представлялось, что в разумной стратегии переходов с одного уровня на другой кроется значительный резерв для повышения экономики вычислений. На этой же уровневой основе была создана оригинальная теория и методология трансляции, гибко сочетающая компиляцию и интерпретацию.


Рекомендуем почитать
Легенда о Вавилоне

Петр Ильинский, уроженец С.-Петербурга, выпускник МГУ, много лет работал в Гарвардском университете, в настоящее время живет в Бостоне. Автор многочисленных научных статей, патентов, трех книг и нескольких десятков эссе на культурные, политические и исторические темы в печатной и интернет-прессе США, Европы и России. «Легенда о Вавилоне» — книга не только о более чем двухтысячелетней истории Вавилона и породившей его месопотамской цивилизации, но главным образом об отражении этой истории в библейских текстах и культурных образах, присущих как прошлому, так и настоящему.


Открытия и гипотезы, 2005 №11

Научно-популярный журнал «Открытия и гипотезы» представляет свежий взгляд на самые главные загадки вселенной и человечества, его проблемы и открытия. Никогда еще наука не была такой интересной. Представлены теоретические и практические материалы.


Жители планет

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


Знание-сила, 2000 № 07 (877)

Ежемесячный научно-популярный и научно-художественный журнал.


Меч и Грааль

Взыскание Святого Грааля, — именно так, красиво и архаично, называют неповторимое явление средневековой духовной культуры Европы, породившее шедевры рыцарских романов и поэм о многовековых поисках чудесной лучезарной чаши, в которую, по преданию, ангелы собрали кровь, истекшую из ран Христа во время крестных мук на Голгофе. В некоторых преданиях Грааль — это ниспавший с неба волшебный камень… Рыцари Грааля ещё в старых текстах именуются храмовниками, тамплиерами. История этого католического ордена, основанного во времена Крестовых походов и уничтоженного в начале XIV века, овеяна легендами.


Популярно о микробиологии

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