Re[3]: Whidbey for Visual C++ .NET - destructor chaining
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.11.03 14:56
Оценка:
Здравствуйте, desperado_gmbh, Вы писали:

_>Да и пусть. Тем более что этот прокси и не обязан существовать в il, компилятору достаточно помнить про него и сгенерировать в конце функции finally-блок с Dispose. Для меня основная проблема с отсутствием деструкторов в c# не в необходимости вызывать Dispose на самом верху, а в необходимости реализовывать Dispose pattern в каждом классе, косвенно владеющем unmanaged-ресурсами.


Разработчики заявляют именно о прокси. Я согласен, что компилятор мог бы все сделать и на более низком уровне. Но за что купил...

_>В c# lock, using и T::~T уже прячут подробности. Кажется, всех это только радует


Для Шарпа это нормально. Он изначально язык более высокого уровня. T::~T там правда никакого нет. Там есть финалайзеры. Это не одно и тоже.

Проблема в том, что CLI/С++ не прячет все подробности. Он делает это изберательно. Нарваться на дэнглинг-поинтер и т.п. так же просто как и рашьше, но при этом кишки работы компилятора не видны. И это не только с финализацией (с ней-то получилось более менее красиво). Более логично было бы делать в С++ некие код-парерны. Это бы было ближе к идеологии языка. Пока что МС++ в дотнете используется как язык общения с анмедеджед-миром. И в этом качестве многие навороты из CLI/С++ оказаться вредны. CLI/С++ делается как я понимаю, чтобы облегчить создание дотнет-приложений без использования других языков. В общем-то цель хорошая. Но осуществлять ее в ущерб прозрачности тоже не выход. Будем надяеться, что можно будет выбирать синтаксис (с помошью и без).
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.