Re: Я в шоке.
От: Гоги Россия  
Дата: 29.03.10 12:23
Оценка: -1 :)
Здравствуйте, Denwer, Вы писали:

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


Те которые знают, что такое виртуальные деструктор, сами не программируют, а резюмируют других
Re[17]: Я в шоке.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.03.10 14:01
Оценка: +1 -1
Здравствуйте, minorlogic, Вы писали:

I>>Ты уверен, что этих сил достаточно для решеня любой проблемы огласно требованиям времени, бюджета, качества ?


M>Если этой фразе предполагается что я это утверждал, то ты ошибаешься. Перечитай


M>"Именно так, часто слышу подобные жалобы "да если бы не код , да я бы !!!! ". Плохому танцору .. ну вы в курсе. "


см. ниже

M>Т.е. если от сопровождения код становится хуже, это "может быть, а может и не быть" показатель непрофесионализма и доверять такому програмисту новый код "может быть, а может и не быть" не стоит. А если он ухудшения кода мотивирует качеством существующего, тогда "может быть, а может и не быть" он еще и психологически незрел.


Я дополнил, что бы тебе было понятно о чем речь.

Теперь повторяю вопрос — Ты уверен, что сил 1-2 девелопера + 1-2 тестера достаточно для решеня любой проблемы огласно требованиям времени, бюджета, качества ?

Хочу услышать внятный ответ а не тот бред что ты выдал.

На мой взгляд этого недостаточно для решения _любой_ проблемы.

Следовательно, большАя часть проблем решаться не будет в принципе, т.к. на них не хватит сил.

Как ты в курсе, любой код в обход решения проблем есть говнокод, каким бы идиальным он не был сам по себе.

Следовательно нужно ожидать, что код будет становиться все хуже и хуже.

И это в случае со зрелым, опытным делопером !

Простой пример, на С++ в свое время мне надо было подфиксить баг в форме, сделать лайоут правильным. Сам баг был во фреймворке для этих лайоутов. Баг примитивный, но как выяснилось, код использовался в других проектах и фреймворк для лайоутов был закрыт от модификации. Где то наверху сидел мега руководитель вроде тебя, который повторял "плохому программисту код мешает".
Получил сверху отлуп — этот мега руководитель не дал добро на изменение кода.
Что я сделал ? Повторно обратился к непосредтвенному начальству и получил ответ фиксить как придется.
Я сделал наследника нужного класса и переопределил нужный метод, но затык был в том, что в базовом классе должен был быть virtual метод, что обратно потребовало модифицировать реадонли код.
Через пару тройку дней я взял и решил вопрос радикально — дублировал h и cpp у себя, модифицировал как мне было надо и закоммитил, добавил только warning при компиляции. Линкер такие ситуации разруливает на раз. В итоге в моей длл баг не воспроизводился, а во всех остальных он еще не был найден ибо там не было такой сложной формы
Т.е. в проекте появилось два почти одинаковых класса с одинаковыми именами и неймспейсами и тд и т, один из которых выбирался линкером в зависимости от проекта.

Плохое решение ? Да, очевидно, плохое. Все остальные решения такие же плохие, потому что источник бага реадонли.
Могу еще примеров привести как из своего, так и из чужого опыта.

Так вот

"если человек сапортил код и жалуется что код плохой , и сапортить его очень тяжело , и становится только хуже он очень плохой програмист"

эта ситуация "может означать" что это плохой программист. Но как правило, гораздо чаще это "может означать" что в "консерватории что то не так".

В любом случае, если сил девелоперов недостаточно для решения любой проблемы, код лучше становиться не может в принципе, а качество оного кода можно удержать только отказавшись от изменений.
Re[9]: Прямо по Спольски
От: Bandy11 Россия  
Дата: 26.04.10 17:05
Оценка:
Здравствуйте, De-Bill, Вы писали:

ОК>>14-16 лет — это сильно!


DB>Ну... Дмитрий Гуртяк в 18 лет написал KeyRus, который был установлен практически на всех ПК (б)СССР. Боюсь, что большая часть профессиональных программистов на данном форуме не смогут похвастаться такими результатами.


Был еще русификатор Бунича (автора ряда утилит для ЕСки) — уже не помню его названия.
Так он был заметно хуже из-за неприятного для глаз начертания букв.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Я в шоке.
От: Bandy11 Россия  
Дата: 26.04.10 17:05
Оценка:
Здравствуйте, TarasKo, Вы писали:

TK>Если в течении 5 лет, человек программировал пусть даже только гуи, но так и не удасужился посмотреть про виртуальный деструктор. То любознательность у него на нуле. Поскольку нет любознательности, то нет и большого интереса к программированию и к решаемым задачам, а значит он их решает мало неохотно и из под палки. В топку таких программистов. Мне период написания гуи совсем не мешал интересоваться виртуальными деструкторами, алгоритмами, STL и boost-ом, и вообще колбасить по вечерам проектец, где я воплощал бы свои безумные идеи и использовал любой инструментарий, который мне хотелось бы

TK>Думаю нет никаких оправданий для человека с 5-летним стажем программирования на с++ того что он не знает про виртуальные деструкторы

Эх, не занимались Вы САПРом в одиночку (1-н большой и несколько маленьких САПРов).
Начиная его писать и эксплуатировать (постоянные изменения требований к объемному монтажу приборов) —
сначала на АЛГОЛе-60 (М220) потом на PL/1 в DOSe
потом на PL/1(плюс чуть Assemblera) для ОСа Потом уже до Buildera по-полгода делал то, что с компонентами
можно было сделать за неделю – при полном отсутствие документации и интернета.
При этом требования к САПРу почти всегда даются в стиле “паять здесь” (см. повесть Житинского “Глагол инженер”)
Помню на 286й (задолго до Windowsa) начал в свободное время делать графическую оболочку САПРа — c самодельными кнопками и иконками
(Надоело забесплатно — бросил)
Потом когда интернет появился по заявке поданной заранее — мог 1 час полазить (Выход в сеть только в особой комнате)
Высшее руководство считало, что машины купили и ладно. А документация – это баловство — лишняя трата денег.
Помню, купил на свои деньги серию книг Фроловых в начале 92 года(зарплата была 2 тыс),
а деньги вернули уже в конце года (зарплата 100 тыс)
И так уже 34 года на одном месте и год на преведущей работе.
Очень показательный случай – добавил в САПР требование A спустя какое-то время добавил требование B и далее.
В процессе, оказалось, достаточно было добавить условие !Z
— переписать этот кусок нет времени есть более приоритетные задачи
(пока так и работает там где можно было обойтись 30-40 строками работает 300-400 строк из-за заплаток)
— А самому изучать постоянно меняющиеся требования конструкций приборов(серийного производства нет) – это надо тогда забросить программирование.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Я в шоке.
От: Bandy11 Россия  
Дата: 26.04.10 17:05
Оценка:
Здравствуйте, _nikita_, Вы писали:

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


LVV>>Ага! Попробовали бы вы устроится на работу инженером — строителем без знаний...

LVV>>Да вас на порог не пустят! А в программировании — недоучки-самоучки не только собеседуются, но и работают...

__>Кстати, можно быть по профессии инженером-стоителем и при этом быть программистом.

__>И чтобы стать инженером-стоителем нужно пять лет учиться, а чтобы стать программистом — нужа книга и 21 день Во, как.
__>Эволюция однако, программирование становится доступным каждому.

У нас в НИИ когда был отдел САПРов (около 200-от человек) кроме меня
(во время учебы были дисциплины — программирование на 2-х адресных Проминь (-2) и аналоговых машинах) – не было ни одного с дипломом программиста.
Да такой специальности кажется, официально и не было
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Я в шоке.
От: x64 Россия  
Дата: 26.04.10 20:52
Оценка: :)
Ну раз уж подняли тему, позволю и себе сказать пару слов.

Вот некоторые говорят, что собеседовать программистов должны ни в коем случае не технические специалисты, а исключительно управленцы. Я с этим не согласен. Я считаю, что собеседовать должны всё таки технические специалисты в том числе, но во-первых, это должны быть специалисты верхнего уровня (т.е. лидеры групп или архитекторы), и вопросы они должны задавать направленные не на выяснение знаний каких-то деталей, а на умение решать задачи и умение справляться со сложностями процесса. Мне по долгу, скажем так, службы приходится решать разные задачи, и бывает так, что какие-то из них я отдаю на аутсорс малознакомым мне людям, разработчикам, без какого-либо подтверждённого опыта подобных работ вообще. Так вот, я точно могу сказать, что таким образом мне удалось найти как минимум 3-х человек, не имевших до этого момента требуемого опыта, но всё таки решивших и доведших до конца (пусть и с небольшим запозданием) не совсем тривиальные задачи. В последствии, у меня сложились постоянные рабочие отношения с ними, чему я и рад, собственно.

А виртуальный деструктор я в гробу видал ибо сишник. Такие дела.
Re[2]: Я в шоке.
От: shrecher  
Дата: 27.04.10 03:24
Оценка:
Здравствуйте, x64, Вы писали:


x64>А виртуальный деструктор я в гробу видал ибо сишник. Такие дела.


Дравера на C++ прекрасно писать можно. Безпаснее и быстрее.
Re[3]: Я в шоке.
От: ЕвгенийМ  
Дата: 28.04.10 06:20
Оценка:
Здравствуйте, carpenter, Вы писали:

C>На практике — деструктор лучше сразу сделать виртуальным — а потом подумать , не сделать ли его невиртуальным.

C>... знание о виртуальном деструкторе — это практически знание об указателях в контексте ООП ...

Зачем мне этот оверхед если я наследоваться не собираюсь в принципе?
Re[4]: Я в шоке.
От: FR  
Дата: 28.04.10 12:27
Оценка:
Здравствуйте, ЕвгенийМ, Вы писали:

ЕМ>Зачем мне этот оверхед если я наследоваться не собираюсь в принципе?


По уму десктрукторы нужно было делать виртуальными по умолчанию, и ввести ключевое слово nonvirtual для тех кого оверхед не устраивает.
Re[5]: Я в шоке.
От: dilmah США  
Дата: 28.04.10 12:42
Оценка: +1
FR>По уму десктрукторы нужно было делать виртуальными по умолчанию, и ввести ключевое слово nonvirtual для тех кого оверхед не устраивает.

при таком решении нужно разное поведение для class и struct -- чтобы сохранить совместимость с C.
Re[6]: Я в шоке.
От: FR  
Дата: 28.04.10 14:53
Оценка:
Здравствуйте, dilmah, Вы писали:


FR>>По уму десктрукторы нужно было делать виртуальными по умолчанию, и ввести ключевое слово nonvirtual для тех кого оверхед не устраивает.


D>при таком решении нужно разное поведение для class и struct -- чтобы сохранить совместимость с C.


В С деструкторов нет, сохранять нечего.
Re[7]: Я в шоке.
От: dilmah США  
Дата: 28.04.10 15:34
Оценка:
FR>>>По уму десктрукторы нужно было делать виртуальными по умолчанию, и ввести ключевое слово nonvirtual для тех кого оверхед не устраивает.

D>>при таком решении нужно разное поведение для class и struct -- чтобы сохранить совместимость с C.


FR>В С деструкторов нет, сохранять нечего.


не понял. У всех структур есть деструктор по умолчанию. Вопрос, делаешь ли ты его по умолчанию виртуальным? Если делаешь, то нарушаешь совместимость. Если не делаешь, то попадаешь на те же грабли, если кто-то от нее унаследуется и полиморфно использует.
Re[8]: Я в шоке.
От: FR  
Дата: 28.04.10 16:30
Оценка:
Здравствуйте, dilmah, Вы писали:

D>не понял. У всех структур есть деструктор по умолчанию. Вопрос, делаешь ли ты его по умолчанию виртуальным? Если делаешь, то нарушаешь совместимость. Если не делаешь, то попадаешь на те же грабли, если кто-то от нее унаследуется и полиморфно использует.


Запретить наследование от структур без явного деструктора.
Всяко лучше чем те грабли что сейчас.
Re[7]: Я в шоке.
От: L.Long  
Дата: 28.04.10 17:34
Оценка: -1
Здравствуйте, IID, Вы писали:

D>>>Если так рассуждать, то можно нанимать например переводчика, который даже не знает английских букв


J>>... и не может рассказать ни одного правила грамматики. Но зато переводит на лету, без ошибок и с учетом менталитета англичан и россиян — я за такого переводчика.


IID> Как он будет переводить не зная букв ?


На слух! Нафига буквы синхронисту?

IID>Ребята, включите мозги блин. Поощрять невежество нельзя! Незнание фундаментальных принципов языка === незнание языка! Эдак мы до мышей в итоге дое$%мся.


Это будет уже следующий шаг в дискуссии.
Чем совершеннее технически средство, тем более примитивные, никчемные и бесполезные сведения при его помощи передаются.(с)Станислав Лем
Re: Я в шоке.
От: Трурль  
Дата: 30.04.10 09:50
Оценка: :)
Здравствуйте, Denwer, Вы писали:

Последние два месяца прорезюмировал просто толпу соискателей на водителей Газели. Каково было мое удивление что 90% людей не знают ДЛЯ ЧЕГО НУЖЕН ДВОЙНОЙ ВЫЖИМ. Как такое может быть? Куда делись настоящие водители, а не оходники за деньгами? Что творится с людьми?
Re: Я в шоке.
От: Wolverrum Ниоткуда  
Дата: 30.04.10 14:16
Оценка: :)
Здравствуйте, Denwer, Вы писали:

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


Заметил забавную особенность
Если этот самый виртуальный деструктор "очень нужен и важен", то почему classwizard вижулстудии не создает деструктор класса сразу виртуальным?
Re[2]: Я в шоке.
От: shrecher  
Дата: 30.04.10 15:59
Оценка:
Здравствуйте, Трурль, Вы писали:

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


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


Виртуальный деструктор — затасканный вопрос. Cтыдно не знать ответ для C++ программиста, если чел его не знает, то он о C++ и не слышал.

С другой стороны, задавать этот вопрос на интревью тоже не этично: такие кандидаты отсеиваются на этапе домашней работы.
Re[8]: Я в шоке.
От: vladtronko  
Дата: 30.04.10 16:44
Оценка:
Здравствуйте, Denwer, Вы писали:

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



D>>>Вообще то в моем предложении был просто симафор, а не бинарный.


D>>вообще-то, я уже второй раз увидел написание "сИмафор".

D>>Может подобное к подобному тянется?
D>>Не хотят грамотные люди идти к неграмотному руководителю, да еще и зарплата наверно меньше 100 тыс.

D>Это вообще то транскрипция на английское слово, какая тут может быть неграмотность.


Вы хоть бы в словарик заглянули. Хоть бы в Мультитран.ру паршивенький.
Re[2]: Я в шоке.
От: minorlogic Украина  
Дата: 02.05.10 09:41
Оценка:
Здравствуйте, Wolverrum, Вы писали:

W>Если этот самый виртуальный деструктор "очень нужен и важен", то почему classwizard вижулстудии не создает деструктор класса сразу виртуальным?


classwizard разбирается в C++ design guide?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[3]: Я в шоке.
От: Handie  
Дата: 02.05.10 17:19
Оценка:
S>Виртуальный деструктор — затасканный вопрос. Cтыдно не знать ответ для C++ программиста, если чел его не знает, то он о C++ и не слышал.

S>С другой стороны, задавать этот вопрос на интревью тоже не этично: такие кандидаты отсеиваются на этапе домашней работы.


Стыдно давать домашнюю работу должно быть. Я таким чудаковатым работодателям просто не отвечал. Некоторые через месяц-другой интересовались статусом "домашней работы" когда я о них уже забывать начинал
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.