Здравствуйте, Ikemefula, Вы писали:
I>Ссылка и указатель это две большие разницы. Указатель включает в себя ссылки. А вот адреса и всякой всячины с этим связаной в ссылках нет и быть не может. Есть идентити — т.е. ответ на вопрос, две ссылки это один и тот же объект или разные. Все.
Это не автобус. Это просто большая машина, а внутри сидения и окна по бокам.
Здравствуйте, Mamut, Вы писали:
M>Ну дык. Указатели старательно упаковывают в GC для бедных — auto_ptr, shared_ptr и прочая *_ptr
Это не GC ни разу. Это RAII.
M> чтобы не дай бог кто-то не использовал голые указатели.
Отнюдь. Основная причина: упрощение управления времени жизни объекта. Уменьшение рукопашной.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ikemefula, Вы писали:
I>Чисто между прочим, ты в курсе, что старого кода на порядки больше чем нового и от него никто не собирается отказываться ?
Я вижу что старый код постоянно устаревает и выбрасывается. А глючный старый код — в первую очередь.
I>Это следует из того, что одни и те же люди не могут заставить взлететь проект на С++ хотя менеджед версия летает.
Это лишь говорит об их квалификации.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ikemefula, Вы писали:
I>Начнем сначала. Сколько нужно времени что бы старом проекте на 50-100мб кода заменить указатели на смартпоинтеры и тд.
Коду с багами поможет только их исправление. Ну а говнокоду или рефакторинг или может оказаться что дешевле вынести его на помоечку.
I>такое ощущение что большинство адептов С++ в этом топике не в курсе про legacy код.
Мы не юзаем древний и кривой legacy код. Ибо хватает не такого древнего и кривого.
I>Куда деть такой код?
Зависит от качества кода. Хороший в реюз. Плохой или чинить или выкинуть.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Banned by IT, Вы писали:
BBI>Здравствуйте, Mamut, Вы писали:
M>>Ну дык. Указатели старательно упаковывают в GC для бедных — auto_ptr, shared_ptr и прочая *_ptr BBI>Это не GC ни разу. Это RAII.
M>> чтобы не дай бог кто-то не использовал голые указатели. BBI>Отнюдь. Основная причина: упрощение управления времени жизни объекта. Уменьшение рукопашной.
GC тоже "упрощение управления времени жизни объекта. Уменьшение рукопашной."
Именно поэтому все "умные указатели" и называют "GC для бедных".
Здравствуйте, gandjustas, Вы писали:
G>GC тоже "упрощение управления времени жизни объекта. Уменьшение рукопашной." G>Именно поэтому все "умные указатели" и называют "GC для бедных".
Ох уж эта псевдоэлитарность.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
_>Еще как в курсе. Вы сами должны решать как с легаси бороться. Тут однозначного рецепта нет, если дешевле преписать на менедж переписывайте на здоровье, особенно если нужно дальнейшее развитие. Указатели тут не причем. На нете и джаве легаси разве не бывает?
На джаве легаси мало отличается от не легаси. Язык с самого рождения и до текщего момента мало менялся, и никаких принципиально новых концепций не вносилось(если говорить о языке, не либах). Ну да, добавились штуки вроде java.util.concurrent, но оно в основном синтаксический сахар.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, gandjustas, Вы писали:
BBI>>Отнюдь. Основная причина: упрощение управления времени жизни объекта. Уменьшение рукопашной.
G>GC тоже "упрощение управления времени жизни объекта. Уменьшение рукопашной." G>Именно поэтому все "умные указатели" и называют "GC для бедных".
Алегарх? Реализуй нам полноценный RAII на GC без деструкторов.
Это совершенно другая концепция, и называть ее "GC для бедных" позволительно только ниасилившим концепцию ручного контроля за ресурсами.
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, landerhigh, Вы писали:
I>>>Начнем сначала. Сколько нужно времени что бы старом проекте на 50-100мб кода заменить указатели на смартпоинтеры и тд.
L>>Нисколько, потому что это не нужно.
I>тогда нужно бороться с указателями, ибо контора подписалась, что выкатит версию.
Да пусть борется хоть с ветряными мельницами. Если в конторе половина сотрудников по ночам вскакивает в холодном поту от одной мысли об указателях, а другая допускает существование глючного кода годами, то пусть подписывается на что угодно. Результат, впрочем, будет предсказуемым.
I>>>такое ощущение что большинство адептов С++ в этом топике не в курсе про legacy код. раньше на с++ писалось очень много того, что сейчас пишется на менеджед средствах. Куда деть такой код ? Может назвать его несиплюсным ? это резко снимет проблему указателей
L>>Я не могу, он нам сейчас еще и про легаси код рассказывать будет. Давай уже, жги!
I>А есть что сказать более внятного ?
Внятного? Мы с тобой на разных язаках разговариваем, как я посмотрю. Вообще-то приличные люди легаси кодом называют модули, хоть и написанные во времена царя горооха, но при этом стабильные, как Египетские пирамиды. Единственная причина, по которой его трогают — это когда расширение или изменение функциональности становится неизбежным. Но даже тогда с бОльшей вероятностью функциональность просто заменяют новым кодом из соображений однородности и простоты поддержки. Юнит-тесты, опять же.
Говнокод, в котором есть "проблемы с указателями" (сиречь падает на ровном месте) шансов стать легаси кодом не имеет. Разве что в какой-нить внутренней тулзе в какой-нить ООО "Рога и копыта"
Здравствуйте, landerhigh, Вы писали:
L>Говнокод, в котором есть "проблемы с указателями" (сиречь падает на ровном месте) шансов стать легаси кодом не имеет.
Именно!
L>Разве что в какой-нить внутренней тулзе в какой-нить ООО "Рога и копыта"
Есть ещё отличное "НИИ Говна и Торфа" (С) Belnetmon
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ikemefula, Вы писали:
L>>мне кажется, у нас фломастеры и масштабы разные. В нашей индустрии AV во время рантайма — это не просто critical, это имеет safety implications. Никакого бюджета не хватит дежать дерьмокод. Поэтому если код образца 91 года до сих пор входит в проект, значит он вылизан по самые помидоры. Другого кода там просто быть не может.
I>И так во всех отраслях, правильно я тебя понимаю ?
Назови одну, в которой можно продавать глюкало, падающее на ровном месте и при этом не растерять всех клиентов.
I>>>Стало быть про убитый проект на лялих++ возражений нет. На том и закончим.
L>>А откуда им взяться? Что тако лялих++ я не знаю, кто твой знакомый не ведаю и кто и зачем убивал этот проект понятия тоже не имею. Да и в чем вопрос, собственно, тоже не совсем понимаю.
I>лялих++ это я так обозвал проект под лялих на с++. Знакомый — тимлид на аутсорсинговой конторе. Проект пришел по тендеру. У меня, кстати говоря, случай был похожий. наша контора выросла в самостоятельную из нескольких убитых проектов, которые перед тем как попасть к нам были трижды завалены в разных странах. Java что характерно осталась в строю. С++ умер окончательно.
Что такое лялих, я не знаю. Ну а то, что проект "был завален в разных странах" и в итоге переписан на жабе, говрит лишь о том, что инструмент был изначально выбран неверно, а проект писали криворучки. Как говорится, дело было не в бобине.
L>Назови одну, в которой можно продавать глюкало, падающее на ровном месте и при этом не растерять всех клиентов.
Windows 98
Правда, его времена прошли давно.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
M>>Ну дык. Указатели старательно упаковывают в GC для бедных — auto_ptr, shared_ptr и прочая *_ptr BBI>Это не GC ни разу. Это RAII.
Выделено.
M>> чтобы не дай бог кто-то не использовал голые указатели. BBI>Отнюдь. Основная причина: упрощение управления времени жизни объекта. Уменьшение рукопашной.
А что GC, по-твоему, делает с точки зрения программиста? ВНЕЗАПНО упрощает управление временем жизни объекта. Уменьшает рукопашную. Но GC — это зло, а вот все остальное — это добро, агаага
M>>Очевидно, что это — неочевидно. И учитывая, что тут работа с COM, это является весьма специфичной задачей. Назвать это именно преимуществом над другими языками у меня рука не поднимается. Так, чпособ решить костыли другими костылями _>И чего мне делать-то если у клиента его апликация использует грид или rоt? Обьяснять ему что он лошара и должен весь свой софт немедленно на java переписать? Так ведь пошлет и денег не даст. Именно такие специфические задачи и требуют сответствующего инструмента. И С/C++ позволяет такие задачи решать достаточно быстро и эффективно в отличии от других языков.
Здравствуйте, Mamut, Вы писали:
M>>>Очевидно, что это — неочевидно. И учитывая, что тут работа с COM, это является весьма специфичной задачей. Назвать это именно преимуществом над другими языками у меня рука не поднимается. Так, чпособ решить костыли другими костылями _>>И чего мне делать-то если у клиента его апликация использует грид или rоt? Обьяснять ему что он лошара и должен весь свой софт немедленно на java переписать? Так ведь пошлет и денег не даст. Именно такие специфические задачи и требуют сответствующего инструмента. И С/C++ позволяет такие задачи решать достаточно быстро и эффективно в отличии от других языков.
M>Выделил еще раз.
Увы подобные костыли существуют помимо моего желания, и есть необходимость с ними как-то бороться. Есть похожий код и не для комов. Ну например нужно получить указатель на неэкспортируемую функцию виртуальной машины VB или PowerBuildera в чужом процессе и т.п. В сях это делается достаточно просто. Как нечто подбное сделать на jаvа или net я не знаю. Еще раз : именно с/c++ предоставляет мне возможности решать подобные задачи быстро и не особенно напрягаясь. Да, эти задачи очень часто связаны в плотную с особенностями сторонных программ/технологий, однако решать мне их все равно нужно. Этот спор вообще бессмысленен. Дополнительные возможности любого языка(даже потенциально опасные) вряд-ли можно назвать недостатком. Не нужно — не пользуйтесь, но лучше что-бы было на случай всякого рода костылей. Для задач без костылей выбирайте более безопасные языки.
Здравствуйте, alexey_ma, Вы писали:
I>>ничего странного, жизнь проекта определяется не количеством багов, а размером бюджета. Если бизнес считает, что N млн долларов в год это не деньги, то проект будет жить до тех пор, пока затраты не превысят это N. _>Ну не знаю. Обычно за несколько лет если проект на самом деле нужный, то его доводят до вменяемого состояния.
Еще раз — зависит от бюджета и некоторых других факторов, например цена ошибки для бизнеса.
Здравствуйте, Eugeny__, Вы писали:
L>>Назови одну, в которой можно продавать глюкало, падающее на ровном месте и при этом не растерять всех клиентов.
E__>Windows 98 E__>Правда, его времена прошли давно.
Здравствуйте, Sheridan, Вы писали:
L>>>Проблем с указателями не бывает. Бывают проблемы с программистами, их ниасилившими и их кодом. I>>Это абсолютно несущественная разница. Если прогарммист не осилил указатели, то эта особенность указателей проявится во всех фрагментах его кода. S>Ой, мы конечно догадывались про тебя, но зачем же так прямо?