Re: Я в шоке.
От: gangof4  
Дата: 15.03.10 18:13
Оценка: 4 (2) +1
Здравствуйте, Denwer, Вы писали:

D>Последние два месяца прорезюмировал просто толпу соискателей на программистов по с++. Каково было мое удивление что 90% людей не знаю ДЛЯ ЧЕГО НУЖЕН ВИРТУАЛЬНЫЙ ДЕСТРУКТОР. Как такое может быть? Куда делись настоящие программситы, а не оходники за деньгами? Что творится с людьми?



По многу раз наблюдал на работе людей, которые и что такое вирт. деструктор знают и паттерны, там всякие шматерны, любят пообсуждать всякие архитектурные решения, да только вот загвоздка: работа у них движется по черепашьи, потому что, весь день у них уходит на бла-бла и сидение по форумам. При этом он считает, наверное, что бабло ему просто должны платить по факту, что он такой умный и знает про вирт.деструктор. Чтобы этот человек хоть что-то сделал, нужно над ним буквально стоять, при этом он тебе будет звучно рассказывать, про проблемы иерархии классов и межпоточной синхронизации..
В итоге сам садишься и делаешь за 50 минут. Или приходит молодой студентик с горящими глазами и тоже раз-раз и делает,
хотя действительно может местами и с глюкотроном. Я не говорю, что такое встречается повсеместно, но точно имеет место быть, и поэтому я бы все все-таки задумался, всегда ли надо ставить во главу угла, знает ли человек, чем dynamic_cast
отличается от static или про вирт. деструктор. Или зачем конструктору добавляется ключевое слово explicit. Я лично таких работодателей не совсем понимаю.. Лучше уж дать РЕАЛЬНОЕ практическое задание и посмотреть, как быстро справится, насколько оптимален и безглючен будет код..Сразу ведь все о человеке понятно! Если опытный пораспрашивать про предыдущие проекты.
Re[5]: Я в шоке.
От: мыщъх США http://nezumi-lab.org
Дата: 16.03.10 02:54
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>Здравствуйте, мыщъх, Вы писали:


М>> однако, разница в стоимости вызова виртуальных и невиртуальных функций довольно-таки существенна


U_E>а сильно существенна? т.е. что я хотел узнать, это правда, что может быть такой случай, когда именно виртуальность вызова особенно сильно тормозит код?

ну это же можно составить тест и погонять если функция делает что-то полезное (например, занимается сортировкой), но накладыми расходами на виртуальность можно пренебречь. а вот популярный в некоторых кругах стиль: "функция из нескольких строк, вызывающая тучу других функций из нескольких строк" уже сильно проигрывает.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[6]: Я в шоке.
От: jhfrek Россия  
Дата: 16.03.10 08:22
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>ну это же можно составить тест и погонять если функция делает что-то полезное (например, занимается сортировкой), но накладыми расходами на виртуальность можно пренебречь.


и даже в подобном случае мне как-то пришлось переписывать классы, потому что виртуальность была всунута "на всякий случай", а профайлер показал существенное замедление на вызове виртуальной функции
Re[28]: Сказал же, иди в баню (-)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.03.10 11:51
Оценка:
Здравствуйте, jhfrek, Вы писали:

J>Здравствуйте, Ikemefula, Вы писали:


I>>Скажи ты что нибудь внятное, например, "человек со знанием двух языков, но без знания алфавита и грамматики в ряде случаев может быть полезнее студента ин-яза", то можно было бы согласиться


J>ты сумел превозмочь ЧСВ и понять что я имел в виду в самом начале — респект. Значит не зря я тратил свое время на переписку.


Тут нечего понимать, т.к. это банальность на уровне плинтуса.

Потому ты и сел в лужу, когда не смог внятно её сформулировать, более того, даже сфероконь понадобился.
Re[29]: Сказал же, иди в баню (-)
От: jhfrek Россия  
Дата: 16.03.10 11:55
Оценка:
Здравствуйте, Ikemefula, Вы писали:

что ЧСВ таки чешется, даже после признания моей победы

I>Тут нечего понимать,


и тем не менее ты не понял и начал спорить

I>т.к. это банальность на уровне плинтуса.


рад что ты самокритично оцениваешь свой уровень
Re: Мдэ...
От: skeptic  
Дата: 16.03.10 12:11
Оценка: -1
Глядя на этот топик начинающие программисты поидее должны тренироваться в изгнании из головы мыслей типа "перепейсать фсё нахъ ибо неподдержуимо!!!".
Re[5]: Я в шоке.
От: vpchelko  
Дата: 16.03.10 13:14
Оценка:
Здравствуйте, COFF, Вы писали:

COF>Здравствуйте, vpchelko, Вы писали:


V>>Имхо, работаю девелопером уже 4год на большом проекте. Вирт деструкторы ползовался ... забыл когда...


COF>Значит ты не проектировал более-менее сложных иерархий классов. Скорее всего просто расширял существующие. Это не плохо, само по себе, просто хорошо характеризует твой опыт


Да приходится ковырять чужой код, добавлять что-то свое и переписывать. Очень много проблем с утечкой памяти, в основном изза того, что был код работающий с нативными указателями.

Для любой иерархии классов — для создания некого объекта — надо писать фарбики обьектов, возвращающие только безопасный указатель, который должен знать как правильно удалить объект. Как писали выше "а зачем оно же нужно", если есть boost::shared_ptr.
Сало Украине, Героям Сала
Re[6]: Я в шоке.
От: vpchelko  
Дата: 16.03.10 13:17
Оценка:
Здравствуйте, vpchelko, Вы писали:

V>Здравствуйте, COFF, Вы писали:


COF>>Здравствуйте, vpchelko, Вы писали:


V>>>Имхо, работаю девелопером уже 4год на большом проекте. Вирт деструкторы ползовался ... забыл когда...


COF>>Значит ты не проектировал более-менее сложных иерархий классов. Скорее всего просто расширял существующие. Это не плохо, само по себе, просто хорошо характеризует твой опыт


V>Да приходится ковырять чужой код, добавлять что-то свое и переписывать. Очень много проблем с утечкой памяти, в основном изза того, что был код работающий с нативными указателями.


V>Для любой иерархии классов — для создания некого объекта — надо писать фарбики обьектов, возвращающие только безопасный указатель, который должен знать как правильно удалить объект. Как писали выше "а зачем оно же нужно", если есть boost::shared_ptr.


П.с. последний раз использовать виртуальный деструктор в базовом классе, для того чтобы его наследники были виртуальными классами, чтобы работал dynamic_cast.
Сало Украине, Героям Сала
Re[2]: Мдэ...
От: vpchelko  
Дата: 16.03.10 13:20
Оценка:
Здравствуйте, skeptic, Вы писали:


S>Глядя на этот топик начинающие программисты поидее должны тренироваться в изгнании из головы мыслей типа "перепейсать фсё нахъ ибо неподдержуимо!!!".


Угу к стати. Но на боольших проектах не катит.
Сало Украине, Героям Сала
Re[3]: Я в шоке.
От: rblaze  
Дата: 16.03.10 13:30
Оценка:
Здравствуйте, Vamp, Вы писали:

V>А можно мне объяснить, в чем принципиальная разница между бинарным семафором и мьютексом с теорической точки зрения (учитывая, что в С++ нет ни тех, ни других, вопрос можно ставить только в теоретичской плоскости).


У семафора нет понятия владельца. Его может освободить не только тот поток-процесс-whatever, который захватил, но и любой другой.
Re[30]: Сказал же, иди в баню (-)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.03.10 13:37
Оценка:
Здравствуйте, jhfrek, Вы писали:

J>что ЧСВ таки чешется, даже после признания моей победы


Ты вероятно не понял, что это значило

I>>Тут нечего понимать,


J>и тем не менее ты не понял и начал спорить


Тем не менее я тебе сразу заявил, что ты сел в лужу. Нужно время, что бы ты это понял.

I>>т.к. это банальность на уровне плинтуса.


J>рад что ты самокритично оцениваешь свой уровень


Слабенько
Re[31]: Сказал же, иди в баню (-)
От: jhfrek Россия  
Дата: 16.03.10 13:41
Оценка:
Здравствуйте, Ikemefula, Вы писали:

J>>рад что ты самокритично оцениваешь свой уровень

I>Слабенько

"слабенько" — это слабо сказано. Твой уровень запредельно низок
Re[32]: Сказал же, иди в баню (-)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.03.10 13:42
Оценка:
Здравствуйте, jhfrek, Вы писали:

J>>>рад что ты самокритично оцениваешь свой уровень

I>>Слабенько

J>"слабенько" — это слабо сказано. Твой уровень запредельно низок


Тем хуже для тебя.
Re[2]: Я в шоке.
От: rblaze  
Дата: 16.03.10 13:45
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>На зарплату 50-80 сейчас, увы, высококлассные специалисты не пойдут


Сакральное знание о виртуальных деструкторах — это признак не высококлассного, а хоть какого-нибудь C++ программиста. Если не знает, ему лучше вообще этот язык в руки не давать.
Re[33]: Сказал же, иди в баню (-)
От: jhfrek Россия  
Дата: 16.03.10 13:46
Оценка:
Здравствуйте, Ikemefula, Вы писали:

J>>"слабенько" — это слабо сказано. Твой уровень запредельно низок

I>Тем хуже для тебя.

не просто хуже, это верх моей наивности, ввязываться в дискуссию с тобою, зная о твоей неадекватности при ведении оных.
Re[34]: Сказал же, иди в баню (-)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.03.10 14:06
Оценка: :)
Здравствуйте, jhfrek, Вы писали:

J>>>"слабенько" — это слабо сказано. Твой уровень запредельно низок

I>>Тем хуже для тебя.

J>не просто хуже, это верх моей наивности, ввязываться в дискуссию с тобою, зная о твоей неадекватности при ведении оных.


Ничего необычного в этом нет — ты продолжаешь садиться в лужу раз за разом и замечаешь это слишком поздно.
Re[35]: Сказал же, иди в баню (-)
От: jhfrek Россия  
Дата: 16.03.10 14:13
Оценка:
Здравствуйте, Ikemefula, Вы писали:

J>>не просто хуже, это верх моей наивности, ввязываться в дискуссию с тобою, зная о твоей неадекватности при ведении оных.

I>Ничего необычного в этом нет

в твоей неадекватности, действительно, нет ничего необычного
Re[36]: Сказал же, иди в баню (-)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.03.10 14:28
Оценка:
Здравствуйте, jhfrek, Вы писали:

J>>>не просто хуже, это верх моей наивности, ввязываться в дискуссию с тобою, зная о твоей неадекватности при ведении оных.

I>>Ничего необычного в этом нет

J>в твоей неадекватности, действительно, нет ничего необычного


Ты все еще сидишь в луже
Re[37]: Сказал же, иди в баню (-)
От: jhfrek Россия  
Дата: 16.03.10 14:32
Оценка:
Здравствуйте, Ikemefula, Вы писали:

J>>в твоей неадекватности, действительно, нет ничего необычного

I>Ты все еще сидишь в луже

ты все еще неадекватен
Re[5]: Я в шоке.
От: dilmah США  
Дата: 16.03.10 20:05
Оценка: 2 (1)
U_E>а сильно существенна? т.е. что я хотел узнать, это правда, что может быть такой случай, когда именно виртуальность вызова особенно сильно тормозит код?

учитывай, что сравнивать виртуальный вызов нужно не с обычным вызовом, а заинлайненной функцией.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.