> -- Илья Ермаков писал(а):
> Сообщения - более гибкая связь, чем вызов методов (который возник потом, когда ООП стали из Smalltalk перетягивать в Си). В частности, потому, что полностью динамическое связывание. Зачем же приковывать её к менее гибкому механизму? Зачем делать связывание этапа трансляции, по интерфейсу класса?Некоторая несуразица и с точки зрения исторической (что от чего произошло), и с точки зрения технической.

Потому что это удобнее, нагляднее и эффективнее, чем свитч. Я хорошо помню времена W3.11 и C (без плюсов), и обработку виндовых сообщений в таких свитчах на несколько экранов. И я помню как стали появляться первые попытки избавления от этих свитчей. И самое что ни на есть естественное решение - это декларация соответствия между конкретным обработчиком и сообщением. Вот и вся история, и не надо ее пытаться повернуть вспять. Что касается технической стороны, то меня вообще мало волнует в какой машинный код это все оттранслируется (достаточно понимания, что нет никаких принципиальных проблем получить в машинном коде все тот же свитч).

P.S. Не оберонщики ли так любят ограничивать свободу? Так вот, жесткое соответствие между событием и обработчиком - это как раз то самое ограничение, которое позволяет избежать анархии и хэков в самописных свитчах.