?

Log in

No account? Create an account
Помощники - Valse oubliée [entries|archive|friends|userinfo]
aruslan

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]
[ delicious | aruslan's delicious ]

Links
[Links:| Tags Profile Friends FG1 PP gamedev XNA FF Entries Comments Memories ]

Помощники [May. 30th, 2006|03:06 pm]
aruslan
[Tags|, , , , ]

Ненавижу
автоматически рождающиеся объекты типа блокирующего loading-on-demand. И синглтоны типа Майерса.
автоматически уничтожающиеся объекты под smart_ptr. И подсчёт ссылок.
автоматически регистрирующиеся получатели сообщений. И unbound рассылку сообщений.
автоматически создающиеся нетривиальные объекты со статическим storage duration. И вообще бурную деятельность до main().

мгновенность, нераспределенность, модель exception, lower-order programming.

Но научить правильно не всегда получается.
LinkReply

Comments:
[User Picture]From: aruslan
2006-05-30 11:51 am (UTC)
Импульсный GC с чёткой семантикой деструкции и финализации меня устраивает.
Типа уровень загрузили/выгрузили, или чанк уровня застримили/выкинули ;)

Имхо, классический GC применим только для тривиальных ADT.
Уж лучше смотреть тогда сильно в сторону от C++ ;)

А у тебя еще и COM, бедный.
Прокси хорош только если HRESULT можно все время кривой возвращать, нет?
О! Я зыбыл написать, что ненавижу исключения, вот! :)

С++ - говноязык, однозначно :)
(Reply) (Parent) (Thread)
[User Picture]From: sergey_shandar
2006-05-30 12:19 pm (UTC)
>Прокси хорош только если HRESULT можно все время кривой возвращать, нет?
Да, кривой :-) А какой ты хотел получить если объект cдох, окно и файл закрыли, связь оборвалась и началась война? :-) Сказать что все нормально? :-) Ваш запрос обрабатывается :-) На то он и HRESULT :-) + IErrorInfo :-)

>А у тебя еще и COM, бедный.
:-) Ну я ведь сказал что 75% кода генерю из XML, так как я ненавижу COM (хорошая идея, реализация - г.), и ненавижу ATL (неудачная попытка шаблонами спрятать корявость COM). ATL не использую и не буду (аргументы даже не рассматриваются). Ненавижу MIDL, больше чем COM и ATL.

>О! Я зыбыл написать, что ненавижу исключения, вот! :)
Я тоже, а есть альтернативы? :-) if(CheckLastError()) после каждой функции я еще больше ненавижу :-)
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2006-05-30 12:33 pm (UTC)
Спасет только continuation сразу по трём ветвям - если всё хорошо, если всё плохо и если пока не понятно!

Я уже практически полюбил СНОБОЛ! :))
(Reply) (Parent) (Thread)
[User Picture]From: sergey_shandar
2006-05-30 12:39 pm (UTC)
Я так, скоро, окончательно полюблю кодогенерацию... Ну не хочу я писать весь этот фарш вручную...
(Reply) (Parent) (Thread)
[User Picture]From: sergey_shandar
2006-05-30 12:37 pm (UTC)
>Импульсный GC с чёткой семантикой деструкции и финализации меня устраивает.
Расскажи подробно безграмотным :-)

>Имхо, классический GC применим только для тривиальных ADT.
ADT = abstract data types? В смысле runtime type info?

>Уж лучше смотреть тогда сильно в сторону от C++ ;)
Низя... На C# COM библиотеки писать ну никак низя...
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2006-05-31 04:18 pm (UTC)
Импульсный GC с чёткой семантикой деструкции и финализации - это то, что обычно называют GC "для бедных".
В большинстве случаев - происходит отказ от хипа в пользу стека, хотя можно и хипом (тогда - как в sbrk). То есть группа объектов, созданная в специфической арене, живёт в ней (или висит полумёртвым грузом) и НЕ удаляется. А затем ВСЕ объекты тотально одновременно грохаются.

Если нужны стыки между аренами, то идёт или улучшенный генерационный или semispace.

Уменьшая калибр - доходит до автоматических переменных и параметров функции.
(Reply) (Parent) (Thread)
[User Picture]From: vivkin
2006-05-30 01:14 pm (UTC)
>С++ - говноязык, однозначно :)
О боги, от кого я это слышу
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2006-05-31 04:13 pm (UTC)
А шо, Вивыч, нешто в первый раз? :))
(Reply) (Parent) (Thread)
[User Picture]From: vivkin
2006-05-31 07:30 pm (UTC)
Насколько я помню и правда первый :) А еще помню как ты яростно говорил что плюсы "обижать никому не дам" :)
(Reply) (Parent) (Thread)
[User Picture]From: sergey_shandar
2006-06-01 01:19 am (UTC)
"Ненавидеть" и "не давать никому другому обижать" это не взаимоисключающие понятия :-) А даже наоборот, очень часто встречаются вместе :-)
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2006-06-01 01:29 am (UTC)
Именно! :)
(Reply) (Parent) (Thread)