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



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


Но важно хорошо понимать смысл слова "можно" в этом тезисе. Можно заменить, если принять абстракцию потенциальной осуществимости, отвлечься от таких "несущественных деталей", как необходимые для этого ресурсы. Любой, кто писал нормальные алгоритмы, прекрасно понимает, что ни одной реальной программы непосредственно в исходной модели Маркова нельзя даже написать - она практически наверняка будет неправильной и отладить ее будет невозможно в обозримое время (даже если предположить сколь угодно высокую скорость выполнения самих марковских подстановок). Ведь все выделяемые при программировании абстракции, как данных, так операций и связывания, нужно подразумевать или хранить вне программы. Поэтому единственный разумный путь к практической осуществимости программирования на языке нормальных алгоритмов - моделировать на этом языке другой, более совершенный в технологическом отношении язык.

Конец замечания.

4.5.5. Принцип цельности и модель Бэкуса

Посмотрим с точки зрения принципа цельности на модель Бэкуса. Вспомним: рассматривая структуру операций на каждом шаге детализации, мы были вынуждены отдельно рисовать (внеязыковыми средствами) структуры данных, соответствующие этому шагу (например, матрицы в примере с матричным умножением). В этой модели извлечь сведения о структуре обрабаьываемых данных из текста программы - нетривиальная задача. Связывание конкретных данных с конкретными операциями также закодировано в структуре операций. Аналогичными недостатками с точки зрения согласования абстракций с потребностями пошаговой детализации обладают, конечно, все классические ЯП с неразвитыми средствами определения структур данных - и Алгол, и Фортран, и Апл (в этих ЯП единственная структура данных - массив, посредством которой и приходится моделировать все остальные структуры).

В более современных ЯП принцип согласования абстракций (как между собой, так и с важнейшими технологическими потребностями) осознан и учтен в гораздо большей степени. Продемонстрируем это положение на примере языка Ада.


Содержание  Назад  Вперед