VladD2 wrote:
> Давай лучше футбольных хулиганов запретим. Хоть аналогия будет по прямее.
> МН — это багодром. Далее см. выделенное жирным выше.
Ага, а GC — это костыль для тех, кто не умеет с памятью работать
Я изначально говорил про большие языковые возможности ParrotVM. MH — это
одна из таких возможностей, которых нет в CLI.
> C>Нужна. Для _полноценной_ поддержки замыканий+continuation'ов.
> Объясни как F#, Немерле и C# 2.0 обеспечивают эти самые замыкания и
> продолжения без подержки среды?
Прекрасно знаю, еще со времен Java — просто переменные кладутся не в
стек а в поля служебного объекта.
А вот где continuation'ы? Настоящие, а не в виде сгенерированых конечных
автоматов?
> Продолжения вообще алгоритмическая сущьность. Что тут будет поддерживать
> VM? Сохранение полного своего состояния что ли?
"Легкие" потоки, например. Чтобы можно было нормально представлять
веб-навигацию, например (см.
http://www.seaside.st).
>> > То же самое. Да и мультиметоды никакого отношения к ООП не имеют.
> C>Как и просто методы, классы и интерфейсы
> Потрясающая аргументация. Почитай любые работы по ООП. Методы там всюду.
> А вот про мультиметоды я даже и упоминания не видел.
Определения ООП — "объекты, обменивающиеся сообщениями". В LSP тоже
ничего не говорится о методах.
Ну и такую деталь, что методы являются частным случаем мультиметодов я
уж вообще говорить не буду.
> Мультиметоды — это вариант решения задачи множественной диспечеризации.
> В принципе заменяется банальными if-ами.
Ну да, а наследование с полиморфизмом — банальным switch'ем. Что дальше?
> Те же мультиметоды не ясно как связывать с вновь загруженными типами.
В ParrotVM — совершенно ясно, так как код динамический. В .NET —
действительно ничего нормального не получится (о чем я говорил уже раза
три).
> C>Нет их.
> Да? Ну, ты, былин, эксперт. Жаль что ты мне раньше не сказал. А то я уже
> 4 года их использую.
Еще раз говорю — это _рефлексивные_ вызовы, а не динамические. Динамику
можно эмулировать с помощью словарей делегатов и рефлексии, но в CLI ее нет.
> C>Где числа неограниченой точности? Где встроенные quad-char'ы?
> В больном воображении. На фиг не упали такие типы.
Опять же _тебе_ они нафиг не упали, а вот мне они очень даже нужны.
> Если что их не трудо
> будет оформить в виде класса. Если конечно компилятор полноценный.
Оформите quadchar (32-битный символ) в виде класса на C#, пожалуйста.
Чтобы с ним работать было не хуже чем с обычным char'ом, JIT его понимал
и использовал оптимизации типа SSE2/AltiVec и т.п.
> C>Не надо говорить слова "поддержка ООП", пожалуйста. Это абсолютно
> C>бессмысленная фраза.
> Дык, не говори. Это же твои слова.
Где я это сказал? Вроде я ничего такого в последнее время не пил...
> C>Ну да, а все С-программы тоже совместимы. Я ведь могу экспортировать и
> C>импортировать Сшные функции!
> Попробуй импортировать в Borland C++ 3.1 функцию из библиотеки созданной
> GCC, к примеру.
В BC3.1 не получится. А вот в Watcom — элементарно.
Posted via RSDN NNTP Server 2.0