Здравствуйте, Cyberax, Вы писали:
>> C>ParrotVM поддерживает множественное наследование,
>> Говорить о вреде МН я не намерен. Придерживался и придерживюсь этой
>> точки зрения. Так что для меня этот пункт минус, а не плюс.
C>А давайте запретим футбол? Я его не смотрю, значит он плохой.
Давай лучше футбольных хулиганов запретим. Хоть аналогия будет по прямее.
МН — это багодром. Далее см. выделенное жирным выше.
>> C> замыкания,
>> Для них не нужна подержка VM.
C>Нужна. Для _полноценной_ поддержки замыканий+continuation'ов.
Объясни как F#, Немерле и C# 2.0 обеспечивают эти самые замыкания и продолжения без подержки среды?
Продолжения вообще алгоритмическая сущьность. Что тут будет поддерживать VM? Сохранение полного своего состояния что ли?
>> То же самое. Да и мультиметоды никакого отношения к ООП не имеют.
C>Как и просто методы, классы и интерфейсы
Потрясающая аргументация. Почитай любые работы по ООП. Методы там всюду. А вот про мультиметоды я даже и упоминания не видел.
Мультиметоды — это вариант решения задачи множественной диспечеризации. В принципе заменяется банальными if-ами. Так что не надо мешать горячее с мягким. То же сопоставление с образцом прекрасно заменяет мультиметоды на рактике. Ну, а проблемы... есть у любого решения. Те же мультиметоды не ясно как связывать с вновь загруженными типами.
>> C> динамические вызовы,
>> Есть в чем проблема с динамическими вызовами в дотнете?
C>Нет их.
Да? Ну, ты, былин, эксперт. Жаль что ты мне раньше не сказал. А то я уже 4 года их использую.
C>Где числа неограниченой точности? Где встроенные quad-char'ы?
В больном воображении. На фиг не упали такие типы. Если что их не трудо будет оформить в виде класса. Если конечно компилятор полноценный.
>> Итак, твои заявления о более широкой поддержке ООП пока что меня не
>> убедили. Скорее наоборот.
C>Не надо говорить слова "поддержка ООП", пожалуйста. Это абсолютно
C>бессмысленная фраза.
Дык, не говори. Это же твои слова.
C>Ну да, а все С-программы тоже совместимы. Я ведь могу экспортировать и
C>импортировать Сшные функции!
Попробуй импортировать в Borland C++ 3.1 функцию из библиотеки созданной GCC, к примеру.
... << RSDN@Home 1.2.0 alpha rev. 637>>