Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:31 12.07.25 
Клубове/ Компютри и Интернет / Програмисти Пълен преглед*
Информация за клуба
Тема Сериозно? [re: Colombino]
Автор G.Kreisel ()
Публикувано19.12.04 12:17  



Е, пак стана флейм.

> "Но C/C++ програмистите рядко алокират в унес като жабарите. Ако на един добър C++ програмист му се налага да алокира множество малки обекти ще го направи с по-големи блокове и placement new, или с по-сложен RecordManager. "

Ами от доста време работя на едно място, където се пише САМО на C++, (големи проекти - по към 200000 - 250000 реда C++) и познай какво?

1. Въпреки, че честно казано кода се влачи като ... задник, никой не е намерил време, желание, смелост, etc. да напише и едно единствено placement new. Даже си мисля че ако някой го направи ще го обвинят че се прави на интересен и само затормозява работата etc. Девиза е - не искаме нищо прекалено странно, нищо прекалено добро и нищо прекалено лошо :)

2. Единствения път когато имам спомен да се е работило по управлението на паметта беше когато ми възложиха "задачка": Find the memory damage.

3. Това че не си виждал повторно използване на деалокирана памет най-вероятно означава че просто проектите по които си работил не са натрупали критична маса хакове в тях :) Веднъж това стане ли, после чакай само проблеми.


Незнам за какво са деструкторите. Наличието им предполага, че в един момент трябва да кажеш - ами вече свърших с този обект и повече няма да ми трябва. Т.е. това не предполага ли ръчно управление на паметта? Или пък някакъв стек за локалните променливи и като се излезе от scope се викат деструктори?
По този начин не се ли връзва езика с управлението на паметта? Т.е. все едно казваш: Този език е направен само за ръчно упревление на паметта - квито и техники за автоматично управление да се измислят този език няма да ги ползва. И всичко това само за да можеш да "забравиш" да викнеш (например) .close() на локалния обект. Тарикатско!
И във връзка с това се сетих за един много неприятен случай:
написва някой една функция която има за параметър указател към обект.


void BadFunction( Object *pObj ); //uses the object pointed to by pObj in some mumbo-jumbo


Някой друг иска да ползва тази функция:


{
Object my("local");
BadFunction( &my );
}


След като написва това Някой II се сеща, че не му е ясно какво точно прави BadFunction()! Дали тази функция просто взима някакви данни от обекта за да си свърши сметката или запомня указател към тези данни? (И след малко някой се опитва да използва този указател? (щото ако е така ще падне дебъгване))
Представи си че BadFunction реализира комуникация по мрежа - изпраща данни за Обекта по мрежата. Тогава ако този който е писал функцията е имал мозък сигурно можеш да се надяваш че той е копирал всичко което му трябва и my може спокойно да бъде унищожен. На практика обаче:
BadFunction е била написана за конкретен случай (такива най ги мразя :) ) и тогава (за ефективност) не са написали копиране (защото строго погледнато не е било необходимо). Сега някой друг се опитва да използва вече написан код и бива изненадан неприятно - за да изпозва кода, първо трябва да го прочете, а после трябва и да го пренапише :)
Това е проблема с неясните интерфейси. И е наистина шибан проблем. Особено в големи, писани набързо проекти, без ясна ръководна идея ... айде да спирам с критиките че току-виж съм се оказал на улицата :)

What evil shall I do today?

Цялата тема
ТемаАвторПубликувано
* Защо Java Kaндидaт Джaбap   13.12.04 19:49
. * Re: Защо Java RepeatableRead   14.12.04 00:49
. * Re: Защо Java Гypy   14.12.04 01:11
. * САП, а ? ЯPOCTcлaв   14.12.04 09:20
. * Re: Защо Java nasko   14.12.04 09:43
. * Re: Защо Java nasko   14.12.04 09:53
. * А вие защо биете негрите, а ? ЯPOCTcлaв   14.12.04 10:14
. * Re: А вие защо биете негрите, а ? nasko   14.12.04 11:24
. * От много жаба елементарни неща не разбираш ЯPOCTcлaв   14.12.04 11:48
. * Re: Защо Java Mypy   14.12.04 12:27
. * Re: Защо Java Гypy   14.12.04 21:25
. * Re: Защо Java Mypy   15.12.04 11:40
. * Или защо C#, защо .NET и др. подобни защота ЯPOCTcлaв   14.12.04 09:16
. * Re: Защо Java жaбa   14.12.04 09:41
. * Re: Защо Java ЯPOCTcлaв   14.12.04 09:51
. * Re: Защо Java Pekoнcтpykтop   14.12.04 10:17
. * По следните причини: pyrx   14.12.04 12:56
. * Опит за отговор Masklin   14.12.04 15:51
. * Re: Опит за отговор fd   14.12.04 17:56
. * Re: Опит за отговор Questor   14.12.04 18:15
. * Не беше ли... G.Kreisel   14.12.04 19:09
. * Re: Опит за отговор фд   14.12.04 19:31
. * Re: Опит за отговор Questor   14.12.04 19:41
. * Re: Опит за отговор фд   14.12.04 21:16
. * Re: Опит за отговор Barracuda   15.12.04 09:05
. * Re: Опит за отговор fd   15.12.04 11:04
. * да ама никой не отчита, че ~!@$%^amp;*()_+   15.12.04 19:49
. * Теоретично, Masklin   16.12.04 12:24
. * Re: Теоретично, Nero   17.12.04 13:48
. * Re: да ама никой не отчита, че Nero   17.12.04 13:45
. * Re: Опит за отговор nasko   15.12.04 09:47
. * Re: Опит за отговор Pekoнcтpykтop   15.12.04 12:09
. * Re: Опит за отговор Гypy   16.12.04 01:02
. * Re: Опит за отговор lnformatora   16.12.04 01:44
. * Re: Опит за отговор Pekoнcтpykтop   17.12.04 11:51
. * Не са точно глупости Masklin   15.12.04 10:21
. * Re: Опит за отговор Paдo   15.12.04 08:26
. * Като по учебник Colombino   15.12.04 10:04
. * Доста си краен Masklin   15.12.04 10:46
. * Re: Доста си краен Colombino   15.12.04 12:11
. * Мда Masklin   15.12.04 12:43
. * Re: Като по учебник Nero   17.12.04 13:40
. * Re: Като по учебник Colombino   17.12.04 15:08
. * Re: Като по учебник Nero   17.12.04 15:54
. * Бе кви неизползвани обекти! Colombino   17.12.04 16:41
. * Re: Бе кви неизползвани обекти! Nero   17.12.04 19:09
. * Re: Като по учебник Pekoнcтpykтop   17.12.04 18:18
. * Re: Като по учебник Colombino   17.12.04 18:38
. * Re: Като по учебник Pekoнcтpykтop   17.12.04 19:12
. * Re: Като по учебник Nero   17.12.04 19:16
. * Re: Като по учебник Colombino   17.12.04 19:42
. * GC G.Kreisel   17.12.04 19:13
. * Re: GC Nero   17.12.04 19:33
. * Лисп G.Kreisel   17.12.04 19:51
. * Re: Лисп Nero   17.12.04 20:07
. * Това е несериозно Colombino   17.12.04 20:23
. * Re: Това е несериозно Дeшeв   17.12.04 23:56
. * Re: Това е несериозно Paдo   18.12.04 11:39
. * Re: Това е несериозно Дeшeв   18.12.04 22:44
. * Re: Това е несериозно Paдo   19.12.04 10:50
. * Re: Това е несериозно жaбa   20.12.04 10:53
. * Re: Това е несериозно lngon   18.12.04 15:37
. * Не е същото Colombino   18.12.04 16:24
. * Re: Не е същото lngon   18.12.04 22:16
. * Сериозно? G.Kreisel   19.12.04 12:17
. * Re: Сериозно? fg   19.12.04 13:17
. * Re: Сериозно? Colombino   19.12.04 16:11
. * Re: Сериозно? Questor   19.12.04 17:48
. * Кажи и на нас тая конвенция, де Colombino   19.12.04 23:48
. * Re: Кажи и на нас тая конвенция, де Paдo   20.12.04 10:07
. * Re: Кажи и на нас тая конвенция, де Pekoнcтpykтop   20.12.04 10:45
. * Re: Кажи и на нас тая конвенция, де Paдo   20.12.04 11:02
. * Re: Кажи и на нас тая конвенция, де Pekoнcтpykтop   20.12.04 11:10
. * Re: Кажи и на нас тая конвенция, де Paдo   20.12.04 12:02
. * Re: Кажи и на нас тая конвенция, де Questor   20.12.04 12:17
. * Re: Като по учебник qwerty   22.12.04 23:40
. * Многоплатформеност Colombino   23.12.04 02:53
. * Re: Многоплатформеност Johny Cage   23.12.04 10:13
. * Re: Многоплатформеност dc   23.12.04 11:07
. * Re: Многоплатформеност qwerty   23.12.04 20:30
. * Re: Като по учебник Nero   23.12.04 12:40
. * Re: Като по учебник dc   23.12.04 15:04
. * Re: Като по учебник qwerty   23.12.04 20:26
. * Re: Като по учебник tonio   25.12.04 21:30
. * Re: Като по учебник Язвaджия   25.12.04 22:23
. * Re: Опит за отговор Dark_Dirk   17.12.04 20:50
. * А?!? Colombino   17.12.04 21:16
. * Re: Опит за отговор asdf   18.12.04 13:40
. * за без пари G.Kreisel   19.12.04 12:24
. * Re: Защо Java Kaндидaт Джaбap   14.12.04 18:06
. * Тип приложения pyrx   14.12.04 22:57
. * Re: Защо Java Oracle   16.12.04 13:53
. * Re: Защо Java Questor   16.12.04 14:20
. * Oracle Oracle   16.12.04 15:52
. * Re: Oracle Mиpaж   17.12.04 11:45
. * Не обобщавай Colombino   17.12.04 12:15
. * Re: Не обобщавай Pekoнcтpykтop   17.12.04 12:27
. * Java IDE Colombino   17.12.04 12:40
. * Re: Java IDE Pekoнcтpykтop   17.12.04 13:06
. * Re: Java IDE Duncan Griffin   17.12.04 13:57
. * Re: Java IDE Pekoнcтpykтop   17.12.04 17:51
. * O Santa simplicitas! Colombino   17.12.04 17:58
. * Re: O Santa simplicitas! Pekoнcтpykтop   17.12.04 18:03
. * Re: O Santa simplicitas! Duncan Griffin   17.12.04 18:15
. * Re: O Santa simplicitas! Pekoнcтpykтop   17.12.04 18:20
. * Re: O Santa simplicitas! Colombino   17.12.04 18:28
. * Re: O Santa simplicitas! Pekoнcтpykтop   17.12.04 18:45
. * Re: Защо Java purist   20.12.04 07:04
. * Re: Защо Java Гypy   20.12.04 07:50
. * Тва да не е някаква тайна? Colombino   20.12.04 09:11
. * Re: Защо Java voyager   20.12.04 10:40
. * Re: Защо Java efd   20.12.04 10:53
. * Re: Защо Java xxx   24.12.04 15:32
. * azureus - 3 милиона purist   26.12.04 00:14
. * Re: azureus - 3 милиона Гypy   26.12.04 00:39
. * Re: azureus - 3 милиона purist   26.12.04 02:38
. * Re: azureus - 3 милиона xмм   26.12.04 01:34
. * Re: azureus - 3 милиона purist   26.12.04 02:33
. * Re: azureus - 3 милиона qwerty   26.12.04 11:39
. * Re: azureus - 3 милиона Hmm   26.12.04 13:08
. * Re: azureus - 3 милиона Дeшeв   26.12.04 15:35
. * Re: azureus - 3 милиона Questor   26.12.04 14:41
. * Re: azureus - 3 милиона purist   26.12.04 19:29
. * Re: azureus - 3 милиона Дeшeв   26.12.04 15:20
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.