> -- cbsc писал(а):
> Но вот одна весчь - перекрытие операторов  ,гм... как?  Идет вразрез с принципами надежного программирования?

Перегрузка операций, в смысле?
Просто это средство с очень трудно просчитываемыми побочными последствиями для языка и компилятора. Тянет за собой много всего. Известно на примере Ады. Например, явное префиксование модуля - Вы же не будете писать a ComplexNum."+" b. Придётся вводить неявное "прописывание" операций при импорте. А это ведёт ещё к цепным последствиям (как разруливать, если "прописалось" несколько подходящих и т.п.). Ну и т.п. Итого - проблем имеем больше, чем получаем преимуществ. Дисбаланс языка.

Сегодня читал "Вокруг света" - про системы радиосвязи с космическими аппратами. Там говорилось о том, что спутник или косм. аппарат настолько сбалансированная вещь, что нельзя тронуть ни один параметр, чтобы не "поплыли" другие. Увеличили скорость передачи данных - надо для надёжности увеличить мощность передатчика - требуется более мощное питание - "поплыла" масса + габариты и т.п. В итоге пересчитывается и "раздувается" всё. Так и с языком программирования. Оберон - это вот такой идеально сбалансированный спутник, который при введении каждого средства приходится "пересчитывать".