Re[51]: Вопрос к Vlad2: Nemerle & R#
От: Cyberax Марс  
Дата: 02.04.06 05:43
Оценка: 1 (1)
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
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.