Re[2]: Блин, ну откуда столько криворуких?
От: egaron http://127.0.0.1
Дата: 30.06.06 07:02
Оценка: 19 (7) +8 -2 :))
Здравствуйте, Дарней, Вы писали:

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


Д>хотел бы я знать, что ты понимаешь под "основами ООП"


Д>PS у меня есть один знакомый, который не понимает толком разницы между виртуальными и невиртуальными функциями. Точнее, раньше не понимал Но при этом он пишет вполне качественный код — во всяком случае, намного лучше многих других наших коллег


Д>PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.


Очень согласен с тобой. Опять разгорелся флейм "тупые кандидаты" vs "умные работодатели". Если вы такие умные, то почему такие бедные ? Ну не хотите — не берите тупое быдло, которое почему-то не знает в совершенстве ООП и не хочет работать у вас за 300 баксов (утрирую но предполагаю что ситуация из этого расклада)


Меня всегда умиляли собеседователи, делающие акцент на строгую теорию. Итак, начнем

Вот сейчас специально запустил поиск по проекту слова "virtual". Не поверишь — сие слово найдено только в комментариях, в проекте нет ни одной виртуальной функции. Как по-твоему живет и существует наш крупный заграничный проект, за котороый заказчик платит неплохие деньги ? всей команде надо убить себя об стену.

Да, мало того — из разговоров коллег выясняю, что многие не знают джаваскрипта и успешно пишут приложения, многие толком не знают что такое постбэк и тоже успешно пишут, многие веб-разработчики (!) вообще понятия не имеют как виртуальный каталог на ИИСе настроить. И все пишут и надо скзаать успешно. И я бы вовсе не назвал этих людей глупыми — они пишут вполне грамотный код (я если честно сам удивляюсь иногда как)

Ведь в реальности вся эта лабуда, типа изысков ООП, виртуальных деструкторов и паттернов, и даже виртуальных функций, почти не используется в реальных проектах. ах да, я забыл — вы такие проекты называете "убогими формочками", но тем не менее за эти формочки заказчик платит деньги, и немалые.

Кстати, об ООП. Вот сейчас работаю над проектом, который проектирвался явно товарищами, помешанными на ООП (несмотря на то что даже вирт. функций ни одной нету). Строгое отделение бизнес-логики от гуи, все сущности вынесены в классы, классов такое количество, что в них запутаешься, все обращение к БД через кучу провайдеров-адаптеров. Казалось бы все грамотно и правильно — однако малейшее изменение кода в рамках данной архитектуры — перематеришься пока сделаешь — чрезмерная "объектно-ориентированность" тоже ведет к путанице кода не хуже чем "гоу ту". А уж косяков по производительности (многократное повторное считывание одних и тех же данных) — так их вообще дофига.
Так что все хорошо в меру, в том числе и использование ООП.

Теперь о руководстве. С чего Вы взяли, что руководитель должен быть прилежным кодописателем ? Разумеется, понятие о кодописании он должен иметь, но по долгу службы руководителю больше приходится решать политические вопросы и общатсья с заказчиком, нежели писать код (я в бытность свою руководителем иногда по полтора месяца не писал ни строчки кода). А теория, пусть люди ее и учили, очень быстро выветривается.

Поэтому глуп тот работодатель который начинает дрючить по теории — все мы учили и высшую математику, и ТАУ, но это же не значит что все мы может сейчас сдать с ходу экзамен ? Мне больше импонируют работодатели, которые спрашивают те вещи, которые реально пригодятся в проектах, не зацикливаясь на деталях — а по рассказу кандидата о предыдущих проектах можно понять не меньше, чем по бумажному тесту на написание сортировки массива.
Re: Блин, ну откуда столько криворуких?
От: ihatelogins2  
Дата: 29.06.06 21:08
Оценка: :))) :))) :))) :))) :))) :)
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.

За 130 тыров чистыми в месяц готов приятно удивить Вашу компанию уровнем профессионализма.
Re[3]: Блин, ну откуда столько криворуких?
От: S-SH Россия http://shmakov.ru/
Дата: 30.06.06 08:03
Оценка: :))) :))) :))) :))) :))) :)
DC>Собеседовали меня — жуть. Сначала большой группой, потом поменьше, потом мой нынешний тим лидер. Много спрашивали про ООП и особенно про паттерны. Приняли.

Вы не поняли, им просто очень хотелось узнать про паттерны от знающего человека.
IMHO. смайлики добавить по вкусу.
Re: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 30.06.06 03:15
Оценка: 10 (3) +10
Здравствуйте, DaBro, Вы писали:

хотел бы я знать, что ты понимаешь под "основами ООП"

PS у меня есть один знакомый, который не понимает толком разницы между виртуальными и невиртуальными функциями. Точнее, раньше не понимал Но при этом он пишет вполне качественный код — во всяком случае, намного лучше многих других наших коллег

PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re: Блин, ну откуда столько криворуких?
От: ilya_ny  
Дата: 30.06.06 11:52
Оценка: 22 (3) +3 :))) :)
Здравствуйте, DaBro, Вы писали:

... "откуда столько криворуких?", "перцы", "персонажи", "мне с таким мучатся до конца проекта" (попробуй "мучиться"), ... "я говорю твердое нет"
ты что хотел этим сообщением донести? какой ты способный архитектор и понимаешь "основы ооп" ?

от твоего снобизма просто воротим. вот поэтому и не идут к тебе

DB>Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать.



видят, наверное, люди что за "перец" с ними беседует, чувствуют что "будут мучиться с таким до конца проекта" и поэтому говорят ему "тведое нет"
Re[2]: Блин, ну откуда столько криворуких?
От: DmitryElj Россия  
Дата: 30.06.06 08:09
Оценка: 3 (1) +2 :))) :))) :)
Здравствуйте, Дарней, Вы писали:

Д>PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.


У меня такое ощущение, что эти вопросы задаются исключительно с целью занизить предлагаемую зарплату на собеседовании Чтобы всегда можно было задать "сложный" вопрос типа "а какой GUID у IXMLDomDocument" (для программеров), или "серийный ключ Винды" (для сисадминов), или "IP-адрес сайта Майкрософт" (для web-девелоперов) а затем со знанием собственного превосходства сказать "ну на такую зарплату вы явно не подходите, можем предложить в 2 раза ниже"
Блин, ну откуда столько криворуких?
От: DaBro  
Дата: 29.06.06 18:21
Оценка: +3 -4 :)))
Последнее время приходится собеседовать много людей. И это меня повергает в уныние.
Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
Чегож так мало хороших программистов то у нас.
Re[5]: Блин, ну откуда столько криворуких?
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 30.06.06 12:02
Оценка: 2 (2) +2 -5
Здравствуйте, xog, Вы писали:

_O_>>Многие, кстати, не способны написать сортировку.

xog>Зачем ее писать если есть стандартные способы реализации ?

Для того чтобы проверить можешь ты ее написать илии нет. Если ты сортировку не напишешь, то какой нибудь алгоритм классификации, или data mining-а просто никтогда в жизни написать не сможешь — сколько не учи.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[5]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 30.06.06 07:22
Оценка: 1 (1) +1 -6 :)
Здравствуйте, landerhigh, Вы писали:

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


L>>>Ой, не факт...

L>>>Особенно если тест на бумаге класса "напишите на С++ функцию сотрировки массива".
_O_>>Многие, кстати, не способны написать сортировку.
L>Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?

Убиваться апстену не нужно. Но придется признать, что, если Вы не понимаете, как работают и как могут быть оптимизированы такие простые алгоритмы, как сортировка массива, то вряд ли следует ожидать от Вас качественной разработки более сложного кода.
Re: вопрос по ООП
От: ilya_ny  
Дата: 02.07.06 13:28
Оценка: 10 (1) :))) :))) :)
кстати, я только что вспомнил как и мне как-то сказали, что я ооп не знаю

собеседование.. 3 мужика
1.
один нарисовал квадратик, другой взял у него бумажку, подумал немного, и рядом подрисовал прямоугольничек и спращивает : "что от чего порождено ? а нарисуй-ка нам классы!"
я говорю, что квадратик порожден от прямоугольничка, на что третий мужичек сразу и говорит : "а не фига вы, молодой человек, ооп не знаете"
после этого третий ничего не произнес до самого конца собеседования.



http://rsdn.ru/Forum/Message.aspx?mid=1370938&amp;only=1
Автор: ilya_ny
Дата: 08.09.05
Re[17]: Блин, ну откуда столько криворуких?
От: Menestrel Россия  
Дата: 10.07.06 21:14
Оценка: 32 (5) +2
Здравствуйте, Eurispheus, Вы писали:

E>Пока складывается ощущение, что вы не ориентируетесь в теме обсуждения.


Очень даже ориентируюсь. Даже могу открыть маленький секрет: в 98% случаев люди идут устраиваться на работу именно из-за денег и только из-за них. Им глубоко по барабану все красоты кАрпАрАтивных политик и вся остальная подобная чушь. Во многих случаях "халявщиками" становятся те, кто достойно работал, но при этом не получил, фактически, ничего взамен, кроме красивых слов и чисто символических "компенсаций". Те, кто посильнее духом, сваливают из конторы в новую, для других же — поиск работы это очень большой стресс и они остаются там где работают и делают вид, что все устраивает, но при этом их КПД резко начинает падать, что естественно. Есть еще и другой момент. Всяк мало-мальски начальничек считает, что его функции в том, чтобы "выдавать уголь на гора" не взирая на методы и средства. Но при этом, почему-то забывают, что работают с людьми, хотя нет — не забывают, а очень так избирательно используют свою память, подключая лишь те ее области, которые служат в целях угодничества вышестоящему руководству. И, если, работник, который раньше пахал как Папа Карло вдруг начал "халявить", то дело, обычно, заканчивается пинком под зад по собственному желанию. Еще хорошо, если расчет выплатят, а то обычное явление — забыть это сделать. Причем никто не поинтересуется, а что, собственно, стало причиной столь неэффективной работы этого сотрудника? Нужна ли ему какая-либо помощь? Ведь есть случаи, когда у человека такое случилось, что реально делать свое дело нормально он просто не в состоянии. А зачем интересоваться? Гораздо проще послать оного сотрудника в пешее эротическое путешествие и нанять нового, распределив на время поиска задачу между другими красивыми словами о их незаменимости и крутости.
Только просьба не принимать все выше изложенное лично на свой счет, может Вы как раз и радеете за сотрудников. Весь сей опус — это просто констатация фактов из реальной жизни.
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[11]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 10.07.06 09:59
Оценка: 9 (5) +2
Здравствуйте, 0legus, Вы писали:

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


K>>Я сел и написал алгоритм. Сокурсники были ничуть не глупее меня, однако взяться даже не подумали. Не знаю, чего там было больше, неуверенности или отсутствия любопытства, но и то и другое губительно. Мозгов было достаточно у всех, в этом я уверен.


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


Про снижение оценки — матан напомнили. Дали задачку. Доказать, что последовательность сходится. Применил все методы, не получается. Пригляделся — а она расходится. В Демидовиче бага. Попытался доказать. Стандартные методы не работают. Придумал и доказал нестандартно. Придумал простой пример для иллюстрации. Принес. Убедил, что Демидович не прав. И что ? Дали другую задачу, чтобы продемонстрировал нужный метод.

А в дипломе — трояк. И по терверу тоже. Терверщику не смог пояснить, почему вместо обозначения А в его лекциях использовал Б. Использовал, чтобы не было похоже на списанное с лекций. А на матане просто спрашивали много часов, пока язык не начал заплетаться. Это при том, что я тому самому матанщику выдал самый лобовой пример, как пояснять студентам, что суммой расходящихся последовательностей может быть сходящаяся. Просто взять и сложить последовательности с противоположным знаком. И при том, что на экзамене по названию сформулировал и доказал какую-то теорему, которую до этого не знал.

Я уж молчу про вступительные репитиционные, когда в работе нашли багу, бага оказалась спорной, но на аппеляцию подавать отсоветовали из-за неаккуратного оформления. В сердцах показал преподу пару багов, которые они не нашли. Цитирую препода — "ну так не спортивно".

Короче, единственный метод сдачи экзаменов, себя оправдавший — пинджак, умные слова, индивидуальный подход, цветы и шпоры.Знания не канают.
Re[6]: Блин, ну откуда столько криворуких?
От: Andrew.W Worobow https://github.com/Worobow
Дата: 30.06.06 09:42
Оценка: 3 (3) +4
Здравствуйте, Александр Каширин, Вы писали:

АК>С тех пор я согласен с Биллом Гейтсом: лучше не взять на работу 10 отличных специалистов, чем взять на работу 1 плохого.


А говорят, что Шаляпина тоже в хор не брали... А Энштейн был троешником...

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

А вообще, что-бы кто не говорил, практика критерий истины — если у человека, есть реализованные проекты, значит и у вас будут, а если он знает что такое виртуальные функции (вот ведь умора, что там можно не знать) но пректов у него нет... Значит и у вас будет занайка безрукий...

А вообще по моему, все эти вопросы, и такое острое восприятие ЗНАЕТ-НЕЗНАЕТ , это скорее всего говорит, о том что тестер недавно институт закончил... Или изучает с++ до сих пор... Вот мне как проффесионалу, вообще по**** на каком языке програмировать... Надо будет на каком-то новом, выучи за пару недель....

Да кстати, мне вот понравился один ответ на вопрос — "а почему вы меня по языку не спрашивали"... "Вы же профессионал — надо будет выучите..." был ответ...
Не все кто уехал, предал Россию.
Re[14]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 12:57
Оценка: 15 (1) -5
Здравствуйте, SkyDance, Вы писали:

E>>Уровень З/п не есть мотивационный фактор. Уровень З/п — это удерживающий фактор, и не более того. Халтурщик не станет работать больше, если ему платить больше, т.к. он остается халтурщиком. И дилетант не станет работать лучше, т.к. он остается дилетантом.

SD>Соответственно, если он — профессионал, то он им и останется. Но с высокой зарплатой он не будет расслабленно посматривать по сторонам — в этом просто не будет необходимости. Грубо говоря, зная, что у меня зарплата выше среднерыночной, я не буду отвлекаться на такие треды как этот

Так бы сразу и сказали, что у вас самооценка выше, чем з/п
Где гарантия, что вы станете хорошо работать? Если вы ленитесь, или работа неинтересная — ну возьмете себя в руки на месяц. Ну на два. Потом снова начнете лениться.

E>>А за $5000 и чужую будете выполнять? Или работать сверхурочно? Насколько вас хватит при такой работе?

SD>Я буду иначе относится к своей работе. Более ответственно — такую работу не хочется потерять. Грубо говоря — сейчас я просто работаю. Сверхурочных работ стараюсь избегать. За 5.000 — пожалуй, буду меньше избегать.

По поводу сверхурочных я уже высказался
Автор: Eurispheus
Дата: 30.06.06
.

Если вы к своей работе относитесь безответственно, з/п ничего не изменит. Ответственность не регулируется з/п, вообще никак. Это качество самого человека, так же как и порядочность.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 30.06.06 12:44
Оценка: 2 (2) +2 -2
E>Это к тому, что тех, кто стремятся на работе балду пинать, постоянно жалуясь на маленькую з/п, на порядки меньше, чем тех, кто получает удовольствие от своей работы. Поэтому принимать рас%%%%%%ев за норму — не следует

Что-то мне подсказывает, что вы не из тех самых "программистов". Варианты — потенциальный "рабовладелец" (желаете, чтобы профессионалы работали "за идею"). Или очень молодой (20? 22 года?) человек, не понимающий, что радость не в работе, а в семье и хобби.
Re: Блин, ну откуда столько криворуких?
От: Miroff Россия  
Дата: 30.06.06 04:22
Оценка: 1 (1) +5
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.

Вариантов масса, навскидку:
1. Ваш HR специально отбирает людей руководствуясь собствнными странными критериями начиная от обязательного отсутствия ВО по специальности и заканчивая незнания "самих основ ООП". Возможно, адекватных с вашей точки зрения отсеивают до собеседования с вами.
2. Ваша контора заработала себе сомнительную репутацию. Например у нас в Новосибирске есть конторы, в которые большинство хороших специалистов калачем не заманишь.
3. Ваш HR не умеет размещать объявления о вакансии. Соответственно по его объявлениям идет всякий сброд.
4. Ваша контора жмотится на заработную плату. Нечто из серии "Мы не будем платить больше X тому кто не знает самих основ ООП" не рассматирвая тот факт, что X вдвое меньше среднерыночной.
5. У вас странные требования: если к вам идут люди успевшие поруководить командой, на кой черт они идут на позицию архитектора а не тимлида или PM'а?
6. И наконец, если вашего архитектора все устраивает, может проблема в вас?

Кстати, что мешает вам найти нужного специалиста самому, мимо конторы, привести его к начальству и сказать: "вот тот, кто нам нужен".
Re[13]: Блин, ну откуда столько криворуких?
От: LuciferMoscow Россия  
Дата: 30.06.06 15:24
Оценка: 1 (1) +5
Здравствуйте, Eurispheus, Вы писали:

SD>>Удовольствие от своей деятельности получает энтузиаст Которому и Денег платить не будут — ему и так удовольствие. Профессионал — тот, кто занимается работой за деньги.

E>Профессионал — это тот, кто относится к работе ответственно, и выполняет ее лучше, чем не профессионал. За это ему платят больше, чем не профессионалу.
Неверно. Читайть словарь Даля. Проффесионал — человек, который за эту деятельность получает деньги.


E>То, что вам платят мало (или меньше, чем вы хотите), говорит лишь о том, что:

E>1. У вас завышенная самооценка (вы думаете, что стоите больше, чем есть на самом деле)
E>2. Вы вынуждены работать за эту з/п, т.к. иначе уже давно сменили бы место работы.
Вы забываете про другую мотивацию.

E>Это подтверждается и вашими словами:

E>

E>Я буду иначе относится к своей работе. Более ответственно — такую работу не хочется потерять.

E>Если работодатель не хочет вас потерять — он будет платить вам больше, поскольку на рынке труда хороших специалистов сейчас дефицит. Если вам платят мало — значит вас потерять не боятся, и в этом виноват не уж точно не работодатель.
Неверно. Большая часть работодателей мыслить приммерно так :"Зачем повышать человеку зарплату, если он и так работает?" А все разговоры о повышение начинаются только после заявления, положенного на столд.

E>Могу вас уверить, что сначала надо научиться ответственно подходить к тому делу, которым занимаетесь — это первично. Тогда к вам и отношение будет другое, и з/п пойдет вверх. Наоборот — сложнее.

Спасибо, дядя
Re[4]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 08:48
Оценка: -1 :))) :))
Здравствуйте, xog, Вы писали:

HB>>Интересно что народ считает харошей мотивацией?

xog>Ответ понятен и прост — ЗП

Т.е. если тебе платить в 1.5 раза больше — ты станешь работать в 1.5 раза лучше?
Значит, сейчас ты работаешь не в полную силу? Может, раз ты работаешь не в полную силу, то тебе и платить нужно меньше?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Блин, ну откуда столько криворуких?
От: WhiteDev  
Дата: 03.07.06 06:55
Оценка: 8 (3) :))
Здравствуйте, DaBro, Вы писали:

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

Итог "все" хотя хорошего спеца и за малые деньги, хотя более правильные понимают, что бесплатный сыр только в мышеловке и то для второй мыши! И не гоняются за дешевизной. Что обидно, на собеседовании, такие понты в больгинстве контор разводят, спросят все чего знают и о чем сами хотели бы знать в итоге после устройска "у нас есть куча добра, которую надо перелопатить, вот тебе лопата, экскаватор с собой не приносить, мы им не умеем пользоваться" (с) не помню кто с этого форума, или переводя с русского на русский: на собеседовании попонтовались много интересного рассказали, что все это надо использовать и т.д. в итоге получаешь в "наследство" код ушедшего человека, так как остальным в нем разбираться в лом и копай его, не то чтоб отнаследоваться от чего-то или использовать как кирпичик в своем коде, а тупое "выгибание" сырцов под текущие нужды, при попытке написания чего-то нового, сразу возглас использовать нужно имеющийся код, так как он работает уже и не надо плодить кучу версий с каждой реализацией, даже если все признают явно и об этом говорят тож явно, что предыдущая реализация кривая до безобразия. Это одна сторона. Вторая: работал в одной конторе, была такая постановка ТЗ в устном виде от главного разработчика (который к стати не был IT'шником, но в силу многих причин и положений был главным разработчиком) "вы пишите, пишите, даже если потом переписывать придется", все после этого работать уже не можешь, а в конторе писалось все по непонятным требования, но постоянно писалось и писалось, а потом переписывалось частично или полностью, так одну форму я переписывал 3 раза, так как постоянно менялись требования причем не от заказчика, просто "главного специалиста" перло на идеи, а потом когда всеж написали и на некоторое время забыли как оно работает со своим "хитрым" подтекстовым интелектом, он приходил и спрашивал как этим пользоваться и что вообще должно быть, а кто спрашивается идею толкал! В итоге тупое постоянное лобание кода. Это вторая сторона. Третья: вот те задание, воооот те куууча времени, делай, а больше особо нет работы (ну это по вторичным признакам определяется, явно этого никто не скажет ) код получается красивый, но его мизир, т.е. большую часть времени пытешься выдумать новую позицию на офисном стуле а никто те не собирается повышать зп и давать что-то для твоего развития, так заменимый кубик в процессе, надо сделал, не надо сиди (это в основном для больших компаний, в маленьких за каждым злой дядька с палкой, чтоб кодили и кодили ).

Выше все лирика. Вопрос на сколько реально найти работу с достойной з/п (не говорю большой, но немногоим выше среднерыночной), но под интересные проекты, не тупое лобание кода, мучения от безделия, так чтоб интересно было? Думаю не это очень проблематично Ну или хотябы чтоб после собеседования занимался тем что на нем спрашивали, а не копался в коде ушедшего работника или тупое лобание кода форм к БД с кучей copy/paste кода.
Re[13]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 30.06.06 14:52
Оценка: 6 (1) +4
X>Нет, он просто менеджер. И я солидарен с ним во мнении по этому вопросу.

IMHO — не нравится — надо увольнять. А не на форуме плакать, "где найти дешевых, но очень профессиональных специалистов".
Re[11]: Блин, ну откуда столько криворуких?
От: МихаилС Россия  
Дата: 30.06.06 12:15
Оценка: 1 (1) :))) :)
xog>>И какие это технологии, если не секрет ?

AS>Это наверное такие шаманские слова, как то: "соц. пакет", "фитнес",

AS>"хороший корпоративный дух". Но я предпочитаю деньги заместо слов

ДАЕШЬ МОНЕТИЗАЦИЮ ЛЬГОТ И ТЕХНОЛОГИЙ!!!
Re[6]: Блин, ну откуда столько криворуких?
От: Left2 Украина  
Дата: 03.07.06 09:31
Оценка: 1 (1) +4
B>Ну уж извините, сортировку пузырем написать должен каждый. Ибо помнить прадедов .

Честно говоря никогда не понимал почему именно пузырёк учат в школе. ИМХО сортировка простым выбором куда проще для понимания, настолько же проста для реализации, да и к тому же лучше по эффективности.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 12:12
Оценка: -5
Здравствуйте, Anatolix, Вы писали:

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


_O_>>>Многие, кстати, не способны написать сортировку.

xog>>Зачем ее писать если есть стандартные способы реализации ?

A>Для того чтобы проверить можешь ты ее написать илии нет. Если ты сортировку не напишешь, то какой нибудь алгоритм классификации, или data mining-а просто никтогда в жизни написать не сможешь — сколько не учи.


Ага, а если ты ее напишешь, то выходит что не знаешь стандартные реализации... и всегда будешь использовать свои опусы вместо отлаженных стандартных
Re[6]: Блин, ну откуда столько криворуких?
От: Кирилл Лебедев Россия http://askofen.blogspot.com/
Дата: 30.06.06 18:17
Оценка: +1 -4
Здравствуйте, _Obelisk_, Вы писали:

_O_>Стандартных реализаций тоже не знают.


И не надо знать. Ненужное захламление мозга. Проблема-то на пару минут поиска в Интернете.
С уважением,
Кирилл Лебедев
Software Design blog — http://askofen.blogspot.ru/
Re[6]: Блин, ну откуда столько криворуких?
От: memorilik  
Дата: 30.06.06 07:40
Оценка: 9 (2) +2
Здравствуйте, Александр Каширин, Вы писали:

АК>Здравствуйте, landerhigh, Вы писали:


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


L>>>>Ой, не факт...

L>>>>Особенно если тест на бумаге класса "напишите на С++ функцию сотрировки массива".
_O_>>>Многие, кстати, не способны написать сортировку.
L>>Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?

АК>Убиваться апстену не нужно. Но придется признать, что, если Вы не понимаете, как работают и как могут быть оптимизированы такие простые алгоритмы, как сортировка массива, то вряд ли следует ожидать от Вас качественной разработки более сложного кода.


А часто вы оптимизируете сортировки в своих проектах ? Я лично не разу, хотя проектов хватало... Всегда использовали стандартные ф-ции и все работало нормально. Более того, сейчас провел опрос своих знакомых на предмет написания сортировок, но ни кто из них правильно на бумаге сразу написать не смог. При этом все без исключения смогли обяснить чем сортировки отличаются друг от друга и где какую надо применять.
Компания вроде бы не маленькая — человек 200, на рынке с 90-х годов. При этом на собеседовании ни когда не слышал (и сам не задавал если просили собеседование провести) вопросы по языку или по алгоритмам. Если человек смог сделать охрененный проект который работает уже пару лет и при этом не может написать сортировку — и хрен с этим ! Научим за пару месяцев, самое главное чтобы он у нас такой проект повторить смог !
Re: Блин, ну откуда столько криворуких?
От: DmitryMS  
Дата: 11.07.06 15:05
Оценка: 6 (1) :)))
Дружок, и вот после таких вопров:

http://www.rsdn.ru/Forum/Message.aspx?mid=1287218&amp;only=1
Автор: DaBro
Дата: 22.07.05


ты будешь эту тему заряжать??

имхо — большинство людей, исповедуюших твои подход так и остаются кликушами. подумай об этом
Re[3]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 30.06.06 07:59
Оценка: 2 (2) +2
Здравствуйте, egaron, Вы писали:

E>Вот сейчас специально запустил поиск по проекту слова "virtual". Не поверишь — сие слово найдено только в комментариях, в проекте нет ни одной виртуальной функции. Как по-твоему живет и существует наш крупный заграничный проект, за котороый заказчик платит неплохие деньги ?

Я работал на крупном заграничном проекте на чистом Си без всяких плюсов, который берет начало в 80-х годах прошлого века. Так вот, как ни странно, уже тогда, когда не существовало такого понятия как ООП, разработчики уже мыслили этими понятиями! Я очень удивился, когда обнаружил в коде передачу кучи параметров через структуры, а некоторые вызовы сопровождались указателями на функции, которые нужно изнутри вызывать. Я вижу два основных признака ООП: инкапсуляция и полиморфизм. Даже несмотря на отсутствие тогда соответствующих средств разработки.

E>Ведь в реальности вся эта лабуда, типа изысков ООП, виртуальных деструкторов и паттернов, и даже виртуальных функций, почти не используется в реальных проектах.

Смелое заявление. Особенно насчет виртуальных деструкторов. Если класс хоть от чего-то наследован, то не применять виртуальный деструктор — это высшая степень безграмотности. (Прошу не рассказывать мне о случаях, когда внутри класса нет ни одной виртуальной функции, а данные состоят только из элементарных типов: даже если это так, то я смотрю на будущее и допускаю появление таких элементов внутри класса при расширении функциональности программного продукта).

E>Кстати, об ООП. Вот сейчас работаю над проектом, который проектирвался явно товарищами, помешанными на ООП (несмотря на то что даже вирт. функций ни одной нету). Строгое отделение бизнес-логики от гуи, все сущности вынесены в классы, классов такое количество, что в них запутаешься, все обращение к БД через кучу провайдеров-адаптеров. Казалось бы все грамотно и правильно — однако малейшее изменение кода в рамках данной архитектуры — перематеришься пока сделаешь — чрезмерная "объектно-ориентированность" тоже ведет к путанице кода не хуже чем "гоу ту". А уж косяков по производительности (многократное повторное считывание одних и тех же данных) — так их вообще дофига.

Несостоятельность архитектора, проектировавшего систему, вовсе не свидетельствует о несостоятельности ООП. Я, например, не понимаю, как вы реализуете кучу провайдеров-адаптеров, если у вас нет ни одной виртуальной функции? Как реализуется подстановка схожей функциональности на другом движке (скажем, смена БД)? Шаблонами с частичной специализацией? Или вообще полным переписыванием провайдера? А как же повторное использование кода? Что-то у вас с архитектурой явно не то...


E>А теория, пусть люди ее и учили, очень быстро выветривается.

Зависит от степени "выученности". Если человек зазубрил, чтобы сдать зачет — да, быстро забывается. А если он понимает процесс — в любой момент времени эти знания легко выуживаются из глубин мозга.

E>Поэтому глуп тот работодатель который начинает дрючить по теории...

Согласен. Именно поэтому практические тесты типа "решите, пожалуйста, вот эту задачу" мне тоже кажутся значительно более показательными. Я с некоторых пор являюсь ярым приверженцем выдачи тестового задания еще до технического собеседования (т.е. после вступительного собеседования, когда примерно понятно, что человек заинтересован у нас работать). При этом от человека в явном виде требуется разработка масштабируемого, расширяемого, надежного, поддерживаемого кода. Сложность задания оценивается примерно в 2-3 часа на фукнционал и еще 2-3 часа на красивое оформление. Мы давали на его реализацию неделю. Т.е. если человек хочет прийти к нам работать, то за неделю он наверняка сможет найти немножко свободного времени для того, чтобы показать себя. Это же, кстати, впоследствии позволит сэкономить время на техническом собеседовании (а не так как в фирме Materialise в Киеве: собеседование расчитано на полный день до вечера).

Так вот, любопытнейшие результаты, я вам скажу Примерно 80% решений удается "завалить" парой-тройкой тестовых примеров. Больше половины оставшихся написаны методом "copy-paste" (это если обобщенно). А один кадр, получив задание, вообще замолк, и через его знакомых до нас дошла информация, что он на нас обиделся: "Они там что, студентом меня считают что ли? Дают задание, на которое в интернете можно найти кучу решений. Да пошли они куда подальше, я им не студент, мой уровень не настолько низок, чтобы вот так меня тестировать". Тут тоже понятно: завышенная самооценка и немеренные амбиции, от чего потом огребем по полной программе (я готов обосновать, в моей практике есть парочка примеров).

E>Мне больше импонируют работодатели, которые спрашивают те вещи, которые реально пригодятся в проектах, не зацикливаясь на деталях — а по рассказу кандидата о предыдущих проектах можно понять не меньше, чем по бумажному тесту на написание сортировки массива.

Как проверить, что кандидат наговорил про "свои проекты" всю правду и только правду и ничего кроме правды?
Re[4]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 06:41
Оценка: 1 (1) :)))
_O_>Многие, кстати, не способны написать сортировку.
Зачем ее писать если есть стандартные способы реализации ?
Re[6]: Блин, ну откуда столько криворуких?
От: xtile  
Дата: 30.06.06 12:36
Оценка: 1 (1) +3
Здравствуйте, Дарней, Вы писали:

C>>Это их проблемы, я думаю кривых рук хватает и в ABBYY


Д>удивительно только, почему это одна из немногих российских компаний, которые продают свой продукт по всему миру.


Это удивительно и сложно понять, но зачастую самые успешные проекты отвратительно выглядят изнутри.
Re: Блин, ну откуда столько криворуких?
От: Un0  
Дата: 30.06.06 06:05
Оценка: -4
Здравствуйте, DaBro, Вы писали:

И не говорите
найти нормального спеца проблема

а криворуких вообще дохрена.
Re[9]: Блин, ну откуда столько криворуких?
От: eaa Украина  
Дата: 30.06.06 12:56
Оценка: :))) :)
Здравствуйте, Igor Sukhov, Вы писали:

IS>назовите хотя бы три отличия структур от классов в С++ ?


1) доступ по умолчанию
2) class — 5 символов struct — 6 символов
3) struct можно писать когда у тебя не работает клавиша 'A' а class нельзя
Re[12]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 15:13
Оценка: -4
Здравствуйте, SkyDance, Вы писали:

SD>Вы на вопрос не ответили. Пост-студент, "рабовладелец", или программист с опытом?


Я, пожалуй, не стану отвечать на глупые вопросы. Странно, что вы это не поняли, когда я проигнорировал предыдущий.

SD>Удовольствие от своей деятельности получает энтузиаст Которому и Денег платить не будут — ему и так удовольствие. Профессионал — тот, кто занимается работой за деньги.


Профессионал — это тот, кто относится к работе ответственно, и выполняет ее лучше, чем не профессионал. За это ему платят больше, чем не профессионалу.

То, что вам платят мало (или меньше, чем вы хотите), говорит лишь о том, что:
1. У вас завышенная самооценка (вы думаете, что стоите больше, чем есть на самом деле)
2. Вы вынуждены работать за эту з/п, т.к. иначе уже давно сменили бы место работы.

Это подтверждается и вашими словами:

Я буду иначе относится к своей работе. Более ответственно — такую работу не хочется потерять.


Если работодатель не хочет вас потерять — он будет платить вам больше, поскольку на рынке труда хороших специалистов сейчас дефицит. Если вам платят мало — значит вас потерять не боятся, и в этом виноват не уж точно не работодатель.

Могу вас уверить, что сначала надо научиться ответственно подходить к тому делу, которым занимаетесь — это первично. Тогда к вам и отношение будет другое, и з/п пойдет вверх. Наоборот — сложнее.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 02.07.06 02:47
Оценка: +4
Здравствуйте, DaBro, Вы писали:

DB>А кретерии жесткие у нас XP, очень высокий темп...


Скорее всего, ответ на Ваш вопрос зарыт где-то здесь. AFAIK, хорошие C++-ники к словам "XP", "паттерны" и прочим buzzwords относятся настороженно.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Блин, ну откуда столько криворуких?
От: execve  
Дата: 30.06.06 16:15
Оценка: 10 (2) +1
Здравствуйте, Eurispheus, Вы писали:

xog>>И какие это технологии, если не секрет ?


E>Свои тренинговые центры,


и отсутствие выбора

E>возможности проходить обучение/сертификацию за счет компании, спортивные программы,


и отсутствие выбора

E> собственная инфраструктура


и отсутствие выбора

IMHO лучше зарабатывать больше, но иметь возможность ходить в фитнес/покупать страховку/обедать в ресторане, который понравился тебе, а не с которым максимально выгодно договорилась твоя компания.
Re: Блин, ну откуда столько криворуких?
От: Andrew.W Worobow https://github.com/Worobow
Дата: 29.06.06 19:02
Оценка: 1 (1) +2
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.


Просто берите лучшее что есть, главное опыт и мотивация к работе... Научатся... Можно даже сказать — неожиданно быстро, научатся...
Не все кто уехал, предал Россию.
Re[3]: Блин, ну откуда столько криворуких?
От: _Obelisk_ Россия http://www.ibm.com
Дата: 30.06.06 04:41
Оценка: 1 (1) +1 -1
Здравствуйте, landerhigh, Вы писали:

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


M>>на 25 собеседование попривыкнешь. Потом поймешь суть надобности наличия тестов.

L>Ой, не факт...
L>Особенно если тест на бумаге класса "напишите на С++ функцию сотрировки массива".

Многие, кстати, не способны написать сортировку.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[5]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 06:56
Оценка: 1 (1) +1 :)
Здравствуйте, creatman, Вы писали:

C>Хм...

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

Заменит это все невиртуальными реализациями, хуже если человек все это знает (по книжкам) и пытается слепить все вместе, вот тогда точно кранты. Самое главное — опыт.
Дополнение
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 02.07.06 11:18
Оценка: 1 (1) +2
Здравствуйте, DaBro,

Да, и ещё. Надеюсь, в объявлениях о вакансиях вашей фирмы нет ещё одной фразы, являющейся Репеллентом От Хороших Программистов: "Требуются... амбициозные... до 30 (вариант: 35)".
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re: Блин, ну откуда столько криворуких?
От: Antidote  
Дата: 30.06.06 01:34
Оценка: +1 -2
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.

Хорошие спецы стараются поработать в иностранной конторе. Оттуда, как результат, знание инглиша. А дальше куда? Правильно, попробовать за границей. В Кенгуряндию иммигрируют в основном IT-шники. И судя по моим знакомым — именно хорошие спецы.
Найти хорошего спеца с инглишом — вообще трудно.
Чему бы грабли ни учили, а сердце верит в чудеса.
Re: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 06:25
Оценка: +1 :))
Бабло побеждает зло... (с)
Re[3]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 06:42
Оценка: -3
HB>Интересно что народ считает харошей мотивацией?
Ответ понятен и прост — ЗП
Re[5]: Блин, ну откуда столько криворуких?
От: kollega Россия  
Дата: 30.06.06 06:47
Оценка: +1 :))
Здравствуйте, xog, Вы писали:

_O_>>Многие, кстати, не способны написать сортировку.

xog>Зачем ее писать если есть стандартные способы реализации ?

Ну вот, опять началось. Новый флейм на тему надо или не надо уметь написать сортировку.
Re[5]: Блин, ну откуда столько криворуких?
От: aik Австралия  
Дата: 30.06.06 06:58
Оценка: +3
Здравствуйте, landerhigh, Вы писали:

L>>>Ой, не факт...

L>>>Особенно если тест на бумаге класса "напишите на С++ функцию сотрировки массива".
_O_>>Многие, кстати, не способны написать сортировку.
L>Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?

если реально не можешь (а не "не хочешь"), то да, апстену
Re[6]: Блин, ну откуда столько криворуких?
От: AmSpb  
Дата: 30.06.06 07:16
Оценка: +3
Здравствуйте, creatman, Вы писали:

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


AS>>>Есть и такое. Мало где пригождается. Как говорится простота залог успеха


xog>>Абсолютно согласен


C>Абсолютно не согласен. Работаю в большой компании, над большой и серьезной системой, виртуального наследования тут хватает и оно тут к месту. И вопрос тут не в том пригождается оно или нет, а в том знает ли человек проектирующий систему и выбирающий вариант реализации о том, что виртуальное наследование есть вобще, и знает ли он, что если он его забудет использовать, то в определенных (в полне обычных случаях) его система рухнет как карточный домик! Если он не знает этого то просто у него нет опыта и он мало наступал на грабли, по которым прошли многие специалисты.


Сделать из сложного простое задача нетривиальная и виртуальное наследование этому никак не способствует
Re[7]: Блин, ну откуда столько криворуких?
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 30.06.06 12:38
Оценка: +3
Здравствуйте, xog, Вы писали:

xog>Ага, а если ты ее напишешь, то выходит что не знаешь стандартные реализации... и всегда будешь использовать свои опусы вместо отлаженных стандартных


Конечно же это утверждение полнейшая глупость. Это как утверждать "ага раз ты знашь русский, английский в принипе знать не можешь". Стандартные реализации конечно же тоже спрашивать на собеседовании нужно тоже.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re: Блин, ну откуда столько криворуких?
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 01.07.06 06:01
Оценка: +3
Может, дело в потребности к самореализации? Многим известным мне относительно (выражусь осторожно, т.к. не знаю ваших запросов) хорошим специалистам уже не хочется тратить себя на кодирование в рамках существующих проектов со вполне сложившейся архитектурой и хорошо сидящим лидером команды, определяющим направление развития проекта. Ибо неинтересно это. А новых софтверных проектов (не считая сайтостроения) не так много появляется — по кр. мере, в нашей провинциальной столице. А для тех, что появляются, обычно находят "руководителей" либо из текущего коллектива, либо по знакомству, причем выбирают, как известно, обычно не лучших, а особ наиболее приближенных Как-то поработал под одним таким, вот уж впору писать аналогичный пост о криворуких руководителях

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 02.07.06 03:05
Оценка: +3
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.

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

1. buzzwords. XP, паттерны.

Запомните, а лучше — запишите. Это — ругательства. Хорошие программисты плевать хотели на гвалт, который поднимается в индустрии по тому или иному поводу. Так что, это скорее отпугивающий фактор, нежели привлекающий.

2. Unit-test

По фигу, как его называть. Если тест нужно встроить в какой-то фреймворк — давайте API. Назовёте Вы его unit-test-ом или ещё как-то, значения не имеет. Если имеет — то это очередное buzzword, так что — в лес с такими увлечениями.

3. Очевидное противоречие в сообщении:

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


А откуда он такой взялся, что озвучивает з/п требования, превышающие те, на которые могут рассчитывать самые квалифицированные разработчики? Значит — в описании вакансии имелись и "опыт управления", и предложения по з/п. В сочетании с buzzwords получилась страшилка для опытных спецов и завлекалочка для малоопытных.

Так что, чего Вы хотите-то?
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 03.07.06 12:40
Оценка: +3
Здравствуйте, creatman, Вы писали:

C>Извиняюсь что поздно отвечаю.

C>Вобще-то я имел ввиду структуры в терминах Си. Я указал на то, что если вы считаете виртуальные функции или виртуальное наследование излишними фичами языка, которые вам не нужны, тогда пересмотрите вопрос о выборе языка для своего следущего проекта.

ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.

а теперь внимание вопрос: линейкой из какого железа следует бить по пальцам людей, которые используют этот тип наследования в большом проекте? Хинт — большой проект подразумевает:

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

2.большое время жизни проекта, только усугубляющее положение средних разработчиков из п.1, и как следствие положение самого проекта (большой проект — он ведь держится на средних разработчиках).
* thriving in a production environment *
Re[11]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 04.07.06 11:19
Оценка: :)))
Здравствуйте, landerhigh, Вы писали:

L>Интересно.. А ошибки системы что, сами собой возникают? Это ошибки в юнитах, не отловленные на этапе юнит-тестов, пусть даже они и возникают только на этапе интеграции системы.


Я попытаюсь объяснить на примере... Предположим, что у нас есть два юнита: парень и девушка Оба юнита можно замечательно протестировать: девушка умная, красивая, спортсменка, комсомолка , общительная, с веселым характером, с адекватной реакцией на входные воздействия (кроме того, которое до сих пор мы не могли протестировать по вполне понятным причинам ). Парень — неглупый, симпатичный, турист-скалолаз, душа компании, умеет играть на гитаре. Оба юнита были разработаны 20 лет назад, их баги были выловлены и исправлены в первые 10 лет существования, и вот уже 10 лет как юнит-тестирование этих двух юнитов можно считать 100% завершенным

И вот некий архитектор (который, собственно говоря, и занимается организацией всех процессов, которые происходят там, где функционируют эти юниты ) решает объединить эти юниты в единую систему...

Вопрос: как поведет себя система из объединения двух перечисленных юнитов? Я утверждаю, что, несмотря на стабильное функционирование этих юнитов по-отдельности на протяжении вот уже 10 лет, немеренное количество багов попрет сплошным потоком

L>Вопрос еще и в том, что и когда считать юнитом

Ну в некоторых технологиях юнит-тестирования это четко оговорено. Посмотрите на JUnit — классический пример подхода к юнит-тестированию. Или я не прав?
Re[6]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 04.07.06 23:30
Оценка: :)))
Здравствуйте, NailS, Вы писали:

NS>Всех желающих на испытательный не возмешь (на испытательном деньги тоже платят), необходимо отсеять лишних.

NS>А по каким критериям отсеивать — тема не раскрыта.
NS>Так что, ИМХО, простой тест или вопросы на общую вменяемость очень даже вариант.
Тут в одном таком тесте, претендующем на звание теста на вменяемость, видел вопрос "В чем основное отличие Unix от Windows?"
Re[20]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 12.07.06 01:21
Оценка: +2 :)
Здравствуйте, Александр Каширин, Вы писали:

АК>Ненадежен — да, несомненно. Однако в остальном — никакой это не выпендрежь, а совершенно нормальный, простой, часто встречающийся, легкочитабельный и эффективный код. Добавить туда еще контроль размера буфера — и цены этому коду не будет


нормальный, простой, легкочитабельный и эффективный код — это ArrayCopy(src, dst)
а за выпендреж c "while(*dest++ = *src++);" надо бить по рукам резиновой дубинкой
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[7]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 16:32
Оценка: +3
Здравствуйте, Eurispheus, Вы писали:

Д>>>пожалуй, так оно и есть. Обычная история о сапожнике, который взялся пироги печь.

P>>Скорее, взялся возглавить сапожное производство — там от него избавиться намного сложнее.

E>Т.е. бывший программист, взявшийся возглавить процесс разработки, это плохо?


Обобщать нельзя, но зачастую ситуация напоминает "потеряли хорошего программиста и получили паршивого менеджера".
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[5]: Блин, ну откуда столько криворуких?
От: Un0  
Дата: 30.06.06 09:25
Оценка: 15 (1) :)
xog> Каким способом вы выявляете кривизну рук ?

криворукомером
Re[4]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 02:09
Оценка: 5 (1) +1
Здравствуйте, xog, Вы писали:

xog>Ответ понятен и прост — ЗП


повышение ЗП не может стать положительной мотивацией само по себе, в отрыве от других факторов работы
Но ЗП очень легко становится мощной отрицательной мотивацией, если ее размер у хороших работников не повышать
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[10]: Блин, ну откуда столько криворуких?
От: vic_spb Россия  
Дата: 02.03.07 07:20
Оценка: 3 (2)
Здравствуйте, trophim, Вы писали:

T>Здравствуйте, DEMON HOOD, Вы писали:


T>skipped


DH>>можно подумать, что ты сейчас не в интернете и работаешь...


T>Мне кажется, что не надо про интернет обобщать. Думаю, что предыдущий оратор абсолютно прав. Знать алгоритмы следует (кончено не настолько, чтобы посреди ночи выпалить с первого раза верную и оптимальную реализацию) чтобы представлять хотя бы сложность алгоритма, дабы, когда придет время выбора, сделать его обоснованно. А не то получится как с Васей Пупкиным (см пост выше).


T>Эх, а я временами тоже удивляюсь, почему люди пишут иногда такуууую хрень, что смотреть больно...


На мой взгляд ситуация опять таки связана с зарплатами. Приходит молодой человек (студент или сразу после института) с него много не спрашивают, сильно не натаскивают ну и платят копейки. Опыт по трудовой у него накапливается, а знаний — 0. Далее все хотят повышения и больше денег. Причем похожая ситуация не только в области программирования, в любом бизнесе. Причем постепенного повышения зарплаты для молодога специалиста тоже я не видел. Даже если он начал разбираться, скажут ему "большое военно-морское спасибо". Ну и далее все просто. Если чел толковый — он меняет работу. Если нет- либо так же просиживает штаны, либо меняет профессию.
Улыбайтесь вас снимает снайпер.
Re[7]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 30.06.06 07:16
Оценка: 1 (1) +1
Здравствуйте, creatman, Вы писали:

C>МДаааа... No Comments


правильно пишет. Самый худший код, который я видел в своей работе — это написанный такими вот "мега-гуру", которые на ровном месте наворотили кучу ненужных фенечек. Так что в результате получилась "архитектура", которая расширяется во всех мыслимых направлениях, кроме тех, которые нужны реально. Кода я этот мусор переписал, объем кода уменьшился в разы. Это при том, что я еще новый функционал добавил.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[4]: Блин, ну откуда столько криворуких?
От: minorlogic Украина  
Дата: 30.06.06 08:20
Оценка: 1 (1) +1
Здравствуйте, Александр Каширин, Вы писали:

[skiped]

АК>Так вот, любопытнейшие результаты, я вам скажу Примерно 80% решений удается "завалить" парой-тройкой тестовых примеров. Больше половины оставшихся написаны методом "copy-paste" (это если обобщенно). А один кадр, получив задание, вообще замолк, и через его знакомых до нас дошла информация, что он на нас обиделся: "Они там что, студентом меня считают что ли? Дают задание, на которое в интернете можно найти кучу решений. Да пошли они куда подальше, я им не студент, мой уровень не настолько низок, чтобы вот так меня тестировать". Тут тоже понятно: завышенная самооценка и немеренные амбиции, от чего потом огребем по полной программе (я готов обосновать, в моей практике есть парочка примеров).


Да , совершенно согласен , многие мои знакомые , отличные специалисты именно так и поступают, когда им дают тестовое задание. Один раз даже слышал уволили человека посел того как он давал тестовые задания и упустил всех специалистов которые могли сделать работу.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[4]: Блин, ну откуда столько криворуких?
От: Miroff Россия  
Дата: 30.06.06 08:27
Оценка: 1 (1) +1
Здравствуйте, Александр Каширин, Вы писали:

E>>Мне больше импонируют работодатели, которые спрашивают те вещи, которые реально пригодятся в проектах, не зацикливаясь на деталях — а по рассказу кандидата о предыдущих проектах можно понять не меньше, чем по бумажному тесту на написание сортировки массива.

АК>Как проверить, что кандидат наговорил про "свои проекты" всю правду и только правду и ничего кроме правды?

Легко: "Почему вот здесь вы использовали вот это решение?" Если он может адекватно объяснить почему задать еще один: "А если бы вот это требование изменилось, какое решение вы бы приняли?" Если кандидат способен внятно и аргументированно отвечать на такие вопросы, какая разница, правду он говорит или нет? Если не способен, это тем более не имеет значения.
Re[5]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 30.06.06 08:55
Оценка: 1 (1) +1
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, Александр Каширин, Вы писали:


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

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

Если на просьбу написать, хоть и простое, но надежное, масштабируемое, расширяемое и поддерживаемое приложение, человек отвечает, что кучу решений этого задания можно найти в интернете, то я уже начинаю сомневаться в том, что он выполнит мою просьбу (причем по всем четырем критериям сразу). А это значит, что он просто не представляет себе, что от него требуется. Значит максимум, что с ним можно сделать после принятия на работу — это начинать его учить на позиции Junior. Однако из его амбиций следует, что студентом он быть не намерен.

По поводу "так и отвечают" — у меня другое мнение. Я считаю, что если я лезу в чужой огород, то "со своим уставом" это будет не совсем корректно. Поэтому придерживаюсь их устава. И если он требует написания тестового задания, то мне не стыдно показать свои навыки, выполнив его. Тем более, кстати, что зачастую эти задания бывают чрезвычайно интересными и заставляют мозг встряхнуться Мне, например, было стыдно, когда после тестового задания на техническом собеседовании в CQG мне ненавязчиво показали, в каком случае моя программа зависает. А это реальный показатель того, что я чего-то не предусмотрел, и более внимательный подход к вариантам решения стал для меня очередным пунктиком. Сегодня я осознаю, что после того тестового задания я начал мыслить немножко иначе, поднявшись еще на одну ступеньку вверх.

Насчет "отличных специалистов"... У нас работал такой "специалист, который мог сделать работу". Поначалу он довольно быстро выполнил часть крупного проекта в части интерфейса пользователя одного из рабочих мест: получилось неплохо, удобно, он получил премию и прибавку к зарплате. После этого на него была частично возложена функциональная часть проекта...

Примерно через полгода затраты на командировки к заказчикам по устранению рекламаций начали превышать все мыслимые суммы, а время, проведенное в командировках, у этого товарища начало превышать время, проведенное на рабочем месте. В результате вмешательства более опытных товарищей вдруг оказалось: да, товарищ "может сделать работу"... но когда он берется за серверное решение, то он совершенно не отдает себе отчета в том, что ошибка защиты памяти или просто не пойманное исключение не просто вынудит пользователя перезапустить программу, а приведет к остановке системы и необходимости вмешательства сисадмина. А за полгода он успел наковырять столько исходного кода... В общем, "причесывание" проекта заняло еще почти полтора месяца, пока наконец система не стала более-менее стабильной. А у фирмы — куча убытков.

С тех пор я согласен с Биллом Гейтсом: лучше не взять на работу 10 отличных специалистов, чем взять на работу 1 плохого.
Re[5]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 08:59
Оценка: 1 (1) -1
Здравствуйте, Eurispheus, Вы писали:

HB>>>Интересно что народ считает харошей мотивацией?

xog>>Ответ понятен и прост — ЗП

E>Т.е. если тебе платить в 1.5 раза больше — ты станешь работать в 1.5 раза лучше?

E>Значит, сейчас ты работаешь не в полную силу? Может, раз ты работаешь не в полную силу, то тебе и платить нужно меньше?
Не совсем так, если человек получает 100 рублей и знает, что ему больше чем 100 рублей не светит и на эти деньги он без труда найдет
себе работу в любой другой конторе, то какой смысл ему напрягаться, изучать что-то новое, совершенствоваться и т.д. ?
Re[9]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 09:02
Оценка: 1 (1) +1
Здравствуйте, superman, Вы писали:

S>Здравствуйте, Дарней, Вы писали:


S>тем не мение ИМХО это никоим образом не отменяет необходимость наличия хоть каких-то минимальных "книжных" знаний.

Здесь речь шла немножко не об этом, книжные знания это очень хорошо, чем больше, тем лучше и с этим никто не спорит, просто
если человек ничего кроме них не видел, а просто запомнил все "умные" слова и примеры их использования, то толку от него
все-равно 0.
Re[12]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 10:54
Оценка: 1 (1) -1
Здравствуйте, Eurispheus, Вы писали:

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


xog>>>И какие это технологии, если не секрет ?

AS>>Это наверное такие шаманские слова, как то: "соц. пакет", "фитнес", "хороший корпоративный дух". Но я предпочитаю деньги заместо слов

E>После определенного уровня дохода, сам по себе уровень дохода перестает быть приоритетом №1.

E>Вступают в силу другие факторы.

E>Это тоже самое, как и различия акцентов у разных слоев населения.

E>У работницы музея забота №1 — как сделать, чтобы хватило и на еду и на квартиру.
E>У менеджера среднего звена — какую бы машину выбрать взамен старой и на какой курорт поехать в отпуск.

Ага, а простой программер с определенным уровнем дохода без корпоративного духа просто не может , ему и деньги не нужны ему дух подавай
Re[12]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 11:01
Оценка: 1 (1) -1
Здравствуйте, SkyDance, Вы писали:

E>>Ну хорошо, предположим он работает плохо за 100р, и меня это не устраивает. Станет ли он за 150р работать лучше? Если да, то выходит, что сейчас он намеренно плохо работает?

SD>Нет, не совсем так. Сейчас ваш работник не мотивирован делать что-то в срок и качественно. Никаких рычагов давления на него нет — он не боится увольнения. Если вы будете платить 150р. а в другой фирме только 100, у него будет причина для беспокойства за своё рабочее место и хоть какое-то желание делать свою работу лучше, чем "в среднем".

Вот мы и подошли к самому главному.
Уровень З/п не есть мотивационный фактор. Уровень З/п — это удерживающий фактор, и не более того. Халтурщик не станет работать больше, если ему платить больше, т.к. он остается халтурщиком. И дилетант не станет работать лучше, т.к. он остается дилетантом.

SD>И это правильный подход. За $5.000 в месяц я буду работать лучше, чем сейчас. Это не значит, что сейчас я намеренно плохо работаю. Свою работу я выполняю. Но НЕ БОЛЕЕ того. Ибо — нет мотивации.


А за $5000 и чужую будете выполнять? Или работать сверхурочно? Насколько вас хватит при такой работе?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: Блин, ну откуда столько криворуких?
От: dr.Chaos Россия Украшения HandMade
Дата: 30.06.06 12:55
Оценка: 1 (1) +1
Здравствуйте, SkyDance, Вы писали:

SD>Что-то мне подсказывает, что вы не из тех самых "программистов". Варианты — потенциальный "рабовладелец" (желаете, чтобы профессионалы работали "за идею"). Или очень молодой (20? 22 года?) человек, не понимающий, что радость не в работе, а в семье и хобби.


Все должно быть если не в радость, то хотя бы с одовольствием, потому что когда приходишь с работы и тебя устойчиво тошнит, то тошнит обычно на близких да и на хобби тоже .
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[15]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 30.06.06 14:50
Оценка: 1 (1) +1
E>Так бы сразу и сказали, что у вас самооценка выше, чем з/п
E>Где гарантия, что вы станете хорошо работать? Если вы ленитесь, или работа неинтересная — ну возьмете себя в руки на месяц. Ну на два. Потом снова начнете лениться.

Я и сейчас хорошо работаю. Могу лучше работать — но не вижу смысла на текущей должности. Может, и правда работа неинтересная, не на своем месте сижу.

E>Если вы к своей работе относитесь безответственно, з/п ничего не изменит. Ответственность не регулируется з/п, вообще никак. Это качество самого человека, так же как и порядочность.


Блин. Да сколько можно... давно уже сдох рабовладельческий строй! И коммунизм умер. Не будет человек мотивирован красивыми словами "ответственность", "долг", "благородство". Семью обещаниями не накормишь.
Re: Блин, ну откуда столько криворуких?
От: Dair Россия  
Дата: 02.07.06 11:16
Оценка: 1 (1) +1
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

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

Мне вот интересно, Вы в какой компании работаете? (хотя бы в каком городе)

Я тут пару месяцев назад был в одной компании. Был уличён (справедливо) в "незнании основ ООП" (я не знал всех правил множественного наследования и внятно по-русски не мог объяснить, что такое полиморфизм). Ещё был уличён, видимо, в невнимательности (тест: код на C++ на бумажке, задача: найти ошибки) и в непонимании in-core (Описана структура с виртуальными методами, вопрос про sizeof от этой структуры). В результате "в данный момент мы не можем предоставить позицию в нашей rомпании, в силу несоответствия наших специфических требований к данной вакансии и Вашего профессионального опыта" (ответ HR).

Для справки: я в своей жизни за 7 лет опыта использовал множественное наследование 2 (два) раза, когда так было просто удобнее. При этом ромбообразного наследования там не было и в помине.

При этом год назад в другой питерской компании мне был выдан тест, результатом которого должна была быть работающая программа. И она мной была-таки написана. И на работу меня брали. Правда, я сам тогда не пошёл, но это другая история.

Я встречал людей, которые прекрасно знали основы ООП. Но применять на практике боялись (именно так).
При этом были не способны разучить формат makefile'а. Или какие-то базовые вещи в bash. Или вообще читать ошибки компилятора.

Резюме: досконально знать принципы ООП надо учителю программирования, имхо. А разработчику надо уметь их правильно применять.
Давайте рабочий тест. Даже тем, кто не знает принципов ООП. Потом устройте code revision. Позовите коллег. Будет круто, точно говорю
Re[8]: Блин, ну откуда столько криворуких?
От: Кирилл Лебедев Россия http://askofen.blogspot.com/
Дата: 02.07.06 17:56
Оценка: 1 (1) +1
Здравствуйте, Pyromancer, Вы писали:

P>Если за всем лезть в интернет то когда же работать? И вообще, найдёт такой чудо-рабоник с незахламлённым мозгом в интернете реализацию пузырьковой сортировки студента первого курса Васи Пупкина и влепит её в проект, мозг-то незахламлён лишними знаниями даже названий алгоритмов сортировки.


Вот и проверять нужно не знание конкретного алгоритма (даже если человек знает пузырьковую сортировку, не факт, что он сможет корректно написать алгоритм отсечения), а умение пользоваться справочными средствами (MSDN, Интернет), умение найти необходимый алгоритм и умение его правильно адаптировать.
С уважением,
Кирилл Лебедев
Software Design blog — http://askofen.blogspot.ru/
Re[14]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 03.07.06 06:31
Оценка: 1 (1) +1
LM>Неверно. Читайть словарь Даля. Проффесионал — человек, который за эту деятельность получает деньги.

Именно так

LM>Вы забываете про другую мотивацию.


Совершенно верно!

LM>Неверно. Большая часть работодателей мыслить приммерно так :"Зачем повышать человеку зарплату, если он и так работает?" А все разговоры о повышение начинаются только после заявления, положенного на столд.


ТОЧНО! Все так и есть и все так и БЫЛО! И, боюсь, будет. Меня очень сильно напрягает именно такое отношение. Нужно что-то вроде предварительного обсуждения, в конце концов, составленный план повышений (делаешь то — получаешь это, завершаешь этот проект — получаешь еще такие плюшки). А то — из трех компаний, где довелось плодотворно работать, во всех трех повышение следовало лишь за ультимативным заявлением с демонстрацией конкретного места, где возьмут с удовольствием и на бОльшие деньги. Намеки словами "вот уже год как мои обязанности растут, а зарплата — нет" не помогают. Намёки "я готов делать чуть больше" воспринимаются исключительно прямолинейно и решаются путем добавления обязанностей.
Не знаю, наследие ли это совка или просто наши доморощеные менеджеры считают себя самыми умными (по крайней мере, много умнее "рядовых" сотрудников)

E>>Могу вас уверить, что сначала надо научиться ответственно подходить к тому делу, которым занимаетесь — это первично. Тогда к вам и отношение будет другое, и з/п пойдет вверх. Наоборот — сложнее.

LM>Спасибо, дядя

я лучше и ответить не мог.
Re[5]: вопрос по ООП
От: Kisloid Мухосранск  
Дата: 03.07.06 10:06
Оценка: 1 (1) +1
Здравствуйте, Sergey Philippov, Вы писали:

SP>IMHO, все немного проще: квадрат — это частный случай прямоугольника...


ИМХО кажется ничего подобного, у квадрата и прямоугольника общее только то, что они есть класс геометрических фигур. Так что в принципе можно отнаследолвать их от общего абстрактного базового класса Shape. Квадрат не есть частный случай прямоугольника в терминах ООП, да и в математике насколько я помню тоже.

Если бы мне дали такое задание, я бы написал что то вроде этого:

class Shape
{
  virtual void Draw() const = 0;
};

class Square : public Shape
{
private:
  int left_;
  int top_;

  int sideSize_;

public:
  Square() {}
  Square(int left, int top, int sideSize) : left_(left), top_(top), sideSize_(sideSize) {}
  Square(const Square &);
  
  void Draw() const;

  // ...
};

class Rectangle : public Shape
{
private:
  int left_;
  int top_;

  int width_;
  int height_;

public:
  Rectangle() {}
  Rectangle(int left, int top, int width, int height) : 
    left_(left), top_(top), width_(width), height_(height) {}
  Rectangle(const Rectangle &);

  void Draw() const;

  // ...
};



Интересно, меня бы с таким решением тоже отправили бы ?
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[19]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 11.07.06 04:55
Оценка: 1 (1) +1
Здравствуйте, Eurispheus, Вы писали:

E>Работайте хорошо, и ваша з/п будет расти.


Это в идеале. А на практике обычно работника начинают ценить, когда он кладет на стол заявление об увольнении. Или еще позже, когда пытаются найти другого на его место.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[20]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 11.07.06 08:09
Оценка: 1 (1) +1
Здравствуйте, Дарней, Вы писали:

E>>Работайте хорошо, и ваша з/п будет расти.

Д>Это в идеале. А на практике обычно работника начинают ценить, когда он кладет на стол заявление об увольнении. Или еще позже, когда пытаются найти другого на его место.

Действительно, много таких организаций, где именно так. Их нужно воспитывать, и не нужно в них устраиваться работать.

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

Определенно, истина находится где-то посередине.
И если вы хороший специалист, то
а) Не работайте в организациях, где вас не ценят
б) Если вас ценят — то не злоупотребляйте этим, и делайте свое дело хорошо

Если же вы работаете там, где за ваш труд вам платят неадекватно низкую з/п — то вы тем самым поощряете такой подход к вам со стороны работодателя и занижаете планку з/п на рынке труда для вашей позиции.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[20]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 11.07.06 15:59
Оценка: 1 (1) +1
Здравствуйте, Геннадий Васильев, Вы писали:

K>>Кто-то бросает исключение. Я обычно делаю break. [...] А с goto у меня никогда нет уверенности, является ли такой выход корректным.


ГВ>У меня тоже не всегда есть такая уверенность. Здесь лучше всего помогает чтение стандарта и тесты. Большая часть вопросов и неуверенности снимается сходу. Про ошибки компилятора намеренно не упоминаю, это разговор особый. Он может и goto неправильно обработать, и break, и ещё много чего.


Но есть фичи, неаккуратная обработка которых более вероятна. И что написано в стандарте меня волнует лишь постольку, чтобы самому его не нарушать. От компиляторов я этого давно уже не требую. И стандарты к соседям давно снизил — никогда не знаешь, какую редко применяемую мелочь забудет эксперт с многолетним стажем.

K>>>>Аксиома: выбор стиля код программиста — не личное дело программиста, и вообще не его дело. Это дело тех, кто будет код поддерживать.

ГВ>>>А на поддержку, значит, традиционно приглашаем новичков. Следовательно, любой код должен быть ориентирован на новичков. Так?
K>>Я — не новичек. Но если мне подают код, ориентированный на новичков, то с ним работать гораздо легче. Спрашивается, нафига тогда выпендриваться ?

ГВ>Вы сформулировали аксиому, я сформулировал естественное логическое следствие из этой аксиомы в условиях традиционной практики. Оставьте свои впечатления при себе и ответьте на заданный вопрос.


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

ГВ>Если эти самые "остальные" мотивируют свои трудности необходимостью изучить инструмент, то это сугубо их личные проблемы. Инструмент надо знать и уметь.


Эти остальные могут знать инструмент от и до. Но зачем им ненужный геморрой ?

ГВ>С чего это Вы взяли, что на выходе у автора неизбежно получится г-но? Это всего лишь код на языке программирования и всё. Если фичи не понятны, то в них нужно разобраться, а не бравировать своим непониманием, прикрывая его маской заботы о ближнем.


Да кого вообще волнуют эти фичи ? Ну знаю их я. Знает сосед. Знает еще кто-нибудь. Может, все вокруг знают. Результат один — их применение должно быть обоснованным. Если их использование не несет каких-либо существенных плюсов, если это чистое эстетство ради более красивого кода, или может для сокращения десяти строк в семь (тоже мне разница), и при этом еще и затрудняют поддержку, то у них нет права на применение. Начальный кодинг много времени не занимает, как ты к нему не подходи. А вот дебаг и изменения жрут время с поистине зверским аппетитом. При этом обьем изменений кода снова минимален. Да пусть этот несчастный код втрое раздуют, только бы читался легче.

ГВ>Поймите меня правильно, я не против ругани в адрес того, кто оставил г-но за собой, хотя и на это могут быть свои вполне рациональные причины. Я против того, чтобы руководствоваться таким неправильным силлогизмом:


Я за огранчение на использование фич, создающих трудности в чтении и дебаге, в том числе чтении и дебаге "новичками".

ГВ>1. В некоторых случаях использование фичи X влечёт проблемы.

ГВ>2. Проблемный код является г-ном.
ГВ>Вывод: всякое использование фичи X — г-но.

Не всякое, а бесконтрольное.

Правильный вывод: допущение использования фичи без серьезного ее основания — ошибочно. Исключения должны быть именно исключением, и не более того. Код, засуморенный необоснованным применением нетривиальных для понимания фич, г-ный код. Не только потому, что новичкам его труднее разобрать, а и потому, что его всем труднее разбирать, анализировать взаимодействие различных его кусков и держать в голове одновременно все нюансы используемых конструкций.

ГВ>На бытовом уровне это может быть приемлемо, в технической деятельности — нет.


Между полным запретом и полным попустительством есть еще грань "запрет на применение без хорошего обоснования (на применение)".

ГВ>Это тоже так. Но у примитивизации есть и оборотная сторона, прежде всего связанная с увеличением объёма исходников. "Комбинаторный взрыв", знаете ли.


Смотря как писать. Если писать монолит и не разбивать на подсистемы — возможно. А в промышленных системах полгода интенсивной разработки могут включать лишь неделю-другую на собственно кодирование. Да и тогда все неплохо разбито на модули. В одном месте разбивка нарушилась, и я в тот раз перетаскивал потроха на более правильное место.

K>>Все запреты неоднократно выстраданы на крешах.


ГВ>Не стоит обобщать эту красивую легенду. На самом деле, запреты могут копироваться из всяческих good practices на основании одной только интуиции.


Это мне не помешало изрядно в оные креши потыкаться носом. На практиках основаны а) рекомендации б) запреты в условиях "при прочих равных" в) более жесткие запреты "при отсутствии обоснования и наличии обходных путей".

ГВ>Началось... Ладно, чтобы не вдаваться в длинные рассуждения, прочтите


Прочитал. Нашел утверждение, что при прочих равных надо выбирать более безопасный код. Добавлю, что еще и легко читаемый большей аудиторией. Отличие размера кода, скажем, в два раза, считаю незначительным, при сравнимом размере обьектника. С чем из этого вы не согласны ?

Кстати, могу предложить еще более интересный небезопасный код копирования строки:

{
    int i = 0;
    while(dst[i] = src[i]) { ++i;}
}


Вопрос на засыпку — когда такой вариант окажется лучше ?

ГВ>>> А почему виртуальное наследование можно при этом запрещать, хотя его даже зазубривать не надо, достаточно один раз понять?

K>>Ну, понял. Разобрался. Выучил. Состояние "не могу работать с этой хренью" сменилось на "не переношу эту хрень, хочу видеть пять листов A4 с обоснованием, росписями и печатями под каждое применение".

ГВ>Главное, что "разобрался и выучил". То, что "хочется видеть" что-то там — дело десятое. Это совсем не повод запрещать окружающим это самое что-то использовать.


Почему не повод ? Теми или иными путями, но разброд и шатание всегда приводят к увеличению времени на выполнение работы, а это одна из главных характеристик процесса разработки. Баланс между единообразием кода, легкостью работы с ним у максимально широкой аудитории, и пристрастиями програмиста все же должен поддерживаться, а разрешение использовать все, что захочется, от баланса очень далеко.
Re[3]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 12.07.06 01:07
Оценка: 1 (1) :)
Здравствуйте, Udjine, Вы писали:

U>С таким подходом (знать по минимуму только то что "надо для работы") деградация польная всех и вся настанет! Работа же не погрузочно-покрасочная! ... Хотя и там можно подкачаться или кисть держать ровнее научиться ... Тут и потенциал работодателям интересен и реальный уровень кандидата. Может он способен на большее чем Copy+Paste ? И понты тут не при чём. А вот другу Вашему я бы посоветовал разницу между виртуальными и невиртуальными методами всё-таки познать!


знание одного принципа избавляет от необходимости знать сотни деталей (С) Конфуций
могу только посочувствовать тем, кто этого не понимает. Мозги — они не бесконечные
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[27]: Блин, ну откуда столько криворуких?
От: algol Россия about:blank
Дата: 12.07.06 10:43
Оценка: 1 (1) +1
Здравствуйте, kittown, Вы писали:

K>Опять 25. Вы прочитали на что отвечаете ? Дело отнють не в способности ее понять. То, что эта конструкция понимается хуже других, не зависит от степени профессионализма сотрудников. Более опытные работают с ней легче, менее опытные — хуже, но все они работают с ней хуже, чем с более простым кодом. У меня, когда я работаю с кодом, всегда найдется лучшее применение мозгам, чем вдаваться в детали каждой такой конструкции.


Странно, я всегда считал, что конструкция "while(*dest++ = *src++);" распознается нормальным разработчиком на уровне зрительных образов, без включения мозгов. Например когда смотрю на карандаш, то понимаю что это карандаш, не пытаясь при этом проанализовать форму предмета, прочитать что на нем написано, пощупать из чего этот предмет сделан и т.д.
Re[23]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 17:23
Оценка: 1 (1) +1
Здравствуйте, alcotras, Вы писали:

ГВ>>Мы уже начали обсуждать бизнес? Я что-то пропустил?

A>А к нему все сводится, к пошлому получению денег с клиента. Если т-ко код не пишется для самовыражения. И ограничение вполне себе понятное и правильное — писать так, чтобы код могли поддерживать не т-ко 5 гуру, но и 500 мартышек.

Хех. Не всё так просто. Не к одному только стряхиванию денег с клиента всё сводится. Как раз самовыражение тоже зачастую является нехилой мотивацией. А отсутствие этой самой мотивации вполне может привести к тому, что и продукта-то никогда не появится...
<< Под музыку: Аквариум — Хилый Закос Под Любовь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[31]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 13.07.06 15:27
Оценка: 1 (1) +1
Здравствуйте, kittown, Вы писали:

K>Берем неквалифицированного программиста с книжкой в руках. Даем ему сложный и простой код одинаковой функиональности. Первый он поправит, допустим, за полчаса, а второй за десять минут. Возьмем программиста высокой квалификации. Сложный код он будет править минут минут пять, а простой — две минуты...


Не, я бы сказал, что простой — 10 минут Просто потому что его больше
Re[18]: Блин, ну откуда столько криворуких?
От: Pavel Mosunov Россия  
Дата: 17.07.06 10:26
Оценка: 1 (1) +1
Здравствуйте, Геннадий Васильев, Вы писали:

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


Это смотря что нужно фирме-нанимателю. Если достаточны "безответственные и непорядочные сотрудники" и фирму устраивает результат их работы, то да, они более выгодны. Если вам нужны люди для выполнения ответственных работ, то вам и нужны более ответственные люди. Смотря какое качество работы (или какое отношение к работе) вам нужно...
Re[2]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 29.06.06 23:31
Оценка: +2
Здравствуйте, malkolinge, Вы писали:

M>на 25 собеседование попривыкнешь. Потом поймешь суть надобности наличия тестов.

Ой, не факт...
Особенно если тест на бумаге класса "напишите на С++ функцию сотрировки массива".
Re[4]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 30.06.06 06:47
Оценка: +1 :)
Здравствуйте, xog, Вы писали:

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

xog>Ага и страшное слово — интерфейс... На самом деле проблема не в вариантах реализации, а в выборе оптимального и понятного способа кодирования

Хм...
Если человек не знает, что такое шаблон, интерфейс, виртуальное наследование, виртуальные функции (собственно человек не зает Си++ но кодирает на нем) как он может выбирать вариант реализации? Он будет делать такую реализацию, которая соответствует его уровню заний и опыту, а если и то и другое в небольших количествах, упасите боже.


Re[4]: Блин, ну откуда столько криворуких?
От: egaron http://127.0.0.1
Дата: 30.06.06 09:57
Оценка: +1 -1
Здравствуйте, Александр Каширин, Вы писали:

АК>Здравствуйте, egaron, Вы писали:

....Я вижу два основных признака ООП: инкапсуляция и полиморфизм. Даже несмотря на отсутствие тогда соответствующих средств разработки.

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



АК>Смелое заявление. Особенно насчет виртуальных деструкторов. Если класс хоть от чего-то наследован, то не применять виртуальный деструктор — это высшая степень безграмотности. (Прошу не рассказывать мне о случаях, когда внутри класса нет ни одной виртуальной функции, а данные состоят только из элементарных типов: даже если это так, то я смотрю на будущее и допускаю появление таких элементов внутри класса при расширении функциональности программного продукта).


Мы пишем на шарпе, на плюсах, за исключением курсовиков и лаб, писал только два небольших проекта на МФЦ по работе, и то года 4 назад, посему оные почти забыл. Честно, кидайте в камнями — не знаю есть ли в дотнете вирт. деструкторы или нет, поленился даже сейчас для ответа вам в мсдн посмотреть.


EАК>Несостоятельность архитектора, проектировавшего систему, вовсе не свидетельствует о несостоятельности ООП. Я, например, не понимаю, как вы реализуете кучу провайдеров-адаптеров, если у вас нет ни одной виртуальной функции? Как реализуется подстановка схожей функциональности на другом движке (скажем, смена БД)? Шаблонами с частичной специализацией? Или вообще полным переписыванием провайдера? А как же повторное использование кода? Что-то у вас с архитектурой явно не то...


а что, смена БД обязательное условие ? Если такое маловероятное событие произойдет, то да — перепишут провайдеры.
Реализовано все просто — бизнес-логика обращается к своему провайдеру, тот к sql-провайдеру. Если изменится БД, то достаточно sql-провайдер переписать.


E>>А теория, пусть люди ее и учили, очень быстро выветривается.

АК>Зависит от степени "выученности". Если человек зазубрил, чтобы сдать зачет — да, быстро забывается. А если он понимает процесс — в любой момент времени эти знания легко выуживаются из глубин мозга.


в чем-то соглашусь. спроси меня сейчас "что такое производная ?" что это предел чего-то там стремящегося к чему-то, как сказано в учебнике, никогда не помнил, зато четко знаю, что производная — это СКОРОСТЬ изменения функции. то же и остальные базовые понятия.



E>>Поэтому глуп тот работодатель который начинает дрючить по теории...

АК>Согласен. Именно поэтому практические тесты типа "решите, пожалуйста, вот эту задачу" мне тоже кажутся значительно более показательными. Я с некоторых пор являюсь ярым приверженцем выдачи тестового задания еще до технического собеседования (т.е. после вступительного собеседования, когда примерно понятно, что человек заинтересован у нас работать). При этом от человека в явном виде требуется разработка масштабируемого, расширяемого, надежного, поддерживаемого кода. Сложность задания оценивается примерно в 2-3 часа на фукнционал и еще 2-3 часа на красивое оформление. Мы давали на его реализацию неделю. Т.е. если человек хочет прийти к нам работать, то за неделю он наверняка сможет найти немножко свободного времени для того, чтобы показать себя. Это же, кстати, впоследствии позволит сэкономить время на техническом собеседовании (а не так как в фирме Materialise в Киеве: собеседование расчитано на полный день до вечера).


когда тебя приглашают 10 контор и каждая дает задание на неделю, то кандидат пойдет в ту, где тестовое задание отсутствует или занимает полдня. Поэтому мне и не довелось работать в конторах, раздающих мощное Т.З.
Для меня приемлемое максимальное время выполнения ТЗ — 8 часов (и то если контора понравилась)


АК>Так вот, любопытнейшие результаты, я вам скажу Примерно 80% решений удается "завалить" парой-тройкой тестовых примеров. Больше половины оставшихся написаны методом "copy-paste" (это если обобщенно). А один кадр, получив задание, вообще замолк, и через его знакомых до нас дошла информация, что он на нас обиделся: "Они там что, студентом меня считают что ли? Дают задание, на которое в интернете можно найти кучу решений. Да пошли они куда подальше, я им не студент, мой уровень не настолько низок, чтобы вот так меня тестировать". Тут тоже понятно: завышенная самооценка и немеренные амбиции, от чего потом огребем по полной программе (я готов обосновать, в моей практике есть парочка примеров).



У тебя цель завалить или найти сотрудника ? Как говорил наш старшина, прапорщик Гертнер — "юноша, я знаю миллион способов чтобы задрочить солдата"



E>Ведь в реальности вся эта лабуда, типа изысков ООП, виртуальных деструкторов и паттернов, и даже виртуальных функций, почти не используется в реальных проектах.


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


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

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


E>ах да, я забыл — вы такие проекты называете "убогими формочками", но тем не менее за эти формочки заказчик платит деньги, и немалые.


Интересно, как у вас пойдут дела без того, что вы назвали "лабудой" (еще это называется архитектурой когда формочек станет несколько сотен

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



АК>Как проверить, что кандидат наговорил про "свои проекты" всю правду и только правду и ничего кроме правды?



"ничего кроме правды" говорят либо в суде либо идиоты. Но по рассказу виден интерес к проекту, роль, проблемы, вышеупомянутые детали и то как чел с ними справлялся. Если чуть приврет в свою пользу — это только хорошо, вам разве нужны дауны с заниженой самооценкой, которые и перед заказчиком будут самобичевание производить, когда можно приврать и отмазаться ? вранье допустимо на уровне "смекалки".
А главное виден ОПЫТ, умение справляться с ситуациями и реально сделанная человеком работа, а не вызубренное определение из учебника Кнута.
Re[4]: Блин, ну откуда столько криворуких?
От: xtile  
Дата: 30.06.06 10:50
Оценка: +2
Здравствуйте, jhfrek, Вы писали:

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


I>>>За 130 тыров чистыми в месяц готов приятно удивить Вашу компанию уровнем профессионализма.


X>>На сколько дней/недель? А то ведь вдруг потом кто-то 150 предложит %)


J>Значит прийдется и вам повышать до 150


Зачем? Мне в этом плане нравится позиция Max.Subpixel: мне нужны отличные работники, но я не буду предлагать зп выше рынка, чтобы не набежало таких вот "скакунов", а дам опционы, таким образом у них появится мотивация не только хорошо работать но и довести проект до конца.
Re[13]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 11:11
Оценка: +2
Здравствуйте, xog, Вы писали:

E>>После определенного уровня дохода, сам по себе уровень дохода перестает быть приоритетом №1.

E>>Вступают в силу другие факторы.
E>>Это тоже самое, как и различия акцентов у разных слоев населения.
E>>У работницы музея забота №1 — как сделать, чтобы хватило и на еду и на квартиру.
E>>У менеджера среднего звена — какую бы машину выбрать взамен старой и на какой курорт поехать в отпуск.
xog>Ага, а простой программер с определенным уровнем дохода без корпоративного духа просто не может , ему и деньги не нужны ему дух подавай

Я вот там написал: после определенного уровня дохода (см. болд). Это ключевой момент.
И еще, где я про "дух" писал? Не припомню. Ссылочку, пожалуйста.

Допустим, есть 2 компании:
В одной предлагают $3500, работать в подвале, добираться два часа, все общаются на повышенных тонах, начальник хамит.
В другой предлагают $3000. Хороший офис с кондиционером, комнаты отдыха, теннис, доброжелательный коллектив.

В данном случае $500 уже ничего не решает.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Блин, ну откуда столько криворуких?
От: strm Украина  
Дата: 30.06.06 12:18
Оценка: :))
E>Изучать что-то новое и совершенствоваться:
E>1. Когда? В рабочее время?

Да. Именно в рабоче время.
В большинстве буржуйских компаний(например в том же майкрософте) считается хорошей практикой обязательно тратить 1 час в неделю на обучение.
Re[7]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 03.07.06 02:00
Оценка: -2
Здравствуйте, creatman, Вы писали:

C>Мне интересно было какие вы иерархии строите без виртуальных функций. Виртуальное наследование давайте уже оставим в покое или переведем тему в Си++


я обычно таки использую виртуальные функции. Но и без них можно строить вполне качественный код.
Виртуальные функции в статике прекрасно заменяются шаблонами и/или кодогенерацией. Если реально нужен рантайм-полиморфизм, то можно использовать RTTI/reflection. (я не говорю, что так и надо делать. Но, тем не менее, это позволяет делать вполне терпимый по качеству код — тем более, что в большинстве случаев статического полиморфизма вполне достаточно)
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[5]: Блин, ну откуда столько криворуких?
От: borisman3 Канада http://paskoboris.blogspot.com/
Дата: 03.07.06 04:47
Оценка: -2
Здравствуйте, xog, Вы писали:

_O_>>Многие, кстати, не способны написать сортировку.

xog>Зачем ее писать если есть стандартные способы реализации ?

Ну уж извините, сортировку пузырем написать должен каждый. Ибо помнить прадедов .

ОФФТОП мне часто приходится сортировать пузырем, т.к. далеко не везде есть готовые стандартные библиотечные реализации реализации.
Re[8]: Блин, ну откуда столько криворуких?
От: borisman3 Канада http://paskoboris.blogspot.com/
Дата: 03.07.06 04:49
Оценка: :))
Здравствуйте, Pyromancer, Вы писали:

P>Если за всем лезть в интернет то когда же работать? И вообще, найдёт такой чудо-рабоник с незахламлённым мозгом в интернете реализацию пузырьковой сортировки студента первого курса Васи Пупкина и влепит её в проект, мозг-то незахламлён лишними знаниями даже названий алгоритмов сортировки.


Не трожь пузыря! У этого метода есть свои сильные стороны (например, предсказуемость времени выполнения).
Re[15]: Блин, ну откуда столько криворуких?
От: _Jane_ Украина  
Дата: 03.07.06 06:44
Оценка: +2
Здравствуйте, SkyDance, Вы писали:

LM>>Неверно. Большая часть работодателей мыслить приммерно так :"Зачем повышать человеку зарплату, если он и так работает?" А все разговоры о повышение начинаются только после заявления, положенного на столд.

SD>ТОЧНО! Все так и есть и все так и БЫЛО! И, боюсь, будет. Меня очень сильно напрягает именно такое отношение. Нужно что-то вроде предварительного обсуждения, в конце концов, составленный план повышений (делаешь то — получаешь это, завершаешь этот проект — получаешь еще такие плюшки). А то — из трех компаний, где довелось плодотворно работать, во всех трех повышение следовало лишь за ультимативным заявлением с демонстрацией конкретного места, где возьмут с удовольствием и на бОльшие деньги. Намеки словами "вот уже год как мои обязанности растут, а зарплата — нет" не помогают. Намёки "я готов делать чуть больше" воспринимаются исключительно прямолинейно и решаются путем добавления обязанностей.
SD>Не знаю, наследие ли это совка или просто наши доморощеные менеджеры считают себя самыми умными (по крайней мере, много умнее "рядовых" сотрудников)

Есть и нормальные фирмы... я например никогда и не заикалась, повышение как то само собой происходит
Jane
Re[7]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 03.07.06 09:06
Оценка: +2
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>А вообще, что-бы кто не говорил, практика критерий истины — если у человека, есть реализованные проекты, значит и у вас будут, а если он знает что такое виртуальные функции (вот ведь умора, что там можно не знать) но пректов у него нет... Значит и у вас будет занайка безрукий...


Означает ли это, что студентов на работу брать не надо? Ведь у них еще нет реализованных проектов...

AWW>Вот мне как проффесионалу, вообще по**** на каком языке програмировать... Надо будет на каком-то новом, выучи за пару недель....

AWW>Да кстати, мне вот понравился один ответ на вопрос — "а почему вы меня по языку не спрашивали"... "Вы же профессионал — надо будет выучите..." был ответ...

Тут полностью согласен. Я тоже считаю, что надо владеть не языком программирования, а базовыми знаниями. Кстати, тестируя кандидата на предмет владения базовыми знаниями по языку, я лично предпочитаю не задавание теоретических вопросов, а анализ какого-то имеющегося кода на предмет полученного результата. Ведь, согласитесь, если человек не представляет себе, в какой последовательности вызываются конструкторы и деструкторы с С++, или каким образом передаются параметры различных типов в Java, или чем отличается WHERE от HAVING в SQL, он вряд ли на первых порах сможет эффективно разрабатывать работающий код.

Подобные знания несложно приобрести, и если он профессионал, претендующий на позицию C++ программера, то, готовясь к собеседованию, он вполне в состоянии ознакомиться с ними до начала разговора со мной, а не через две недели после.
Re: Блин, ну откуда столько криворуких?
От: Kisloid Мухосранск  
Дата: 03.07.06 10:36
Оценка: +1 -1
Почитал ветку выборочно, у мня такое впечатление возникло, что россия это будущая индия. Мы превращаемся в индусов. Слежу за школьными и студенческими олимпиадами (тк сам все это прошел в свое время), уровень задач из года в год все ниже и ниже, на форуме самого сильного в россии по программированию сообщества РСДН "инженера" начали кричать, что не надо знать алгоритм сортировки, можно с инета "закопипастить". Что творится в университетах, это просто плакать хочется.

Это все моё ИМХО и крик души...
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[12]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 03.07.06 17:24
Оценка: +1 :)
Здравствуйте, df, Вы писали:

df>как class написать?


Alt + 97
<< Под музыку: Unknown Artist — Track 15 >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[12]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 05.07.06 00:23
Оценка: -1 :)
Здравствуйте, Геннадий Васильев, Вы писали:

IS>>ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.


ГВ>Йо! Что-то я никакой статистики не увидел.


Плохо что не увидел — придется собирать : встань из-за стола — поспрашивай тех, кто сидит рядом с тобой. Позвони тем с кем работал на прошлых проектах/компаниях.

IS>>а теперь внимание вопрос: линейкой из какого железа следует бить по пальцам людей, которые используют этот тип наследования в большом проекте? Хинт — большой проект подразумевает:


IS>>1.большое количество разработчиков среднего уровня, которые смутно представляют себе такие тонкости языка

IS>>как в. наследование.

ГВ>А взять книжку почитать им недосуг?

А зачем ?

IS>>2.большое время жизни проекта, только усугубляющее положение средних разработчиков из п.1, и как следствие положение самого проекта (большой проект — он ведь держится на средних разработчиках).


ГВ>Проект всё тянется и тянется, а книжку всё недосуг и недосуг. Аврал, что ли, бесконечный?


Про книжку — я тебе выше написал. Дело не в авралах — дело в желании изучать ненужное. Взрослым людям это просто неинтересно.
* thriving in a production environment *
Re[4]: Блин, ну откуда столько криворуких?
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 09.07.06 04:35
Оценка: :))
Здравствуйте, Firstborn, Вы писали:

F>Блин, почему я не родился в России??..

F>В маленьких странах вроде Латвии знание инглиша есть само собой разумеющаяся вещь, это не дорого...
Родился бы в России — так же не знал бы инглиша, как и все

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[2]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 11.07.06 04:39
Оценка: +1 :)
Здравствуйте, Slicer [Mirkwood], Вы писали:


я тоже часто удивляюсь, откуда берется столько криворуких руководителей
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[18]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 11.07.06 09:50
Оценка: +2
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>И goto тоже глупо запрещать. И ассемблерные вставки — тоже. И то и другое периодически если и не остро нужно, то может оказаться удобно. Я вот, например, не привык заморачиваться вопросом, как будет идеологически правильно выйти из 2-3 циклов сразу.


Кто-то бросает исключение. Я обычно делаю break. В некоторых языках у break можно метку ставить, связанную с верхним циклом. Если нельзя использовать метку, то можно в условия циклов поставить буленовский флаг и менять его значение перед брейком. Все три способа гарантируют корректность работы. Последний — самый простой и понятный. А с goto у меня никогда нет уверенности, является ли такой выход корректным.

K>>Аксиома: выбор стиля код программиста — не личное дело программиста, и вообще не его дело. Это дело тех, кто будет код поддерживать.


ГВ>А на поддержку, значит, традиционно приглашаем новичков. Следовательно, любой код должен быть ориентирован на новичков. Так?


Я — не новичек. Но если мне подают код, ориентированный на новичков, то с ним работать гораздо легче. Спрашивается, нафига тогда выпендриваться ?

K>>Самый правильный подход — заранее в документе компании оговорить, какие фичи использовать нельзя, и по необходимости расширять.


ГВ>Угу, "надо, потому что надо": вводишь аксиому невнятого содержания и на её основании начинаешь что-то доказывать. Тут уже была история на месяц, примерно. Поищи в философии и священных войнах. Ключевые слова: "safe vs. unsafe".


Эта аксиома взялась из практики. Автор оригинального кода — это человек, который с ним работает меньше всего. Более 90% всех работы над этим кодом за все время его жизни, включая чтение и анализ, ведут потом другие люди. Включая время, когда этот перец давно уволился. С какого черта лысого один человек своим выпендрежем создает трудности всем остальным ? Он написал и ушел — в другой проект, например. А всем остальным это г-но саппортить и далее развивать, стараясь не нарваться на мину из-за использования не всем одинаково понятных фич языка.

ГВ>Раз-другой прочтут — запомнят. Я не понимаю, неужели C++ настолько неподъёмен, что мозги перетрудятся от чтения документации?


И через месяц забудут. Через полгода из-за какой-то неочевидной хрени с приведением типов и следующим из этого выбором перегруженных операторов все взорвется. Практика пересбора кода на всех поддерживаемых платформах, даже когда он написан вроде бы кросс-платформенно, и даже когда изменена всего одна строчка — оно не на пустом месте возникло. И так делают повсеместно в серьезных конторах. Один нюанс в работе компилетров, приводящий к разной работы на разных платформах — и все сдохло нахрен. И бывает это чаще, чем хотелось бы. И gcc используется реже, чем некоторым кажется. И gcc разных версий содержит разные баги, что тоже вносит свой вклад. Именно поэтому в больших серьезных системах код пишут настолько примитивно, насколько возможно, и стараются по минимуму лезть в фичи, которым менее 10-15 лет от роду. Все запреты неоднократно выстраданы на крешах.

ГВ>"Наизусть", действительно, можно и не зазубривать. Но это не повод не писать, например, "while(*dest++ = *src++);" для копирования строки или последовательности с нулевым терминатором.


Такой код — повод для немедленного отстранения от работы. Разработчик вместо работы занимается выпендрежем. Код к тому же ненадежен.

ГВ> А почему виртуальное наследование можно при этом запрещать, хотя его даже зазубривать не надо, достаточно один раз понять?


Ну, понял. Разобрался. Выучил. Состояние "не могу работать с этой хренью" сменилось на "не переношу эту хрень, хочу видеть пять листов A4 с обоснованием, росписями и печатями под каждое применение".
Re[25]: Блин, ну откуда столько криворуких?
От: algol Россия about:blank
Дата: 12.07.06 10:16
Оценка: +2
Здравствуйте, kittown, Вы писали:

K>Дело не просто в "понимает-не понимает", а в том, с какой легкостью и скоростью понимает. Продираться через подобный код тоже можно, но это дольше и ошибки более вероятны.


Тогда я не пойму вообще, о чем разговор. Сначала на собеседовании вы рассуждаете о паттернах и виртуальном наследовании, а потом выясняется, что большинство разработчиков — выпускники вспомогательной школы, которые не в состоянии понять конструкцию *src++? То есть на собеседовании вы просто гнете пальцы, а потом берете всех подряд, потому что людей не хватает?
Re[28]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 04:37
Оценка: +1 -1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Странный у тебя какой-то вывод. Если код не понятен "не Сишнику", то значит — это выпендрёж. ИМХО, справедливый вывод здесь: нечего "не Сишнику" делать на поддержке "сишных" проектов. И уж тем более нечего ему делать на поддержке проектов на C++.


не бывает "сишников" и "не-сишников", бывают только "просто программисты". А разводить лишние непонятности в программе — это от дури и желания выпендриться.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[32]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 08:25
Оценка: +1 -1
Здравствуйте, Александр Каширин, Вы писали:

АК>Да, собственно, мой предыдущий ответ был скорее на тему "просто программистов не си-шников", и я хотел показать, что "просто программисту" в любом случае предстоит стать "си-шником", чтобы разбираться в С-шных проектах. Что Дарней опровергает


С++ слишком часто превращают в птичий язык, вот что я хочу сказать. Пример с мегаупакованным циклом копирования — один из ярких примеров. Вместо того, чтобы написать одну функцию копирования и использовать, люди занимаются фигней
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 14.07.06 01:58
Оценка: +2
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Обобщать нельзя, но зачастую ситуация напоминает "потеряли хорошего программиста и получили паршивого менеджера".


Но еще хуже, когда хороший менеджер превращается в никудышного тим лида или например архитектора.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 28.07.06 08:55
Оценка: :))
Здравствуйте, Pyromancer, Вы писали:

P>На самом деле практически единственный случай, когда это оправдано это если входной массив отличается от отсортированого на один элемент. То есть добавили один элемент или что-то изменилось и его позиция должна смениться, тогда да, за один проход всё отсортируется, за линейное время.

P>А применять пузырь часто и везде признак кривизны рук ->

Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.
Re[2]: Блин, ну откуда столько криворуких?
От: S-SH Россия http://shmakov.ru/
Дата: 30.06.06 07:31
Оценка: 6 (1)
M>на 25 собеседование попривыкнешь. Потом поймешь суть надобности наличия тестов.

причем удаленных
IMHO. смайлики добавить по вкусу.
Re[14]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 10.07.06 09:21
Оценка: 5 (1)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Igor Sukhov, Вы писали:


IS>>Если подавляющее большинство ваших сограждан не умеет писать на своем родном языке без ошибок — это верный признак того что в будущем их родной язык будет упрощен.

IS>>Поначалу на бытовом уровне, а потом вполне официально.

ГВ>А можно раскрыть тему с упрощением языка? Слабо доказать корректность аналогии, с которой ты изначально согласился?


Вот, скажем, когда я учился в школе, правила переноса слов на следующую строку были значительно более строгими: никаких двух согласных в начале строки (кроме исключения "ск"), а тем более трех подряд согласных (типа "про-стрел") не допускается. Когда я учился в институте, неожиданно узнал о внесенном изменении: теперь буквы можно переносить как угодно... Вот вам упрощение.
Re: Блин, ну откуда столько криворуких?
От: malkolinge Украина  
Дата: 29.06.06 18:51
Оценка: 1 (1)
на 25 собеседование попривыкнешь. Потом поймешь суть надобности наличия тестов.
Re[2]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 06:47
Оценка: 1 (1)
Здравствуйте, Un0, Вы писали:

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


Un0>И не говорите

Un0>найти нормального спеца проблема

Un0>а криворуких вообще дохрена.


Ну давайте еще бедных индийцев вспомним... Критику навести накого угодно можно, сначала следует на себя посмотреть...
Re[7]: Блин, ну откуда столько криворуких?
От: Andrew_Sch  
Дата: 30.06.06 12:35
Оценка: 1 (1)
M>А часто вы оптимизируете сортировки в своих проектах ? Я лично не разу, хотя проектов хватало... Всегда использовали стандартные ф-ции и все работало нормально. Более того, сейчас провел опрос своих знакомых на предмет написания сортировок, но ни кто из них правильно на бумаге сразу написать не смог.
Категорически поддерживаю
Достаточное количество лет занимался профессиональной разработкой софта в разных областях (от embedded software, до серверных приложений) и ни разу не пришлось реализовывать подобные алгоритмы.
Аналогично, поспрашивал у знакомых — ну кто-то что-то помнит с институтских времён (да и то, если внимательнее разобраться, то глубина знаний частенько — сомнительная ), но в реальной практике подавляющее большинство не сталкивалось, хотя — серьёзные профессионалы и занимаются вовсе не клепаним форм на VB (или его более современных аналогах).

M>Если человек смог сделать охрененный проект который работает уже пару лет и при этом не может написать сортировку — и хрен с этим ! Научим за пару месяцев, самое главное чтобы он у нас такой проект повторить смог !

Совершенно верно! Помню в каком-то из томиков Кнута вся эта теория страниц на триста была расписана. И зачем её помнить? Да и не получится там всё это в голове держать. Возникла задача — взял и прочитал все нюансы, необходимые для реализации.

А стучать себя в грудь, что помнишь с института, что такое сортировка Шелла — ИМХО детство полное.
Re[15]: Блин, ну откуда столько криворуких?
От: prVovik Россия  
Дата: 30.06.06 18:57
Оценка: 1 (1)
Здравствуйте, Eurispheus, Вы писали:

DE>>Если мало, то может стоит предложить некую мотивацию, если до этого её не было. Например, премии по досрочному окончанию проекта, или ещё что-нибудь.


E>А зачем досрочно? Гонка не нужна.

E>О мало/плохо — суть ведь одна.
E>Допустим, работает мало. Платить больше? Так мы мотивируем остальных тоже работать меньше, в надежде, что и им повысят.
E>Допустим, работает плохо. Платить больше? Удивятся те, кто работает хорошо.

Есть еще вариант: повысить зарплату выше средней (для его уровня), и сказать, что если он не будет работать хорошо, то будет искать себе другую работу.
лэт ми спик фром май харт
Re[15]: Блин, ну откуда столько криворуких?
От: S-SH Россия http://shmakov.ru/
Дата: 03.07.06 09:23
Оценка: 1 (1)
E>>В данном случае $500 уже ничего не решает.

xog>В данном случае да, но есть и другой вариант: 3500 и 5000

xog>Вот и интересно при каком уровне дохода разница уже не играет роль ?

Это зависит от доходов других членов семьи, решенности квартирного вопроса и наличия желания поменять старенький 21" на плазменную панель, в которой покажут те же самые новости (вариант — шестерку на HumII, чтобы стоять в той же пробке, но с кондиционером). Но гречки вы все равно съедите столько же.
IMHO. смайлики добавить по вкусу.
Re[14]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 04.07.06 08:40
Оценка: 1 (1)
Здравствуйте, LuciferMoscow, Вы писали:

E>>То, что вам платят мало (или меньше, чем вы хотите), говорит лишь о том, что:

E>>1. У вас завышенная самооценка (вы думаете, что стоите больше, чем есть на самом деле)
E>>2. Вы вынуждены работать за эту з/п, т.к. иначе уже давно сменили бы место работы.
LM>Вы забываете про другую мотивацию.

Да? Неужели? Какая такая?А мне тут рассказывали, что нет более лучшей мотивации, чем деньги...
Автор: AmSpb
Дата: 30.06.06


Ребят, сложно спорить, когда вы говорите, что:
1. Я плохо работаю потому, что мне мало платят.
1.1 Но при этом я не уйду, хотя в другом месте платят больше
1.2 Но при этом главное для меня — это деньги

Из этого вывод только один: вы будете ныть, что вам мало платят, но работать лучше не станете, т.к. вам нравится "не напрягаться" и вы к этому уже привыкли. А "авансом" з/п не повышают нигде, на этот счет можете быть спокойны. Сначала вы доказываете, что можете работать лучше, а потом повышается з/п. Если где-то и этого нет — то что тут говорить, ищите другие фирмы, где повышают по результатам труда.

И вообще трудно спорить с позицией, наподобие такой:
Я хочу много денег, и чтобы напрягаться поменьше.
Все мы этого хотим

Поэтому считаю, что в дальнейшей дискуссии нет смысла.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: Блин, ну откуда столько криворуких?
От: LuciferMoscow Россия  
Дата: 04.07.06 10:22
Оценка: 1 (1)
Здравствуйте, Eurispheus, Вы писали:

E>>>То, что вам платят мало (или меньше, чем вы хотите), говорит лишь о том, что:

E>>>1. У вас завышенная самооценка (вы думаете, что стоите больше, чем есть на самом деле)
E>>>2. Вы вынуждены работать за эту з/п, т.к. иначе уже давно сменили бы место работы.
LM>>Вы забываете про другую мотивацию.
E>Да? Неужели? Какая такая?А мне тут рассказывали, что нет более лучшей мотивации, чем деньги...
Автор: AmSpb
Дата: 30.06.06

Деньги являются мотивацией при выборе работы, во время работы вперед выходят немного другие мотивации.
Re[2]: Блин, ну откуда столько криворуких?
От: Udjine  
Дата: 11.07.06 14:57
Оценка: 1 (1)
Здравствуйте, Дарней, Вы писали:

Д>PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.


С таким подходом (знать по минимуму только то что "надо для работы") деградация польная всех и вся настанет! Работа же не погрузочно-покрасочная! ... Хотя и там можно подкачаться или кисть держать ровнее научиться ... Тут и потенциал работодателям интересен и реальный уровень кандидата. Может он способен на большее чем Copy+Paste ? И понты тут не при чём. А вот другу Вашему я бы посоветовал разницу между виртуальными и невиртуальными методами всё-таки познать!
Re: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 30.06.06 02:12
Оценка: +1
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...

Кстати, насчет жабы, которая душит — открывался у нас проект на С++. Нужен был лид/архитект. Как водится, для технического собеседования созвали остальных лидов. Так вот, пришли два очень хороших кандидата (естественно, каждый из них хотел хорошие деньги). Взяли обоих, хотя нужен был один. Работодатель придушил свою жабу
Re: Блин, ну откуда столько криворуких?
От: aik Австралия  
Дата: 30.06.06 06:13
Оценка: +1
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.

Полно. Собеседовать/тестировать и адекватно платить не умеете просто
Re[5]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 30.06.06 07:20
Оценка: +1
Здравствуйте, creatman, Вы писали:

C>Да, согласен, смотрите subj. Но причем тут виртуальные функции? Виртуальные функции это реализация полиморфизма в Си++, вы не используете полиморфизм???? Вы не используете ООП??? тогда о чем тут речь? Писать на чистом Си это одно, а говорить, что использовать виртуальные функции в Си++ необязательно это уже совсем грубая ошибка.


полиморфизм разный бывает, и виртуальные функции далеко не единственное решение. И далеко не всегда лучшее.

C>Это их проблемы, я думаю кривых рук хватает и в ABBYY


удивительно только, почему это одна из немногих российских компаний, которые продают свой продукт по всему миру.

C>Каких иерархиях? Пожалуйста приведите мне хоть одну иерархию без виртуальных функций (очень интересно)?


какое вообще отношение имеют виртуальные функции к виртуальному наследованию?
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[6]: Блин, ну откуда столько криворуких?
От: minorlogic Украина  
Дата: 30.06.06 09:25
Оценка: -1
Здравствуйте, Александр Каширин, Вы писали:

[skiped]

Я не навязываю , а просто даю на рассмотрение , что существует другая точка зрения. Кстати до боли смешно , но из любопытства я попросил тогда у товарища тестовое задание. Я за 5 минут нашел около 10 вариантов решения в сети, мы весело порадовались , и знали куда не надо больше ходить.

АК>С тех пор я согласен с Биллом Гейтсом: лучше не взять на работу 10 отличных специалистов, чем взять на работу 1 плохого.


Вот смотрите , насколько разнаю ситуация; в заголовке темы человек вообще ни одного хорошего спеца найти не может , а вы спокойно не берете на работу 10 ! Я бы на его месте переманила вашего HR !!!!

Сам тестовые задания делал — опыт отрицательный.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[7]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 10:07
Оценка: :)
Здравствуйте, xog, Вы писали:

xog>>> Каким способом вы выявляете кривизну рук ?

Un0>>криворукомером
xog>А криворукомер случайно не криворукие делали ?

С криворуких слепок делали
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Блин, ну откуда столько криворуких?
От: Dziman США http://github.com/Dziman
Дата: 30.06.06 10:09
Оценка: -1
Здравствуйте, minorlogic, Вы писали:

M>Я не навязываю , а просто даю на рассмотрение , что существует другая точка зрения. Кстати до боли смешно , но из любопытства я попросил тогда у товарища тестовое задание. Я за 5 минут нашел около 10 вариантов решения в сети, мы весело порадовались , и знали куда не надо больше ходить.

Бред. Приведу пример: на работу устраивается переводчик худ.литературы, ему предлагается сделать перевод куска текста, возьмем например Марка Твена, на что он говорит "Это уже переведено!". Я бы скорее задумался если нет решения тестовой задачи — вдруг хотять на "тестовых задачах" собрать на халяву проектик ?
M>Сам тестовые задания делал — опыт отрицательный.
Не умеете делать ?
... << RSDN@Home 1.2.0 alpha rev. 653>> MSSQL2000Personal
С уважением, Dziman
Re[3]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 30.06.06 10:15
Оценка: +1
Здравствуйте, xtile, Вы писали:

I>>За 130 тыров чистыми в месяц готов приятно удивить Вашу компанию уровнем профессионализма.


X>На сколько дней/недель? А то ведь вдруг потом кто-то 150 предложит %)


Значит прийдется и вам повышать до 150
Re[10]: Блин, ну откуда столько криворуких?
От: AmSpb  
Дата: 30.06.06 10:33
Оценка: +1
Здравствуйте, xog, Вы писали:

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


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


M>>>Суть не в том, чтобы работать лучше

M>>>Работник уже занят где-то за эти 100р
M>>>Вы ищите работника и предлагаете тоже 100р
M>>>А зачем работнику мотаться?

E>>Это уже совсем другое.

E>>Если же говорить о найме нового сотрудника, то чтобы переманить его, нужно предложить не просто компенсацию выше, чем у него сейчас, а значительно выше (при прочих равных, разумеется). Это может быть эффективным только в очень ограниченном количестве случаев. Поэтому большинство компаний поддерживают средний уровень з/п, а для обеспечения потока соискателей используют ряд других технологий, которые, порой, существенно эффективнее уровня з/п.

xog>И какие это технологии, если не секрет ?


Это наверное такие шаманские слова, как то: "соц. пакет", "фитнес", "хороший корпоративный дух". Но я предпочитаю деньги заместо слов
Re[14]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 11:22
Оценка: +1
Здравствуйте, xog, Вы писали:

E>>>>Свои тренинговые центры, возможности проходить обучение/сертификацию за счет компании, спортивные программы, собственная инфраструктура, и.т.д.

xog>>>И что ты туда пойдешь работать за вдвое меньшие деньги (или хотя бы -50%) ? Вряд ли..... ничего существенней эффективнеого уровня з/п нету.
E>>Почему -50% то? Мы говорим о том, что з/п нормальная, такая же как и у других.
xog>Естественно при равных з/п играют роль второстепенные факторы, никто не спорит, просто первоначальный фактор это — З/П, а остальные (спортивные программы, собственная инфраструктура, и.т.д.) это уже не особо важно

Да, но c определенного уровня этой з/п — вступают в силу остальные факторы, а сама з/п отходит на второй план.

Я, например, не пойду ради лишних $500 в месяц трудиться в плохо проветриваемом помещении без кондиционера или с плохим освещением.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Блин, ну откуда столько криворуких?
От: DaBro  
Дата: 30.06.06 11:59
Оценка: -1
О спасибо за совет! Пойду повешусь...

К орфографическим ошибкам то легко цеплятся и к оборотом речи тоже.

Донести одно хочу — много их — этих перцев
Re[6]: Блин, ну откуда столько криворуких?
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 30.06.06 12:08
Оценка: +1
Здравствуйте, _Obelisk_, Вы писали:

_O_>>>Многие, кстати, не способны написать сортировку.

L>>Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?

_O_>Грустно. Гордиться тут нечем. Совсем примитивная сортировка пузыркем занимает несколько строчек. Чего там писать-то ?


В развитие темы — сортировку писать не нужно ни для чего. Уметь нужно. Точно так же в принципе можно не знать как цикл пишется в C++, если что можно запомнить комбинацию клавишь — IDE вставит шаблон. Но работать с программистом который цикл не может написать руками(даже если он всю жизнь пользовался этой комбинацией клавиш) я не готов.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[8]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 12:40
Оценка: :)
Здравствуйте, strm, Вы писали:

E>>Изучать что-то новое и совершенствоваться:

E>>1. Когда? В рабочее время?
S>Да. Именно в рабоче время.
S>В большинстве буржуйских компаний(например в том же майкрософте) считается хорошей практикой обязательно тратить 1 час в неделю на обучение.

Мы не говорим здесь о пользе или вреде обучения.
Мой собеседник утверждает, что если ему повысить зарплату — он начнет совершенствоваться. Без этого, видимо, не станет принципиально.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: Блин, ну откуда столько криворуких?
От: _Jane_ Украина  
Дата: 30.06.06 12:46
Оценка: +1
Здравствуйте, SkyDance, Вы писали:

E>>Это к тому, что тех, кто стремятся на работе балду пинать, постоянно жалуясь на маленькую з/п, на порядки меньше, чем тех, кто получает удовольствие от своей работы. Поэтому принимать рас%%%%%%ев за норму — не следует


SD>Что-то мне подсказывает, что вы не из тех самых "программистов". Варианты — потенциальный "рабовладелец" (желаете, чтобы профессионалы работали "за идею"). Или очень молодой (20? 22 года?) человек, не понимающий, что радость не в работе, а в семье и хобби.


слово одно пропущено

радость не только в работе

Jane
Re[11]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 13:02
Оценка: +1
Здравствуйте, _Jane_, Вы писали:

SD>>Что-то мне подсказывает, что вы не из тех самых "программистов". Варианты — потенциальный "рабовладелец" (желаете, чтобы профессионалы работали "за идею"). Или очень молодой (20? 22 года?) человек, не понимающий, что радость не в работе, а в семье и хобби.

_J_>слово одно пропущено
_J_>

_J_>радость не только в работе


Конечно, не только. Однако на работе мы проводим бОльшую часть своего времени, и от атмосферы на работе и от самой работы лучше получать позитив, который и приносить в семью. И деньги. Тоже приносить
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: Блин, ну откуда столько криворуких?
От: Андрей Хропов Россия  
Дата: 02.07.06 17:47
Оценка: +1
E>>Если вы к своей работе относитесь безответственно, з/п ничего не изменит. Ответственность не регулируется з/п, вообще никак. Это качество самого человека, так же как и порядочность.

SD>Блин. Да сколько можно... давно уже сдох рабовладельческий строй! И коммунизм умер. Не будет человек мотивирован красивыми словами "ответственность", "долг", "благородство". Семью обещаниями не накормишь.


Это не мотивация, это отношение к делу.

Другое дело, что когда на рынке достаточно предложения то человек пойдет туда где больше платят и лучше условия.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 03.07.06 02:00
Оценка: +1
Здравствуйте, creatman, Вы писали:

C>см. subj. ИМХО для некоторых BOOST и STL кажется достаточно сложными штуками в использовании, но это отнюдь не говорит о том, что профессионал не должен их использовать. Для некоторых разработка класса считается гораздо более сложной феничкой чем структурка и пара десятков глобальных функций, ну тогда давайте переведем это в тему C vs C++.


да нет, я вообще не об этом писал. Просто для многих (слишком многих) "навороченный код" эквивалентно "хороший код", и служит для подтверждения их неимоверной крутизны и высокого статуса Вот и появляются монстры, в которых простейшая задача решается неимоверно бессмысленно сложными способами.
В общем, здравый смысл рулит
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[6]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 03.07.06 03:10
Оценка: +1
Здравствуйте, Александр Каширин, Вы писали:

Компаний много, а я один. На каждую тестовое задание делать — подохнешь от переутомления.
Так что я тоже не стал бы делать тестовое задание (ну если только компания выделяется своими неимоверно хорошими условиями работы... тогда я бы подумал )
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[7]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 03.07.06 09:42
Оценка: -1
Здравствуйте, Left2, Вы писали:

L>Честно говоря никогда не понимал почему именно пузырёк учат в школе. ИМХО сортировка простым выбором куда проще для понимания, настолько же проста для реализации, да и к тому же лучше по эффективности.

А разве эффективность этих двух алгоритмов не одинакова и не оценивается в n(n+1)/2 сравнений?
Re[5]: вопрос по ООП
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 03.07.06 09:43
Оценка: +1
Здравствуйте, Sergey Philippov, Вы писали:

SP>IMHO, все немного проще: квадрат — это частный случай прямоугольника...

А я все же считаю, что вопрос был поставлен некорректно: порождать ли одну из этих сущностей от другой вообще, и если порождать — то какую, зависит от решаемой задачи. Если вопрос звучал "что от чего наследовать?", правильный ответ был бы, imho, "для чего?". Если надо их просто закрасить, так и наследование пусть идет лесом =))

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[8]: Блин, ну откуда столько криворуких?
От: Kisloid Мухосранск  
Дата: 03.07.06 10:16
Оценка: -1
Здравствуйте, Дарней, Вы писали:

Д>я обычно таки использую виртуальные функции. Но и без них можно строить вполне качественный код.

Д>Виртуальные функции в статике прекрасно заменяются шаблонами и/или кодогенерацией. Если реально нужен рантайм-полиморфизм, то можно использовать RTTI/reflection. (я не говорю, что так и надо делать. Но, тем не менее, это позволяет делать вполне терпимый по качеству код — тем более, что в большинстве случаев статического полиморфизма вполне достаточно)

Мдаааа, no comments

PS: ничего личного, но тут все орут, да я б таких уволил, да таких надо увольнять, каких это таких ? По мне так вот этого вот товарища я бы в первую очередь уволил бы, если бы он каким то чудом ко мне попал
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[11]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 03.07.06 13:18
Оценка: -1
Здравствуйте, Igor Sukhov, Вы писали:

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


C>>Извиняюсь что поздно отвечаю.

C>>Вобще-то я имел ввиду структуры в терминах Си. Я указал на то, что если вы считаете виртуальные функции или виртуальное наследование излишними фичами языка, которые вам не нужны, тогда пересмотрите вопрос о выборе языка для своего следущего проекта.

IS>ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.


Во-первых нет тут подавляющего числа разработчиков, Во-вторых подавляющее число разработчиков далеко не являются лучшими или даже хорошими (смотри еще раз subj, и вспомни правило 80/20)! Разговор в той стороне в какой он должен быть, если ты хочешь поспорить о необходимости виртуального наследования, заводи соответствующую ветку в соответствующем топике и я постараюсь потратить время и объяснить тебе что, где и когда.

IS>а теперь внимание вопрос: линейкой из какого железа следует бить по пальцам людей, которые используют этот тип наследования в большом проекте? Хинт — большой проект подразумевает:


IS>1.большое количество разработчиков среднего уровня, которые смутно представляют себе такие тонкости языка

IS>как в. наследование.

IS>2.большое время жизни проекта, только усугубляющее положение средних разработчиков из п.1, и как следствие положение самого проекта (большой проект — он ведь держится на средних разработчиках).


Да вот как теперь называются разработчики которые не знают тонкостей языка
Куда катится мир.

P.S. ИМХО линейкой да по пальцам надо бить разработчкика который не зная тонкостей языка пытается внести изменения в большом проекте.


Re[11]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 03.07.06 13:20
Оценка: -1
Здравствуйте, Igor Sukhov, Вы писали:

C>>Извиняюсь что поздно отвечаю.

C>>Вобще-то я имел ввиду структуры в терминах Си. Я указал на то, что если вы считаете виртуальные функции или виртуальное наследование излишними фичами языка, которые вам не нужны, тогда пересмотрите вопрос о выборе языка для своего следущего проекта.

IS>ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.


Йо! Что-то я никакой статистики не увидел.

IS>а теперь внимание вопрос: линейкой из какого железа следует бить по пальцам людей, которые используют этот тип наследования в большом проекте? Хинт — большой проект подразумевает:


IS>1.большое количество разработчиков среднего уровня, которые смутно представляют себе такие тонкости языка

IS>как в. наследование.

А взять книжку почитать им недосуг?

IS>2.большое время жизни проекта, только усугубляющее положение средних разработчиков из п.1, и как следствие положение самого проекта (большой проект — он ведь держится на средних разработчиках).


Проект всё тянется и тянется, а книжку всё недосуг и недосуг. Аврал, что ли, бесконечный?

PS.: Большой проект может много чего подразумевать и не подразумевать.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: Блин, ну откуда столько криворуких?
От: LaptevVV Россия  
Дата: 03.07.06 15:41
Оценка: +1
Здравствуйте, egaron, Вы писали:

Д>>PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.


E>Очень согласен с тобой. Опять разгорелся флейм "тупые кандидаты" vs "умные работодатели". Если вы такие умные, то почему такие бедные ? Ну не хотите — не берите тупое быдло, которое почему-то не знает в совершенстве ООП и не хочет работать у вас за 300 баксов (утрирую но предполагаю что ситуация из этого расклада)


E>Меня всегда умиляли собеседователи, делающие акцент на строгую теорию. Итак, начнем


Меня вообще удивляет — зачем на собеседовании чего-то спрашивать по профессии... Гораздо правильнее оценить кандидата на предмет уживаемости в коллективе, оценить его лидерские или нелидерские качества... А по професси все сразу станет ясно, если взять его на испытательный срок — хотя б и на две недели всего...
Помнится, мне в первый день работы дали написать реальную прогу на коболе (ну контора на нем работала... , который я сдавал тока в институте... Я написал — начальник был в полном ауте... Он не мог поверить, что я с листа накатал реально работающую прогу на малознакомом языке...
Естественно, взяли на постоянку без всяких вопросов...

И в собеседовании — ну сразу видно, кидает кандидат понты или нормальный чел, который уживется в коллективе и реально поможет проекту...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Блин, ну откуда столько криворуких?
От: LaptevVV Россия  
Дата: 03.07.06 16:06
Оценка: +1
Здравствуйте, Kisloid, Вы писали:

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


A>>Да, 98 %-ам это не понадобится. Зачем изобретать очередной велосипед и потом искать в нем баги? Есть готовые реализации в .NET и STL. Давайте тогда еще выяснять знание алгоритмов поиска в строке например. Конечно бывают случаи, когда пишется новая библиотека или движок БД, и нужно знание алгоритмов.


K>Изобретать велосипед не надо, там где возможно надо использовать готовые проверенные временем надежные библиотеки, это да. Лично я в промышленном программировании в код идущий в продакшн ни разу свой алгоритм сортировки, поиска итд итп не писал. Просто эти алгоритмы надо знать. Хотя бы для того чтобы понять где что правильно использовать. В том же дотнете я помню есть метод у object'а GetHashCode(), думаете человек который незнает что такое хеш таблицы, хеш функции, поймет что это такое за 5 мин ? И более того он сможет эффективно написать свою реализацию ?


Дело даже не в конкретике... Дело в том, что изучение такого рода вещей развивает мозги в нужном направлении...
Конкретную сортирвку можно и не помнить... Я, например, не помню сейчас, как берутся разные виды интегралов... Но ведь мне ЛЕГКО взять нужную книжку и восстановить все эти знания... Так и тут... Человек должен взять нужную литературу и легко восстановить свои знания... Или изучить новые...
Если требуется по работе...

И для этого его не надо заваливать тестами на собеседовании... Достаточно взять на испытательный срок хотя бы в 2 недели и дать ПРАКТИЧЕСКУЮ задачу...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[12]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 04.07.06 03:03
Оценка: +1
Здравствуйте, Дарней, Вы писали:

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


C>>То, что он на 100 страниц это ИМХО уже не говорит о его вменяемости. В таком случае нужно писать отдельную софтину для автоматизации форматрирования. А вобще форматирование кода это больной вопрос для многих, т.к. работая в одной компании приходится использовать один code style, потом приходишь в ABBY и тебе дают талмуд на 100 страниц и ты потихоньку начинаешь впадать в депрессию.


Д>И снова услышал то, что хотел а не то, что сказали.


Д>Форматирование там занимает максимум пару страниц. Всё остальное — правила, как качественно кодировать.


Как качественно кодировать лучше читать в книгах вроде "Совершенный код", покрайней мере Стиву Макконнеллу можно довериться на 99%.


Re[10]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 04.07.06 06:58
Оценка: -1
Здравствуйте, Александр Каширин, Вы писали:

L>>Моя практика показывает, что это как раз некачественно проведенное юнит-тестирование. Но у нас этапы собственно юнит-тестирования и multi-unit тестирования были совмещены ввиду архитектуры системы.


АК>Хм... странно... это же совершенно разные методики...

АК>А если вы обосновываете совмещение юнит-тестирования и мульти-юнит-тестирования архитектурой системы, то вот вам и ответ, почему юнит-тестирование — это детский сад, который в некоторых крупных зарубежных конторах себя отжил и даже не нормируется: потому что нет таких простых архитектур, когда юнит-тест может выявить сколь-либо значимое количество ошибок системы (хотя по-прежнему подразумевается, что разработчик, прежде чем отправить исходник в CVS, а модуль в build, все-таки проведет юнит-тестирование самостоятельно).
Интересно.. А ошибки системы что, сами собой возникают? Это ошибки в юнитах, не отловленные на этапе юнит-тестов, пусть даже они и возникают только на этапе интеграции системы. В некоторых крупных зарубежных конторах даже есть внутренний свод правил, разъясняющий, что и как надо тестировать и как надо и как не надо передавать STL строки из библиотеки в бибилиотеку, например.
Для проведения более сложных, но все же юнит тестов не так сложно и эмулятор системных компонентов сделать.
Вопрос еще и в том, что и когда считать юнитом
Re[5]: Блин, ну откуда столько криворуких?
От: NailS Россия  
Дата: 04.07.06 07:22
Оценка: +1
LVV>И для этого его не надо заваливать тестами на собеседовании... Достаточно взять на испытательный срок хотя бы в 2 недели и дать ПРАКТИЧЕСКУЮ задачу...

Всех желающих на испытательный не возмешь (на испытательном деньги тоже платят), необходимо отсеять лишних.
А по каким критериям отсеивать — тема не раскрыта.
Так что, ИМХО, простой тест или вопросы на общую вменяемость очень даже вариант.
Re[3]: Блин, ну откуда столько криворуких?
От: Left2 Украина  
Дата: 04.07.06 07:37
Оценка: +1
Д>>PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.

DE>У меня такое ощущение, что эти вопросы задаются исключительно с целью занизить предлагаемую зарплату на собеседовании Чтобы всегда можно было задать "сложный" вопрос типа "а какой GUID у IXMLDomDocument" (для программеров), или "серийный ключ Винды" (для сисадминов), или "IP-адрес сайта Майкрософт" (для web-девелоперов) а затем со знанием собственного превосходства сказать "ну на такую зарплату вы явно не подходите, можем предложить в 2 раза ниже"


да ладно вам. В большинстве случаев такие вопросы задаются просто от неумения проводить техническое собеседование. Зачастую этим занимаются люди, которые неплохие технические специалисты, но совершенно теряются и не знают что спросить у потенциального кандидата. Как и любое другое умение, это приобретается с опытом, который как известно сын ошибок трудных
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[17]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 05.07.06 01:02
Оценка: :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Всё равно не понятно. Имеем два типа:


читай про обобщенное программирование
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[13]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 05.07.06 03:21
Оценка: +1
Здравствуйте, Igor Sukhov, Вы писали:

IS>Здравствуйте, Геннадий Васильев, Вы писали:


IS>>>ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.


ГВ>>Йо! Что-то я никакой статистики не увидел.


IS>Плохо что не увидел — придется собирать : встань из-за стола — поспрашивай тех, кто сидит рядом с тобой. Позвони тем с кем работал на прошлых проектах/компаниях.


IS>>>а теперь внимание вопрос: линейкой из какого железа следует бить по пальцам людей, которые используют этот тип наследования в большом проекте? Хинт — большой проект подразумевает:


IS>>>1.большое количество разработчиков среднего уровня, которые смутно представляют себе такие тонкости языка

IS>>>как в. наследование.

ГВ>>А взять книжку почитать им недосуг?

IS>А зачем ?

Чтобы развивать свой мыслительный аппарат и поднимать свой профессиональный уровень.

IS>>>2.большое время жизни проекта, только усугубляющее положение средних разработчиков из п.1, и как следствие положение самого проекта (большой проект — он ведь держится на средних разработчиках).


ГВ>>Проект всё тянется и тянется, а книжку всё недосуг и недосуг. Аврал, что ли, бесконечный?


IS>Про книжку — я тебе выше написал. Дело не в авралах — дело в желании изучать ненужное.


Дело в нежелании изучать нужное!

IS>Взрослым людям это просто неинтересно.


Взрослых людей очень много, не стоит говорить за всех.


Re[13]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 05.07.06 16:19
Оценка: -1
Здравствуйте, Igor Sukhov, Вы писали:

IS>>>ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.

ГВ>>Йо! Что-то я никакой статистики не увидел.
IS>Плохо что не увидел — придется собирать : встань из-за стола — поспрашивай тех, кто сидит рядом с тобой. Позвони тем с кем работал на прошлых проектах/компаниях.

Хорошо, допустим, что ВН не так уж и часто используется. Что из этого следует?

IS>>>а теперь внимание вопрос: линейкой из какого железа следует бить по пальцам людей, которые используют этот тип наследования в большом проекте? Хинт — большой проект подразумевает:

IS>>>1.большое количество разработчиков среднего уровня, которые смутно представляют себе такие тонкости языка
IS>>>как в. наследование.
ГВ>>А взять книжку почитать им недосуг?
IS>А зачем ?

Речь идёт о средних разработчиках. Некто пишет в коде, с которым они работают, виртуальное наследование. Вопрос: зачем им читать книжку и узнавать, что такое виртуальное наследование? И верно — на фига козе баян, когда можно пойти пожаловаться менеджеру, что этот некто применил нечто непонятное, и менеджер его линейкой, линейкой!

IS>>>2.большое время жизни проекта, только усугубляющее положение средних разработчиков из п.1, и как следствие положение самого проекта (большой проект — он ведь держится на средних разработчиках).

ГВ>>Проект всё тянется и тянется, а книжку всё недосуг и недосуг. Аврал, что ли, бесконечный?
IS>Про книжку — я тебе выше написал. Дело не в авралах — дело в желании изучать ненужное. Взрослым людям это просто неинтересно.

Взрослые люди бывают разными, ты удивишься. Так что, нечего тут за всех расписываться. И потом, ка это справедливо заметил creatman — дело в нежелании изучать нужное.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[12]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 08.07.06 12:34
Оценка: :)
Здравствуйте, EM, Вы писали:

IS>>ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.


EM>Забавный аргумент. "Подавляющее большинство " наших сограждан не умеет писать по-русски без ошибок. По вашему, мне тоже теперь с ошибками писать ?

EM>PS Лично знаком с PM-ом (!!!), который без spell-checker-a лепит по три ошибки в словах типа "классификация"

не путай мягкое с теплым.

Я тебе говорю про непонятно кому нужные возможности языка которыми почти никто не пользуется и как следствие мало кто знает как пользоваться этими возможностями правильно, а ты про тривиальные вещи, которые в секунду исправляются в любом современном текстовом редакторе.

Если подавляющее большинство ваших сограждан не умеет писать на своем родном языке без ошибок — это верный признак того что в будущем их родной язык будет упрощен.
Поначалу на бытовом уровне, а потом вполне официально.

языки программирования развиваются быстрее чем национальные поэтому в них процесс выветривания "аристократических" возможностей заметнее — посмотри на сегодняшний mainstream — C#, Java — и скажи мне где там virtual inheritance.
* thriving in a production environment *
Re[6]: Блин, ну откуда столько криворуких?
От: piAnd Россия  
Дата: 08.07.06 14:55
Оценка: -1
Здравствуйте, _Obelisk_, Вы писали:
_O_>Грустно. Гордиться тут нечем. Совсем примитивная сортировка пузыркем занимает несколько строчек. Чего там писать-то ?
Пузырем — это знает любой. А как насчет того, что существуют сортировки на 50, 100, 500, и более строчек кода? Нафига вам эта сортировка, если толку от пузыря нет никакого в большенстве случаев, где речь об оптимизации сортировки? Это тупой вопрос для собеседования, имхо, мне было б интереснее рассказать вообще об сортировке, что это такое, и какие методы есть, их сложность и т.д.
ИМХО Главное — это спрашивать о нюансах С++, т.к. это инструмент, а рабочий, не знающий инструмента это и не рабочий вобщем.
Re[8]: Блин, ну откуда столько криворуких?
От: vvotan Россия  
Дата: 09.07.06 10:26
Оценка: +1
Здравствуйте, kittown, Вы писали:


K>В девятом классе написал. Просто надо было отсортировать массив. Даже

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

K>Для изобретения пузырька нужно чуть-чуть здравого смысла и пять

K>минут времени. Если человек не может этого сделать, это
K>исключительно психологические траблы.

Может быть я психологически травмированный, но пока не прочитал в книжке про сортировку пузырьком(примерно в том же 9 классе), ни за что бы до такого не додумался. Притом задача отсортировать массив для меня тогда уже проблемы не представляла. Когда такая задача в первый раз появилась я практически не задумываясь придумал сортировку выбором.
--
Sergey Chadov

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: Блин, ну откуда столько криворуких?
От: Kestrel  
Дата: 10.07.06 13:31
Оценка: -1
Здравствуйте, Igor Sukhov, Вы писали:

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


IS>>>языки программирования развиваются быстрее чем национальные поэтому в них процесс выветривания "аристократических" возможностей заметнее — посмотри на сегодняшний mainstream — C#, Java — и скажи мне где там virtual inheritance.


K>>Любой абстракный класс содержит скрытое поле данных — указатель на таблицу виртуальных функций. А как реализуется наследование этого поля при множественном наследовании интерфейсов в Java, в виде виртуального наследования или нет? А в C#? Имеет ли в Java и C# место доминирование? (Доминирование является неотъемлемым свойством виртуального наследования, и с ним можно столкнуться в C++ и Eiffel).


IS>И как мне это доминирование прикрутить к вебсервисам и SQL ?

IS>Хотя тема интересная

К вебсервисам это не прикрутить никак. Просто на вопрос: "C#, Java —
и скажи мне где там virtual inheritance?" хочется ответить: "Да вот же
оно!". Реализация множественного наследования интерфейсов в Java и С#
сильно напоминает виртуальное наследование. И такое явление как
доминирование, свойственное в C++ только виртуальному наследованию, там
тоже присутствует, можете проверить.
Re[18]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 10.07.06 14:25
Оценка: -1
Здравствуйте, SkyDance, Вы писали:

E>>Пока складывается ощущение, что вы не ориентируетесь в теме обсуждения.

SD>Да нет — он как раз ориентируется. Я вам уже раз пять его слова в разных вариациях писал, но вы так и не смогли понять — видать, плохо у меня получается доносить простые истины до неслушающих. В итоге, мне это надоело и я перестал писать.

Вы иногда слушайте, что вам говорят. Вам жить станет легче, и платить вам станут больше.

SD>А вы ищите дальше специалистов, которые будут сначала хорошо работать, а потом (может быть) просить денег. Сдается, плохо это у вас получается, раз тут в теме ноете.


Вы что-то, наверное, опять перепутали. Ноет тут некто DaBro, это у него проблемы с наймом. И ноете Вы, что вам мало платят.
Еще раз: не надо все время пытаться схалявить. Работайте хорошо, и ваша з/п будет расти. Наоборот никогда не было, и никогда не будет, довольно странно, что вы этого не понимаете.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 11.07.06 05:01
Оценка: +1
Здравствуйте, Privalov, Вы писали:

P>У них, как правило, довольно прочное положение в их организации. Их хорошо знают "наверху". Они даже что-то умеют делать. Они неплохие администраторы, умеющие выбить средства на следующий период разработки и/или поддержки проекта. Вот их и выдвигают. Ну, а потом они начинают рулить архитектурой, влезать в технические детали, считая, что это просто. Несколько таких случаев видел. Ну и когда-то давно один такой с партийной работы пришел. Такого, правда, уже нет, мне кажется.


пожалуй, так оно и есть. Обычная история о сапожнике, который взялся пироги печь.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[18]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 11.07.06 09:04
Оценка: :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>"Наизусть", действительно, можно и не зазубривать. Но это не повод не писать, например, "while(*dest++ = *src++);" для копирования строки или последовательности с нулевым терминатором.


Вот точно такой же код стал причиной одной из самых дорогостоящих уязвимостей в винде.
Опять новичков развращаешь, шалунишка
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[20]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 11.07.06 09:50
Оценка: :)
Здравствуйте, Menestrel, Вы писали:

E>>>>Это не игра, далеко не игра. И принципы игр здесь неприменимы.

E>>>>Вы же не станете покупать машину "на авось"?
M>>>Советую очень внимательно ознакомиться с трудами Джона Нэша. Сильно удивитесь
E>>Спасибо, курс теории игр мне читался в ВУЗе
M>Значит плохо читали

Скорее, не плохо, а неубедительно
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[20]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 11.07.06 10:43
Оценка: +1
Здравствуйте, Александр Каширин, Вы писали:

ГВ>>>"Наизусть", действительно, можно и не зазубривать. Но это не повод не писать, например, "while(*dest++ = *src++);" для копирования строки или последовательности с нулевым терминатором.


K>>Такой код — повод для немедленного отстранения от работы. Разработчик вместо работы занимается выпендрежем. Код к тому же ненадежен.


АК>Ненадежен — да, несомненно. Однако в остальном — никакой это не выпендрежь, а совершенно нормальный, простой, часто встречающийся, легкочитабельный и эффективный код. Добавить туда еще контроль размера буфера — и цены этому коду не будет


Я каждый раз глаза ломаю его читать. Приходится вспоминать, что происходит раньше — * или ++. На практике этой информацией пользоваться не приходится, и она выветривается.

Надежность и простота — основные характеристики кода. Этот код плохо читаем уже оттого, что далеко не все по пять лет пишущие плюсовики смогут сказать, что это конструкция делает. Не потому что тупые, а потому что подобного кода просто не пишут. Я не знаю где он у вас там часто встречается. Читая его, приходится аккуратно восстанавливать приоритет операций, поскольку скобками они не обозначены, а из явных приоритов кроме арифметических со школы мало кто что помнит — кроме тех, кто увлекается применением их по памяти и требует того же от других. Вы наверно и не встречали мест, где по сугубо практическим соображениям забанен stl и не особо рекомендуются namespaces. И вот еще мой любимый пример кода, который понять можно, но нормальный серьезный человек об него споткнется:

 switch(0) {default: cout << "Hello World!\n";}


Утверждение об эффективности тоже требует обоснования. Сможет ли оптимизатор привести ваш код к оптимальному машкоду ? Ему-то как раз сложные конструкции противопоказаны. Те, где активно применяются указатели, противопоказаны вдвойне...
Re[17]: Блин, ну откуда столько криворуких?
От: Kestrel  
Дата: 11.07.06 12:51
Оценка: -1
Здравствуйте, Александр Каширин, Вы писали:

АК>Здравствуйте, Kestrel, Вы писали:



АК>Ну начнем с того, что в ответ на abstract в декларации интерфейса компилятор намекнет вам о неуместности "неприличных" слов


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

АК>А во-вторых, нет здесь никакого абстрактного метода. Здесь есть задекларированный метод интерфейса, который должен быть реализован в классе, который объявляет о том, что поддерживает этот интерфейс. И его имплементация находится на одном из уровней иерархии. Все чрезвычайно просто, и никаких доминантов.


Я не спорю с тем, что это не сложно. Я хочу сказать, что у такого поведения есть
прямой аналог в C++. И в C++ этот аналог называется виртуальное наследование.
Re[19]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.07.06 14:40
Оценка: -1
Здравствуйте, kittown, Вы писали:

ГВ>>И goto тоже глупо запрещать. И ассемблерные вставки — тоже. И то и другое периодически если и не остро нужно, то может оказаться удобно. Я вот, например, не привык заморачиваться вопросом, как будет идеологически правильно выйти из 2-3 циклов сразу.


K>Кто-то бросает исключение. Я обычно делаю break. [...] А с goto у меня никогда нет уверенности, является ли такой выход корректным.


У меня тоже не всегда есть такая уверенность. Здесь лучше всего помогает чтение стандарта и тесты. Большая часть вопросов и неуверенности снимается сходу. Про ошибки компилятора намеренно не упоминаю, это разговор особый. Он может и goto неправильно обработать, и break, и ещё много чего.

K>>>Аксиома: выбор стиля код программиста — не личное дело программиста, и вообще не его дело. Это дело тех, кто будет код поддерживать.

ГВ>>А на поддержку, значит, традиционно приглашаем новичков. Следовательно, любой код должен быть ориентирован на новичков. Так?
K>Я — не новичек. Но если мне подают код, ориентированный на новичков, то с ним работать гораздо легче. Спрашивается, нафига тогда выпендриваться ?

Вы сформулировали аксиому, я сформулировал естественное логическое следствие из этой аксиомы в условиях традиционной практики. Оставьте свои впечатления при себе и ответьте на заданный вопрос.

K>>>Самый правильный подход — заранее в документе компании оговорить, какие фичи использовать нельзя, и по необходимости расширять.

ГВ>>Угу, "надо, потому что надо": вводишь аксиому невнятого содержания [...]
K>Эта аксиома взялась из практики. Автор оригинального кода — это человек, который с ним работает меньше всего. Более 90% всех работы над этим кодом за все время его жизни, включая чтение и анализ, ведут потом другие люди. Включая время, когда этот перец давно уволился. С какого черта лысого один человек своим выпендрежем создает трудности всем остальным ?

Если эти самые "остальные" мотивируют свои трудности необходимостью изучить инструмент, то это сугубо их личные проблемы. Инструмент надо знать и уметь.

K>Он написал и ушел — в другой проект, например. А всем остальным это г-но саппортить и далее развивать, стараясь не нарваться на мину из-за использования не всем одинаково понятных фич языка.


С чего это Вы взяли, что на выходе у автора неизбежно получится г-но? Это всего лишь код на языке программирования и всё. Если фичи не понятны, то в них нужно разобраться, а не бравировать своим непониманием, прикрывая его маской заботы о ближнем.

Поймите меня правильно, я не против ругани в адрес того, кто оставил г-но за собой, хотя и на это могут быть свои вполне рациональные причины. Я против того, чтобы руководствоваться таким неправильным силлогизмом:

1. В некоторых случаях использование фичи X влечёт проблемы.
2. Проблемный код является г-ном.
Вывод: всякое использование фичи X — г-но.

На бытовом уровне это может быть приемлемо, в технической деятельности — нет.

ГВ>>Раз-другой прочтут — запомнят. Я не понимаю, неужели C++ настолько неподъёмен, что мозги перетрудятся от чтения документации?


K>И через месяц забудут. Через полгода из-за какой-то неочевидной хрени с приведением типов и следующим из этого выбором перегруженных операторов все взорвется. Практика пересбора кода на всех поддерживаемых платформах, даже когда он написан вроде бы кросс-платформенно, и даже когда изменена всего одна строчка — оно не на пустом месте возникло. И так делают повсеместно в серьезных конторах. Один нюанс в работе компилетров, приводящий к разной работы на разных платформах — и все сдохло нахрен. И бывает это чаще, чем хотелось бы.


Это всё понятно и разумно. Только причём тут запрет использования неких фич ввиду их "непонятности"? Если есть сугубо технические причины отказаться от использования, скажем, некоего варианта наследования, то не вижу ровным счётом никакой проблемы. Наоборот, двумя руками "за" развитие такой базы знаний. Например, у меня был случай, когда пришлось отказаться от довольно хитрого сочетания наследования и шаблонов (ошибки VC6). Только это ведь не связано с трудностями изучения языка, правильно?

Иными словами, Вы сейчас передёргиваете путём подмены основания.

K>И gcc используется реже, чем некоторым кажется. И gcc разных версий содержит разные баги, что тоже вносит свой вклад. Именно поэтому в больших серьезных системах код пишут настолько примитивно, насколько возможно, и стараются по минимуму лезть в фичи, которым менее 10-15 лет от роду.


Это тоже так. Но у примитивизации есть и оборотная сторона, прежде всего связанная с увеличением объёма исходников. "Комбинаторный взрыв", знаете ли.

K>Все запреты неоднократно выстраданы на крешах.


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

ГВ>>"Наизусть", действительно, можно и не зазубривать. Но это не повод не писать, например, "while(*dest++ = *src++);" для копирования строки или последовательности с нулевым терминатором.

K>Такой код — повод для немедленного отстранения от работы. Разработчик вместо работы занимается выпендрежем. Код к тому же ненадежен.

Началось... Ладно, чтобы не вдаваться в длинные рассуждения, прочтите Safe or Unsafe &mdash; this is the question
Автор: AlexLion
Дата: 22.05.06
, Понимание сути вопроса
Автор: AlexLion
Дата: 25.05.06
, Safe vs. unsafe &mdash; 2
Автор: klapaucius
Дата: 01.06.06
в "Философии" и ещё резюмирующие ветки в "СВ": Резюме к safe vs. unsafe
Автор: Геннадий Васильев
Дата: 17.06.06
, Генеральная линия партии
Автор: eao197
Дата: 19.06.06
и По просьбам трудящихся...
Автор: VladD2
Дата: 23.06.06
.

ГВ>> А почему виртуальное наследование можно при этом запрещать, хотя его даже зазубривать не надо, достаточно один раз понять?

K>Ну, понял. Разобрался. Выучил. Состояние "не могу работать с этой хренью" сменилось на "не переношу эту хрень, хочу видеть пять листов A4 с обоснованием, росписями и печатями под каждое применение".

Главное, что "разобрался и выучил". То, что "хочется видеть" что-то там — дело десятое. Это совсем не повод запрещать окружающим это самое что-то использовать.
<< Под музыку: Аквариум — Новая Песня О Родине >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[20]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 11.07.06 14:42
Оценка: :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Началось... Ладно, чтобы не вдаваться в длинные рассуждения, прочтите Safe or Unsafe &mdash; this is the question
Автор: AlexLion
Дата: 22.05.06
, Понимание сути вопроса
Автор: AlexLion
Дата: 25.05.06
, Safe vs. unsafe &mdash; 2
Автор: klapaucius
Дата: 01.06.06
в "Философии" и ещё резюмирующие ветки в "СВ": Резюме к safe vs. unsafe
Автор: Геннадий Васильев
Дата: 17.06.06
, Генеральная линия партии
Автор: eao197
Дата: 19.06.06
и По просьбам трудящихся...
Автор: VladD2
Дата: 23.06.06
.


+1

Красивый способ
Re[7]: Блин, ну откуда столько криворуких?
От: DmitryMS  
Дата: 11.07.06 15:14
Оценка: :)
i love the question — what's more important plus or minus
Re[23]: Блин, ну откуда столько криворуких?
От: algol Россия about:blank
Дата: 12.07.06 09:55
Оценка: +1
Здравствуйте, Дарней, Вы писали:

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


Так я все-таки не пойму, в чем заключается выпендреж. Если кто-то из разработчиков не понимает конструкции *src++, то это именно его нужно бить по голове резиновой дубинкой. Хотя это вряд ли поможет, если человек дурак, то это навсегда. Или возможно речь о формальных придирках, например большинство компиляторов выдадут warning, нужно писать типа "while((*dest++ = *src++) != 0);"?

A>>Кстати, а кто такой ArrayCopy? Это вообще из C? А то обычно идет сначала dst, а потом src.

Д>Это просто шаблонный метод. Неважно, откуда он взялся. Считай, что просто кто-то его написал

Отличный ответ на вопрос. Надо взять на заметку. Буду на любой код отвечать — за это нужно бить по кошельку резиновой дубинкой. Правильно будет — "Rabbit r = GetARabbitFromTheBlackBox(bb)". Неважно, откуда этот метод взялся, считай что просто кто-то его написал.
Я бы еще понял, если бы предложили использовать StrCpy(), lstrcpy(), strcpy()/_tcscpy() или еще что-нибудь аналогичное, но какой-то ArrayCopy(), который кто-то якобы написал — .
Re[20]: Блин, ну откуда столько криворуких?
От: alcotras  
Дата: 12.07.06 11:24
Оценка: -1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Если эти самые "остальные" мотивируют свои трудности необходимостью изучить инструмент, то это сугубо их личные проблемы. Инструмент надо знать и уметь.

...ровно на столько насколько это надо для выпуска и поддержки продукта.
Re[4]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 15:13
Оценка: :)
Здравствуйте, Дарней, Вы писали:

Д>знание одного принципа избавляет от необходимости знать сотни деталей (С) Конфуций


Верно. Знание одного принципа виртуального наследования избавляет от необходимости знать сотню деталей.

Д>могу только посочувствовать тем, кто этого не понимает. Мозги — они не бесконечные


+1
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[25]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 17:23
Оценка: -1
Здравствуйте, jhfrek, Вы писали:

ГВ>>Кстати, пример с итераторами и постинкрементами уж куда как каноничен. Практически, копия ARM-овского варианта.

J>Каноничен для человека, воспитанного Страуструпом. А если этот код будет пытаться понять не Сишник(такое, кстати, бывает) — ему прийдется много думать, в отличии от CopyTo(source, dest)

Вывод: не надо тащить на поддержку C++-ных проектов кого попало.
<< Под музыку: Аквариум — Хилый Закос Под Любовь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 01:57
Оценка: :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Что???? Или у нас уже любое знание — хак?


Нет, не любое.
Хак — это, как известно, красивое и изящное техническое решение, которое приводит к множеству других красивых и изящных технических решений.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[27]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 04:06
Оценка: +1
Здравствуйте, Дарней, Вы писали:

ГВ>>Вывод: не надо тащить на поддержку C++-ных проектов кого попало.

Д>Вывод: писать надо так, чтобы было понятно. А не так, чтобы выпендриться.

Странный у тебя какой-то вывод. Если код не понятен "не Сишнику", то значит — это выпендрёж. ИМХО, справедливый вывод здесь: нечего "не Сишнику" делать на поддержке "сишных" проектов. И уж тем более нечего ему делать на поддержке проектов на C++.
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[29]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 13.07.06 06:56
Оценка: -1
Здравствуйте, Дарней, Вы писали:

Д>не бывает "сишников" и "не-сишников", бывают только "просто программисты". А разводить лишние непонятности в программе — это от дури и желания выпендриться.


Если следовать этой логике, то предлагается отказаться:

— от оператора ?, т.к. этот непонятный элемент присутствует только в С и отсутствует в других языках;
— от оператора switch, т.к. "просто программист" может не понимать, что означает отсутствие break после очередной ветки case;
— от оператора for, т.к. его гибкая трехсекционная организация может быть непонятна "просто программисту";
— от перегрузки фукнций, т.к. множество функций с одинаковым названием, несомненно, вносят "лишние непонятности";
— ...

Список можно продолжать. Особенно если определиться с той гранью, которая отличает "дурь и желание выпендриться" от "нормального стиля программирования". Какие будут предложения по определению этой грани?
Re[28]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 13.07.06 07:33
Оценка: +1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Странный у тебя какой-то вывод. Если код не понятен "не Сишнику", то значит — это выпендрёж. ИМХО, справедливый вывод здесь: нечего "не Сишнику" делать на поддержке "сишных" проектов. И уж тем более нечего ему делать на поддержке проектов на C++.


Читать все равно бывает нужно. Типичная ситуация, когда приходится прыгать с языка на язык, и выучивать новый за несколько дней в той мере, чтобы поддерживать проект. С одной стороны, все детали за это время не изучишь. С другой стороне, при аккуратном написании этих знаний достаточно для решения задачи. Так зачем все усложнять ? C++ — только один из кучи языков, с которыми приходится иметь дело, и в последнее время мне с ним дело иметь не приходится. Вон, на следующей неделе придется с места в карьер изучать .NET и поддерживать проект. Не впервой, провусь. Другим на предыдущей работе давали задачку писать парсер XML. Писали, успешно. Попутно изучали XML.
Re[31]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 13.07.06 08:11
Оценка: +1
Здравствуйте, Дарней, Вы писали:

Д>Пиши как хочешь, никто не запрещает. Только другим не рассказывай, что "так и надо" и "это круто".


Зачем приписывать мне слова, которых я не говорил? Скорее я говорил, что "так можно" и "это нормально".
Re[31]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 16:28
Оценка: -1
Здравствуйте, kittown, Вы писали:

ГВ>>Неправильный вывод. Это означает, что поддержка программы требует определённой квалификации сопровождающего программиста. С этой работой, конечно, управится и новичок, но только ему придётся чуть подольше почитать мануалы.


K>Опять 25. Повторяю то, что уже говорил, другими словами.


K>Берем неквалифицированного программиста с книжкой в руках. Даем ему сложный и простой код одинаковой функиональности. Первый он поправит, допустим, за полчаса, а второй за десять минут. Возьмем программиста высокой квалификации. Сложный код он будет править минут минут пять, а простой — две минуты. При одинаковой функциональности. Вопрос, зачем в таких условиях писать сложный код ?


Александр Каширин очень точно подметил особенность простого кода. Вы никогда не сталкивались с проектами на десяток мегабайт очень-очень простого кода, где зависимости проявляются в самых неожиданных местах?

K>Эти условия соответствует большинству попадавшихся мне реальных ситуаций. Профессионалу высокой квалификации сложный код точно так же не нужен, как и начинающему. Исключение — воинствующие эстеты, которым нравятся красивости, но которые при этом время не считают.


Да я тоже как-то не ратую за красоты ради красот. Просто наперёд трудно знать, что именно потребуется из механизмов C++. Потому мне и кажется глупостью превентивный запрет на что-то, мотивированный борьбой с "красотами ради красот". То есть механизм языка здесь неправомерно приравнивается к "красивостям", только и всего.

ГВ>>А то мы так докатимся, что "лучше, проще и яснее" писать malloc/free и lock/unlock чем пользоваться деструкторами. Ясен пень, тут же мануалы читать надо. За шаблоны вообще лучше промолчу.


K>Простота и доступность каждой фичи оценивается исходя из практики, а не берется с потолка. Деструкторы — проще, чем malloc/free, особенно если запретить невиртуальные деструкторы.


Даже в сугубо инлайновых классах тоже нужно запрещать невиртуальные деструкторы? Это чтобы у любого класса была VMT или ещё зачем-то?

K>А без шаблонов в основном коде жить вполне можно, оставив их только в библиотеках. Хотя любителям монолитных приложений этого не понять.


Да ну? А RAII-обёртки как же?

K>>>C++ — только один из кучи языков, с которыми приходится иметь дело, и в последнее время мне с ним дело иметь не приходится.

ГВ>>И что с того? А мне приходится. И избыточно упрощать код в расчёте на то, что я отдам его первоклассникам у меня нет ровным счётом никакой мотивации.

K>Значит займетесь чем-то другим, а засабмиченный вами код может оказаться откачен. [...]


А с чего вы взяли, что я пойду работать в такую компанию, а если и пойду, то буду нарушать установленные в ней правила? Просто вы говорите, что, мол, сталкиваетесь с тем-то и тем-то, я тоже делюсь своими наблюдениями.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Блин, ну откуда столько криворуких?
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 16.07.06 09:49
Оценка: +1
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>Здравствуйте, Александр Каширин, Вы писали:


АК>>С тех пор я согласен с Биллом Гейтсом: лучше не взять на работу 10 отличных специалистов, чем взять на работу 1 плохого.


AWW>А говорят, что Шаляпина тоже в хор не брали... А Энштейн был троешником...


AWW>Да что там они, сколько раз меня, по молодости на работу не брали... Говорили, что я чего-то там не умею... Я правда один раз потом тоже их на работу не взял... Но уже чисто по злобе....


AWW>А вообще, что-бы кто не говорил, практика критерий истины — если у человека, есть реализованные проекты, значит и у вас будут, а если он знает что такое виртуальные функции (вот ведь умора, что там можно не знать) но пректов у него нет... Значит и у вас будет занайка безрукий...


У кандидатов чаще всего есть реалиованные проекты (очевидное ислючение — кандидаты на позицию junior). Но часто бывает, что когда начинаешь копать поглубже, выясняется, что не дай Бог нам такую реализацию...

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

А на счет "знаек безруких" — то мне как-то не попадалось. Зазубренные знания, не подкрепленные достаточной практикой, в голове не задерживаются. А вот обратное случается гогаздо чаще. Человек нашел таки способ сделать что-то и решил конкретную задачу, но ему невдомек что можно было решить гораздо проще, если бы он разбирался в предмете (чаще всего достаточно иметь хорошее общее представление и помнить несколько ключевых слов чтобы быстро найти документацию). Вот пример: один кандидат рассказывал, что разработал собственный класс-контейнер (и использовал его в коммерческом проекте), любое изменение размера которого приводило к realloc (не говоря уже о других недостатках по сравнению с std::vector, таких как использование конструктора копирования при перемещении объектов в памяти, возможность применения библиотеки алгоритмов и т.д.).

AWW>А вообще по моему, все эти вопросы, и такое острое восприятие ЗНАЕТ-НЕЗНАЕТ , это скорее всего говорит, о том что тестер недавно институт закончил... Или изучает с++ до сих пор... Вот мне как проффесионалу, вообще по**** на каком языке програмировать... Надо будет на каком-то новом, выучи за пару недель....


Джоел писал, что имеються некоторые "априорные формы", которые некоторые люди понять не могут (во всяком случае это дается очень тяжело). К ним он отнес концепцию указателей. Из за этого миграция с VB в C++, например, может быть делеко не так проста. В большинстве же остальных случаев нашей отрасли смена технологий является совершенно обычным явлением. Найти кандидата, который подходил бы по всем параметрам сразу обычно слишком сложно и дорого. И это все равно не гарантирует, что вскоре его не придется переобучать всвязи с развитием технологий.

AWW>Да кстати, мне вот понравился один ответ на вопрос — "а почему вы меня по языку не спрашивали"... "Вы же профессионал — надо будет выучите..." был ответ...


Ну, если Вы наглядно продемонстрировали, что увас есть успешный опыт обучаемости, то это совершенно нормально. Другое дело, что не все работодатели могут себе позволить втечение продолжительного времени обучать сотрудника или ждать пока он сам набереться опыта (все-таки оценка в 2 недели чрезывчайно оптимистична, особенно в случае с C++; тем более, что за языком потянется ворох смежных технологий): при этом не только падает производительность нового сотрудника, но и отнимается время у более опытных коллег.

А вообще здесь важен разумный баланс (и разумность его зависит от конкретного случая). Большинство организаций сочтет нерациональным учить ASP-програмиста писать драйверы для Linux.
Re[2]: Блин, ну откуда столько криворуких?
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 16.07.06 12:07
Оценка: +1
Здравствуйте, Dair, Вы писали:

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


D>Для справки: я в своей жизни за 7 лет опыта использовал множественное наследование 2 (два) раза, когда так было просто удобнее. При этом ромбообразного наследования там не было и в помине.


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

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

D>Я встречал людей, которые прекрасно знали основы ООП. Но применять на практике боялись (именно так).


Это говорит, скорее, что основы-то они не знали, а просто ориентировались в терминологии.

D>Резюме: досконально знать принципы ООП надо учителю программирования, имхо. А разработчику надо уметь их правильно применять.


Я никогда не требовал от кандидатов подобных определений, но для себя лично считаю это важным хотя бы потому, что это позволяет лучше излагать свои мысли и избегать ошибочного понимания чужих. При наличии опытыта и понимания освоить терминологию несложно (обратное гораздо сложнее). Так почему бы это не сделать?

D>Давайте рабочий тест. Даже тем, кто не знает принципов ООП. Потом устройте code revision. Позовите коллег. Будет круто, точно говорю


А еще прикольно бывает протестировать коллег (возможно из другого отдела) на своих вопросах и тестах. Это позволяет адекватно оценить сложность заданий и не дает коллегам расслабиться У нас такое периодически практикуется (с наиболее головоломными задачками). В частности, я сам решал в свое время почти все задачи, которые сейчас даються на интервью в нашем отделе. К сожалению, новые интересные задачи появляються не так уж часто.
Re[3]: вопрос по ООП
От: Ушастый Ёж Великобритания  
Дата: 11.03.07 21:39
Оценка: +1
Здравствуйте, SeRya, Вы писали:

SR>Сдается мне, что от Вас хотели добиться понимания LSP. Это достаточно важный принцип, но это далеко не критерий понимания ООП вообще. К тому же ему несложно научить. По моему личному мнению, это необязательное знание в начале испытательного срока и весьма желательное — в конце (сразу оговорюсь, что это применительно к нашей команде; у других может быть своя специфика). С другой стороны, это все же отрицательный фактор (или, по крайней мере, не положительный) и он может сыграть в совокупности с другими, вероятно, более серьезными факторами.


Знать 5 базовых принципов ООП просто обязательно. Плюс еще 3 принципа связанных с содержимым модулей (пакетов) и еще 3 — зависимостей между ними. Иначе люди пишут такой код, который просто разваливается при малейшем изменении.

P.S.: Хотя есть люди, которые этих принципов не знают, но интуитивно им придерживаются. Сам таким был до 5 курса
Re[3]: Блин, ну откуда столько криворуких?
От: LuciferMoscow Россия  
Дата: 12.03.07 17:58
Оценка: +1
Здравствуйте, DaBro, Вы писали:

DB>А кретерии жесткие у нас XP,

Хари кришна, хари рама...
DB> очень высокий темп...
Может стоит его немного сбавить, а не загонять коней до смерти?!
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[11]: Блин, ну откуда столько криворуких?
От: sc Россия  
Дата: 13.03.07 08:21
Оценка: +1
Здравствуйте, jhfrek, Вы писали:

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



J>>>Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.


NBN>>хм, std::sort?


J>Хм, а кроме С++ языков нет?


По моему в каждом языке есть стандарные для этого языка ф-ции/классы/методы сортировки. Например питон:
>>> a = [1, 2, 5, 3]
>>> a.sort()
>>> print(a)
[1, 2, 3, 5]

Самому нужно писать только для сложных случаев, например сортировка очень очень большого файла.
Re: Блин, ну откуда столько криворуких?
От: Demandred  
Дата: 29.06.06 21:27
Оценка:
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.

А вакансия на какую позицию?
Re[2]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 30.06.06 02:14
Оценка:
Здравствуйте, Antidote, Вы писали:

A> В Кенгуряндию иммигрируют в основном IT-шники.

Хорош народ в заблуждение вводить!
Re[3]: Блин, ну откуда столько криворуких?
От: Antidote  
Дата: 30.06.06 03:39
Оценка:
Здравствуйте, landerhigh, Вы писали:

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


A>> В Кенгуряндию иммигрируют в основном IT-шники.

L>Хорош народ в заблуждение вводить!

У меня создалось такое впечатление, у вас другое?
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[4]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 30.06.06 04:24
Оценка:
Здравствуйте, Antidote, Вы писали:

A>>> В Кенгуряндию иммигрируют в основном IT-шники.

L>>Хорош народ в заблуждение вводить!
A>У меня создалось такое впечатление, у вас другое?
Хм.. первый местный русский знакомый — сейлз манагер.
Есть еще автомеханик и где-то вроде бухгалтер. Не-айтишников пока больше
Re[5]: Блин, ну откуда столько криворуких?
От: Antidote  
Дата: 30.06.06 04:35
Оценка:
Здравствуйте, landerhigh, Вы писали:

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


A>>>> В Кенгуряндию иммигрируют в основном IT-шники.

L>>>Хорош народ в заблуждение вводить!
A>>У меня создалось такое впечатление, у вас другое?
L>Хм.. первый местный русский знакомый — сейлз манагер.
L>Есть еще автомеханик и где-то вроде бухгалтер. Не-айтишников пока больше

У меня всё наоборот.
Есть бывший айтишник, который работает автомеханником. Но приехал то он айтишником
Вообще, я щас живу в бывшем русскоязычном поселении, и русскоязычных тут очень много. Из 10-ка мне знакомых семей тока в одной ни один супруг не айтишник. В некоторых оба — айтишники Но я говорю о недавно приехавших.
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[5]: Блин, ну откуда столько криворуких?
От: Antidote  
Дата: 30.06.06 04:36
Оценка:
Здравствуйте, landerhigh, Вы писали:

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


A>>>> В Кенгуряндию иммигрируют в основном IT-шники.

L>>>Хорош народ в заблуждение вводить!
A>>У меня создалось такое впечатление, у вас другое?
L>Хм.. первый местный русский знакомый — сейлз манагер.
L>Есть еще автомеханик и где-то вроде бухгалтер. Не-айтишников пока больше

У меня всё наоборот.
Есть бывший айтишник, который работает автомеханником. Но приехал то он айтишником
Вообще, я щас живу в бывшем русскоязычном поселении, и русскоязычных тут очень много. Из 10-ка мне знакомых семей тока в одной ни один супруг не айтишник. В некоторых оба — айтишники Но я говорю о недавно приехавших.
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[5]: Блин, ну откуда столько криворуких?
От: Antidote  
Дата: 30.06.06 04:37
Оценка:
Здравствуйте, landerhigh, Вы писали:

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


A>>>> В Кенгуряндию иммигрируют в основном IT-шники.

L>>>Хорош народ в заблуждение вводить!
A>>У меня создалось такое впечатление, у вас другое?
L>Хм.. первый местный русский знакомый — сейлз манагер.
L>Есть еще автомеханик и где-то вроде бухгалтер. Не-айтишников пока больше
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[5]: Блин, ну откуда столько криворуких?
От: Antidote  
Дата: 30.06.06 04:38
Оценка:
Здравствуйте, landerhigh, Вы писали:

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


A>>>> В Кенгуряндию иммигрируют в основном IT-шники.

L>>>Хорош народ в заблуждение вводить!
A>>У меня создалось такое впечатление, у вас другое?
L>Хм.. первый местный русский знакомый — сейлз манагер.
L>Есть еще автомеханик и где-то вроде бухгалтер. Не-айтишников пока больше

У меня всё наоборот.
Есть бывший айтишник, который работает автомехаником. Но приехал то он айтишником
Вообще, я щас живу в бывшем русскоязычном поселении, и русскоязычных тут очень много. Из 10-ка мне знакомых семей тока в одной ни один супруг не айтишник. В некоторых оба — айтишники Но я говорю о недавно приехавших.
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[2]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 30.06.06 06:27
Оценка:
Здравствуйте, Дарней, Вы писали:

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


Д>хотел бы я знать, что ты понимаешь под "основами ООП"


Д>PS у меня есть один знакомый, который не понимает толком разницы между виртуальными и невиртуальными функциями. Точнее, раньше не понимал Но при этом он пишет вполне качественный код — во всяком случае, намного лучше многих других наших коллег


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


Re[2]: Блин, ну откуда столько криворуких?
От: HAN-BRATAN Украина http://bookkeeper.com.ua
Дата: 30.06.06 06:35
Оценка:
Здравствуйте, Andrew.W Worobow, Вы писали:

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


DB>>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.


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


Интересно что народ считает харошей мотивацией?
Re[3]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 06:39
Оценка:
C>Как можно писать высококачественный плюсовый код не различая виртуальных и невиртуальных функций. И ктомуже умения писать код это еще половина проблемы, другая половина это читать существующий код, понимать его и модифицировать. А есть ведь еще такие вещи как виртуальное наследование
Ага и страшное слово — интерфейс... На самом деле проблема не в вариантах реализации, а в выборе оптимального и понятного способа кодирования
Re[3]: Блин, ну откуда столько криворуких?
От: AmSpb  
Дата: 30.06.06 06:44
Оценка:
Здравствуйте, creatman, Вы писали:

C>Здравствуйте, Дарней, Вы писали:


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


Д>>хотел бы я знать, что ты понимаешь под "основами ООП"


Д>>PS у меня есть один знакомый, который не понимает толком разницы между виртуальными и невиртуальными функциями. Точнее, раньше не понимал Но при этом он пишет вполне качественный код — во всяком случае, намного лучше многих других наших коллег


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


Есть и такое. Мало где пригождается. Как говорится простота залог успеха
Re[5]: Блин, ну откуда столько криворуких?
От: МихаилС Россия  
Дата: 30.06.06 06:46
Оценка:
Здравствуйте, xog, Вы писали:

_O_>>Многие, кстати, не способны написать сортировку.


xog>Зачем ее писать если есть стандартные способы реализации ?


А зачем в книжных магазинах до сих пор активно торгуются
книжки по Турбо-Паскалю 7.0 этого года издания.
Re[6]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 06:48
Оценка:
Здравствуйте, МихаилС, Вы писали:

МС>Здравствуйте, xog, Вы писали:


_O_>>>Многие, кстати, не способны написать сортировку.


xog>>Зачем ее писать если есть стандартные способы реализации ?


МС>А зачем в книжных магазинах до сих пор активно торгуются

МС>книжки по Турбо-Паскалю 7.0 этого года издания.
Паскаля не знаю, тем более турбо , а с чего вы взяли что они торгуются активно ?
Re[4]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 06:49
Оценка:
AS>Есть и такое. Мало где пригождается. Как говорится простота залог успеха

Абсолютно согласен
Re[4]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 30.06.06 06:51
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

L>>Ой, не факт...

L>>Особенно если тест на бумаге класса "напишите на С++ функцию сотрировки массива".
_O_>Многие, кстати, не способны написать сортировку.
Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?
Re[3]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 30.06.06 06:54
Оценка:
Здравствуйте, creatman, Вы писали:

C>Как можно писать высококачественный плюсовый код не различая виртуальных и невиртуальных функций. И ктомуже умения писать код это еще половина проблемы, другая половина это читать существующий код, понимать его и модифицировать.


оказывается — можно. Код многих других, которые прекрасно знают, что такое виртуальная фнукция, намного хуже. Зачастую — на порядки.

C> А есть ведь еще такие вещи как виртуальное наследование


Ну во первых, с виртуальными функциями у него общее только одно — это название.
А во вторых, кстати, в ABBYY виртуальное наследование запрещено к применению специальной инструкцией. И правильно. Потому что ромбы в иерархиях — это результат кривых рук архитектора.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[5]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 30.06.06 06:57
Оценка:
Здравствуйте, xog, Вы писали:

AS>>Есть и такое. Мало где пригождается. Как говорится простота залог успеха


xog>Абсолютно согласен


Абсолютно не согласен. Работаю в большой компании, над большой и серьезной системой, виртуального наследования тут хватает и оно тут к месту. И вопрос тут не в том пригождается оно или нет, а в том знает ли человек проектирующий систему и выбирающий вариант реализации о том, что виртуальное наследование есть вобще, и знает ли он, что если он его забудет использовать, то в определенных (в полне обычных случаях) его система рухнет как карточный домик! Если он не знает этого то просто у него нет опыта и он мало наступал на грабли, по которым прошли многие специалисты.

Если комуто интересно что такое, зачем и где используется виртуальное наследование, напишите в топик по Си++ вам там все расскажут.


Re[6]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 30.06.06 06:58
Оценка:
Здравствуйте, xog, Вы писали:

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


C>>Хм...

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

xog>Заменит это все невиртуальными реализациями, хуже если человек все это знает (по книжкам) и пытается слепить все вместе, вот тогда точно кранты. Самое главное — опыт.


МДаааа... No Comments


Re[2]: Блин, ну откуда столько криворуких?
От: dr.Chaos Россия Украшения HandMade
Дата: 30.06.06 07:00
Оценка:
Здравствуйте, Дарней, Вы писали:

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


Д>хотел бы я знать, что ты понимаешь под "основами ООП"


поскипано...

Д>PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.


Например, я мес назад устроился в крупную ИТ компанию. Собеседовали меня — жуть. Сначала большой группой, потом поменьше, потом мой нынешний тим лидер. Много спрашивали про ООП и особенно про паттерны. Приняли. Дали задание. Накрапал архитектурку с использованием 4 паттернов — тим лидер проверил, после моих объяснений понял что для чего(имена классов содержат в себе имя релазуемого паттерна ), и сказал: "Ну мы вообще не так часто используем паттерны." .

Спрашивается нафига понты кидать было.

ЗЫ Контора хорошая особенно HR, да и собственно программерский отдел неплох, только проекту около 20 лет и много унаследованного Сишного кода, а рефакторинг не так сильно поощряется — видимо тоже свои ограничения накладывает.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[6]: Блин, ну откуда столько криворуких?
От: dr.Chaos Россия Украшения HandMade
Дата: 30.06.06 07:01
Оценка:
Здравствуйте, МихаилС, Вы писали:

МС>А зачем в книжных магазинах до сих пор активно торгуются

МС>книжки по Турбо-Паскалю 7.0 этого года издания.

Дык есть еще школы в которых программировать учат именно на Паскале.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[4]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 30.06.06 07:08
Оценка:
Здравствуйте, Дарней, Вы писали:

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


C>>Как можно писать высококачественный плюсовый код не различая виртуальных и невиртуальных функций. И ктомуже умения писать код это еще половина проблемы, другая половина это читать существующий код, понимать его и модифицировать.


Д>оказывается — можно. Код многих других, которые прекрасно знают, что такое виртуальная фнукция, намного хуже. Зачастую — на порядки.


Да, согласен, смотрите subj. Но причем тут виртуальные функции? Виртуальные функции это реализация полиморфизма в Си++, вы не используете полиморфизм???? Вы не используете ООП??? тогда о чем тут речь? Писать на чистом Си это одно, а говорить, что использовать виртуальные функции в Си++ необязательно это уже совсем грубая ошибка.

C>> А есть ведь еще такие вещи как виртуальное наследование


Д>Ну во первых, с виртуальными функциями у него общее только одно — это название.

Д>А во вторых, кстати, в ABBYY виртуальное наследование запрещено к применению специальной инструкцией.

Это их проблемы, я думаю кривых рук хватает и в ABBYY

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


Каких иерархиях? Пожалуйста приведите мне хоть одну иерархию без виртуальных функций (очень интересно)?


Re[7]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 07:09
Оценка:
Здравствуйте, creatman, Вы писали:

C>>>Хм...

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

xog>>Заменит это все невиртуальными реализациями, хуже если человек все это знает (по книжкам) и пытается слепить все вместе, вот тогда точно кранты. Самое главное — опыт.


C>МДаааа... No Comments

Каждый суслик в поле агроном ... (с)
Re[3]: Блин, ну откуда столько криворуких?
От: avgur  
Дата: 30.06.06 07:18
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

DC>Например, я мес назад устроился в крупную ИТ компанию. Собеседовали меня — жуть

DC> только проекту около 20 лет и много унаследованного Сишного кода

Контора не CQG или DB часом?
Re[4]: Блин, ну откуда столько криворуких?
От: dr.Chaos Россия Украшения HandMade
Дата: 30.06.06 07:32
Оценка:
Здравствуйте, avgur, Вы писали:

A>Здравствуйте, dr.Chaos, Вы писали:


A>Контора не CQG или DB часом?


Нет ISD.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[2]: Блин, ну откуда столько криворуких?
От: S-SH Россия http://shmakov.ru/
Дата: 30.06.06 07:38
Оценка:
A>Хорошие спецы стараются поработать в иностранной конторе.

Хорошие спецы стараются поработать в успешной конторе. Вот странность, почему-то она со временем становится иностранной...

A>Оттуда, как результат, знание инглиша. А дальше куда? Правильно, попробовать за границей.


ИМХО, пробовать за границей нужно как можно раньше. Пока нет детей и еще здоровы родители.

A>Найти хорошего спеца с инглишом — вообще трудно.


Нет, найти хорошего спеца с качественным инглишом — очень дорого.
IMHO. смайлики добавить по вкусу.
Re[5]: Блин, ну откуда столько криворуких?
От: _Obelisk_ Россия http://www.ibm.com
Дата: 30.06.06 07:40
Оценка:
Здравствуйте, xog, Вы писали:

_O_>>Многие, кстати, не способны написать сортировку.

xog>Зачем ее писать если есть стандартные способы реализации ?

Стандартных реализаций тоже не знают.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[5]: Блин, ну откуда столько криворуких?
От: _Obelisk_ Россия http://www.ibm.com
Дата: 30.06.06 07:43
Оценка:
Здравствуйте, landerhigh, Вы писали:

_O_>>Многие, кстати, не способны написать сортировку.

L>Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?

Грустно. Гордиться тут нечем. Совсем примитивная сортировка пузыркем занимает несколько строчек. Чего там писать-то ?



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[2]: Блин, ну откуда столько криворуких?
От: xtile  
Дата: 30.06.06 07:46
Оценка:
Здравствуйте, ihatelogins2, Вы писали:

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


DB>>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>>Чегож так мало хороших программистов то у нас.

I>За 130 тыров чистыми в месяц готов приятно удивить Вашу компанию уровнем профессионализма.


На сколько дней/недель? А то ведь вдруг потом кто-то 150 предложит %)
Re[7]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 30.06.06 08:16
Оценка:
Здравствуйте, memorilik, Вы писали:

M>Здравствуйте, Александр Каширин, Вы писали:


АК>>Убиваться апстену не нужно. Но придется признать, что, если Вы не понимаете, как работают и как могут быть оптимизированы такие простые алгоритмы, как сортировка массива, то вряд ли следует ожидать от Вас качественной разработки более сложного кода.


M>А часто вы оптимизируете сортировки в своих проектах ?

Сортировку приходилось оптимизировать только один раз — примерно в начале 90-х годов. Потому что Quick Sort в тех условиях давал средний результат больше n*log(n). А вот другие алгоритмы (в смысле, не сортировку) доводилось оптимизировать неоднократно, начиная от задач реального времени и заканчивая проектами, в которых итерационная расчетная часть в неоптимизированном варианте выполнялась десятками минут вместо нескольких секунд.

M>Если человек смог сделать охрененный проект который работает уже пару лет и при этом не может написать сортировку — и хрен с этим ! Научим за пару месяцев...

Ух... пара месяцев на алгоритм сортировки... мечта Мне обычно на исследование подобного объема новой информации давалось два дня, причем самообучения (потому как новая технология, по которой специалистов под рукой нет)
Re[4]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 30.06.06 08:23
Оценка:
Д>Ну во первых, с виртуальными функциями у него общее только одно — это название.
Д>А во вторых, кстати, в ABBYY виртуальное наследование запрещено к применению специальной инструкцией. И правильно. Потому что ромбы в иерархиях — это результат кривых рук архитектора.

Эти слова бы — да нашим, бии-и-и-ип, манагерам, биииип, в уши!
У нас тут мега-помойка из дичайшего кода с постоянным виртуальным наследованием. Такого кошмара я еще нигде не встречал. Самое ужасное во всем этом — что наш мега-тим-лид-супер-архитектор-круче-только-яйца — искренне считает, что так, и только так, нужно делать. Все мои попытки показать, что заниматься строительством велосипедов не надо, и что COM был сделан Microsoft уже давно и там неплохо продумано все то, что изобретает наш тим-лид, провалились

IMHO оно (в. н.) имеет право жить только в одном случае: для реализации некоего Object, от которого все растут. Чисто для создания общего предка, например, с ref-counting'ом для smart pointers.
Re[3]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 30.06.06 08:26
Оценка:
E>Теперь о руководстве. С чего Вы взяли, что руководитель должен быть прилежным кодописателем ? Разумеется, понятие о кодописании он должен иметь, но по долгу службы руководителю больше приходится решать политические вопросы и общатсья с заказчиком, нежели писать код (я в бытность свою руководителем иногда по полтора месяца не писал ни строчки кода). А теория, пусть люди ее и учили, очень быстро выветривается.

Если этот руководитель претендует на роль архитектора — он как минимум должен уметь этим заниматься. Не на основе "я дольше всех работаю в IT". А то выйдет как у нас
Re[8]: Блин, ну откуда столько криворуких?
От: superman  
Дата: 30.06.06 08:39
Оценка:
Здравствуйте, Дарней, Вы писали:


Д>правильно пишет. Самый худший код, который я видел в своей работе — это написанный такими вот "мега-гуру", которые на ровном месте наворотили кучу ненужных фенечек. Так что в результате получилась "архитектура", которая расширяется во всех мыслимых направлениях, кроме тех, которые нужны реально. Кода я этот мусор переписал, объем кода уменьшился в разы. Это при том, что я еще новый функционал добавил.


тем не мение ИМХО это никоим образом не отменяет необходимость наличия хоть каких-то минимальных "книжных" знаний.
Re[3]: Блин, ну откуда столько криворуких?
От: Un0  
Дата: 30.06.06 08:48
Оценка:
xog>Ну давайте еще бедных индийцев вспомним... Критику навести накого угодно можно, сначала следует на себя посмотреть...

на себя неинтересно,
я же не себя на работу беру.
Re[3]: Блин, ну откуда столько криворуких?
От: EM Великобритания  
Дата: 30.06.06 08:51
Оценка:
Здравствуйте, egaron, Вы писали:


E>Ведь в реальности вся эта лабуда, типа изысков ООП, виртуальных деструкторов и паттернов, и даже виртуальных функций, почти не используется в реальных проектах.


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

E>ах да, я забыл — вы такие проекты называете "убогими формочками", но тем не менее за эти формочки заказчик платит деньги, и немалые.


Интересно, как у вас пойдут дела без того, что вы назвали "лабудой" (еще это называется архитектурой когда формочек станет несколько сотен
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Re[6]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 30.06.06 08:55
Оценка:
Здравствуйте, Дарней, Вы писали:

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


C>>Да, согласен, смотрите subj. Но причем тут виртуальные функции? Виртуальные функции это реализация полиморфизма в Си++, вы не используете полиморфизм???? Вы не используете ООП??? тогда о чем тут речь? Писать на чистом Си это одно, а говорить, что использовать виртуальные функции в Си++ необязательно это уже совсем грубая ошибка.


Д>полиморфизм разный бывает, и виртуальные функции далеко не единственное решение. И далеко не всегда лучшее.


C>>Это их проблемы, я думаю кривых рук хватает и в ABBYY


Д>удивительно только, почему это одна из немногих российских компаний, которые продают свой продукт по всему миру.


Это не показатель качества ПО. Мелкософт и покрупнее и солиднее будет, но увы качество ПО оставляет желать лучшего

C>>Каких иерархиях? Пожалуйста приведите мне хоть одну иерархию без виртуальных функций (очень интересно)?


Д>какое вообще отношение имеют виртуальные функции к виртуальному наследованию?


Мне интересно было какие вы иерархии строите без виртуальных функций. Виртуальное наследование давайте уже оставим в покое или переведем тему в Си++


Re[8]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 30.06.06 09:03
Оценка:
Здравствуйте, Дарней, Вы писали:

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


C>>МДаааа... No Comments


Д>правильно пишет. Самый худший код, который я видел в своей работе — это написанный такими вот "мега-гуру",


Ты мой код не видел, если это имелось ввиду.

Д> которые на ровном месте наворотили кучу ненужных фенечек.


см. subj. ИМХО для некоторых BOOST и STL кажется достаточно сложными штуками в использовании, но это отнюдь не говорит о том, что профессионал не должен их использовать. Для некоторых разработка класса считается гораздо более сложной феничкой чем структурка и пара десятков глобальных функций, ну тогда давайте переведем это в тему C vs C++.

Д> Так что в результате получилась "архитектура", которая расширяется во всех мыслимых направлениях, кроме тех, которые нужны реально.


СКИПаю


Д> Кода я этот мусор переписал, объем кода уменьшился в разы. Это при том, что я еще новый функционал добавил.


Мои поздравления и искреннее уважение. Муссора достаточно везде, и я верю, что вы сделали благое дело и никакой другой разработчик теперь не назовет это мусором


Re[7]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 30.06.06 09:05
Оценка:
Здравствуйте, AmSpb, Вы писали:

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


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


AS>>>>Есть и такое. Мало где пригождается. Как говорится простота залог успеха


xog>>>Абсолютно согласен


C>>Абсолютно не согласен. Работаю в большой компании, над большой и серьезной системой, виртуального наследования тут хватает и оно тут к месту. И вопрос тут не в том пригождается оно или нет, а в том знает ли человек проектирующий систему и выбирающий вариант реализации о том, что виртуальное наследование есть вобще, и знает ли он, что если он его забудет использовать, то в определенных (в полне обычных случаях) его система рухнет как карточный домик! Если он не знает этого то просто у него нет опыта и он мало наступал на грабли, по которым прошли многие специалисты.


AS>Сделать из сложного простое задача нетривиальная и виртуальное наследование этому никак не способствует


Пишите на чистом Си, никто о вас даже плохо не подумают, некоторые наоборот даже похвалят. Не используйте классы используйте структуры. Перенисите этот топик в ветку С vs C++


Re[4]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 09:05
Оценка:
Здравствуйте, Un0, Вы писали:

xog>>Ну давайте еще бедных индийцев вспомним... Критику навести накого угодно можно, сначала следует на себя посмотреть...


Un0>на себя неинтересно,

Un0>я же не себя на работу беру.
Каким способом вы выявляете кривизну рук ?
Re[6]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 09:09
Оценка:
Здравствуйте, xog, Вы писали:

xog>Не совсем так, если человек получает 100 рублей и знает, что ему больше чем 100 рублей не светит и на эти деньги он без труда найдет

xog>себе работу в любой другой конторе, то какой смысл ему напрягаться, изучать что-то новое, совершенствоваться и т.д. ?

Напрягаться — это в смысле просто работать? Или перерабатывать?
Т.е. за 100р ты не напрягаешься, а за 150 будешь напрягаться, т.е. работать больше/лучше?

Изучать что-то новое и совершенствоваться:
1. Когда? В рабочее время?
2. Для чего, и кому именно это нужно?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 09:18
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


xog>>Не совсем так, если человек получает 100 рублей и знает, что ему больше чем 100 рублей не светит и на эти деньги он без труда найдет

xog>>себе работу в любой другой конторе, то какой смысл ему напрягаться, изучать что-то новое, совершенствоваться и т.д. ?

E>Напрягаться — это в смысле просто работать? Или перерабатывать?

E>Т.е. за 100р ты не напрягаешься, а за 150 будешь напрягаться, т.е. работать больше/лучше?

E>Изучать что-то новое и совершенствоваться:

E>1. Когда? В рабочее время?
В свободное время...
E>2. Для чего, и кому именно это нужно?
Работнику — чтобы не идти работать на меньшую ЗП
Работодателю — чтобы не искать новых "криворуких"
Re[6]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 09:32
Оценка:
Здравствуйте, Un0, Вы писали:

xog>> Каким способом вы выявляете кривизну рук ?


Un0>криворукомером

А криворукомер случайно не криворукие делали ?
Re[8]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 09:36
Оценка:
Здравствуйте, xog, Вы писали:

E>>Изучать что-то новое и совершенствоваться:

E>>1. Когда? В рабочее время?
xog>В свободное время...
E>>2. Для чего, и кому именно это нужно?
xog>Работнику — чтобы не идти работать на меньшую ЗП
xog>Работодателю — чтобы не искать новых "криворуких"

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

Вот смотри.
Есть хороший сотрудник, не тунеядец. Он хорошо и вовремя выполняет свои задачи. Получает 100р.
В соседних конторах такие же как он тоже получают 100р, т.е. менять работу ему смысла нет.
Спрашивается, что изменится, если я стану платить ему 150?

Станет работать больше? Во-первых меня и так устраивает, как он работает (хороший сотрудник), а во-вторых если он будет постоянно перенапрягаться — его ненадолго хватит.

Станет активно совершенствоваться в свободное время? (т.е. по выходным и по вечерам и в отпуске)
А раньше он не совершенствовался из принципа? Т.е. "мне платят только 100р (а не 150), поэтому я и не буду ничему учиться", так?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 09:45
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Так а зачем ему искать, если ты у него работаешь? В соседней фирме тоже 100р платят, какой смысл уходить?

E>Выходит так, что нужно это в первую очередь самому работнику.

E>Вот смотри.

E>Есть хороший сотрудник, не тунеядец. Он хорошо и вовремя выполняет свои задачи. Получает 100р.
E>В соседних конторах такие же как он тоже получают 100р, т.е. менять работу ему смысла нет.
E>Спрашивается, что изменится, если я стану платить ему 150?

E>Станет работать больше? Во-первых меня и так устраивает, как он работает (хороший сотрудник), а во-вторых если он будет постоянно перенапрягаться — его ненадолго хватит.


E>Станет активно совершенствоваться в свободное время? (т.е. по выходным и по вечерам и в отпуске)

E>А раньше он не совершенствовался из принципа? Т.е. "мне платят только 100р (а не 150), поэтому я и не буду ничему учиться", так?

ты отошел от темы:
AWW>Просто берите лучшее что есть, главное опыт и мотивация к работе... Научатся... Можно даже сказать — неожиданно быстро, научатся...
HB>>>Интересно что народ считает харошей мотивацией?

Если сотрудник, работающий за 100р. тебя устраивает полностью (и ты его), то и разговоров нет. Разговор идет о способах поиска такого вот сотрудника.
Re[10]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 09:51
Оценка:
Здравствуйте, xog, Вы писали:

xog>ты отошел от темы:

xog>AWW>Просто берите лучшее что есть, главное опыт и мотивация к работе... Научатся... Можно даже сказать — неожиданно быстро, научатся...
HB>>>>Интересно что народ считает харошей мотивацией?

xog>Если сотрудник, работающий за 100р. тебя устраивает полностью (и ты его), то и разговоров нет. Разговор идет о способах поиска такого вот сотрудника.

По-моему разговор про мотивацию, вернее, про хорошую мотивацию

Ну хорошо, предположим он работает плохо за 100р, и меня это не устраивает. Станет ли он за 150р работать лучше? Если да, то выходит, что сейчас он намеренно плохо работает?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Блин, ну откуда столько криворуких?
От: mishin  
Дата: 30.06.06 10:00
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Напрягаться — это в смысле просто работать? Или перерабатывать?

E>Т.е. за 100р ты не напрягаешься, а за 150 будешь напрягаться, т.е. работать больше/лучше?

E>Изучать что-то новое и совершенствоваться:

E>1. Когда? В рабочее время?
E>2. Для чего, и кому именно это нужно?

Суть не в том, чтобы работать лучше
Работник уже занят где-то за эти 100р
Вы ищите работника и предлагаете тоже 100р
А зачем работнику мотаться?
Re[2]: Блин, ну откуда столько криворуких?
От: ihatelogins2  
Дата: 30.06.06 10:00
Оценка:
Что символизируют эти смайлики? Зависть?
Re[11]: Блин, ну откуда столько криворуких?
От: DmitryElj Россия  
Дата: 30.06.06 10:03
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>По-моему разговор про мотивацию, вернее, про хорошую мотивацию


E>Ну хорошо, предположим он работает плохо за 100р, и меня это не устраивает. Станет ли он за 150р работать лучше? Если да, то выходит, что сейчас он намеренно плохо работает?


Тут речь скорее не о "плохо-хорошо" (я например, не очень представляю как _специально_ можно писать _плохой_ код, даже если мало платят).

Но вот объем работы, выполняемой сотрудником, вполне может зависеть от мотивации. И если сотрудник будет знать, что за бОльшую работу он получит заведомо больше, то вполне вероятно что он не только работать будет "в полную силу", но и сам добровольно ещё и на выходных поработает

Возвращаяь к вопросу, если "человек работает плохо и это не устраивает", то надо искать причину. Если же он разгильдяй по жизни, это одно, если он за такую зарплату просто не видит смысла больше напрягаться, то это совсем другое, если мало знаком с технологией, это третье...
Re[11]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 30.06.06 10:09
Оценка:
E>Ну хорошо, предположим он работает плохо за 100р, и меня это не устраивает. Станет ли он за 150р работать лучше? Если да, то выходит, что сейчас он намеренно плохо работает?

Нет, не совсем так. Сейчас ваш работник не мотивирован делать что-то в срок и качественно. Никаких рычагов давления на него нет — он не боится увольнения. Если вы будете платить 150р. а в другой фирме только 100, у него будет причина для беспокойства за своё рабочее место и хоть какое-то желание делать свою работу лучше, чем "в среднем".
Грубо говоря — сейчас вы его и он вас можете послать без далеко идущих последствий. Он даже рад будет — сможет получить отпуск!
Вот и получается, что you've got what you've paid for, сколько платишь, столько получаешь. Все честно. Хочешь чтоб он делал лучше среднего — плати больше. Или выгоняй, ищи других.
И это правильный подход. За $5.000 в месяц я буду работать лучше, чем сейчас. Это не значит, что сейчас я намеренно плохо работаю. Свою работу я выполняю. Но НЕ БОЛЕЕ того. Ибо — нет мотивации.
Re[11]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 10:10
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


xog>>ты отошел от темы:

xog>>AWW>Просто берите лучшее что есть, главное опыт и мотивация к работе... Научатся... Можно даже сказать — неожиданно быстро, научатся...
HB>>>>>Интересно что народ считает харошей мотивацией?

xog>>Если сотрудник, работающий за 100р. тебя устраивает полностью (и ты его), то и разговоров нет. Разговор идет о способах поиска такого вот сотрудника.

E>По-моему разговор про мотивацию, вернее, про хорошую мотивацию


E>Ну хорошо, предположим он работает плохо за 100р, и меня это не устраивает. Станет ли он за 150р работать лучше? Если да, то выходит, что сейчас он намеренно плохо работает?


Так я не понял он за 100 р. работатет хорошо или все-таки плохо ?
На самом деле все зависит от конкретного человека и руководства, вот раньше, например, на голом энтузиазме города строили... или взять
рабов, которым, как говорится нечего было терять, кроме цепей. Так и здесь когда человеку есть что терять (т.е. 50%) он будет прикладывать
больше усилий, зная что другого такого места ему не найти. А по-поводу того, что сейчас он намеренно работает плохо, несовсем верно, он просто
особо не озадачивается проблемами (хотя это тоже уже зависит от конкретной личности).

PS Однако рабовладельческий строй таки рухнул...
Re[8]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 10:12
Оценка:
Здравствуйте, mishin, Вы писали:

M>Суть не в том, чтобы работать лучше

M>Работник уже занят где-то за эти 100р
M>Вы ищите работника и предлагаете тоже 100р
M>А зачем работнику мотаться?

Это уже совсем другое.
Если же говорить о найме нового сотрудника, то чтобы переманить его, нужно предложить не просто компенсацию выше, чем у него сейчас, а значительно выше (при прочих равных, разумеется). Это может быть эффективным только в очень ограниченном количестве случаев. Поэтому большинство компаний поддерживают средний уровень з/п, а для обеспечения потока соискателей используют ряд других технологий, которые, порой, существенно эффективнее уровня з/п.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 10:17
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


M>>Суть не в том, чтобы работать лучше

M>>Работник уже занят где-то за эти 100р
M>>Вы ищите работника и предлагаете тоже 100р
M>>А зачем работнику мотаться?

E>Это уже совсем другое.

E>Если же говорить о найме нового сотрудника, то чтобы переманить его, нужно предложить не просто компенсацию выше, чем у него сейчас, а значительно выше (при прочих равных, разумеется). Это может быть эффективным только в очень ограниченном количестве случаев. Поэтому большинство компаний поддерживают средний уровень з/п, а для обеспечения потока соискателей используют ряд других технологий, которые, порой, существенно эффективнее уровня з/п.

И какие это технологии, если не секрет ?
Re[8]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 10:21
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


xog>>>> Каким способом вы выявляете кривизну рук ?

Un0>>>криворукомером
xog>>А криворукомер случайно не криворукие делали ?

E>С криворуких слепок делали

Ну и как найти криворуких для слепка без криворукомера ?
Походу ты противоречишь сам себе....
Re[12]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 10:28
Оценка:
Здравствуйте, DmitryElj, Вы писали:

E>>Ну хорошо, предположим он работает плохо за 100р, и меня это не устраивает. Станет ли он за 150р работать лучше? Если да, то выходит, что сейчас он намеренно плохо работает?

DE>Тут речь скорее не о "плохо-хорошо" (я например, не очень представляю как _специально_ можно писать _плохой_ код, даже если мало платят).

Я об этом и говорю.

DE>Но вот объем работы, выполняемой сотрудником, вполне может зависеть от мотивации. И если сотрудник будет знать, что за бОльшую работу он получит заведомо больше, то вполне вероятно что он не только работать будет "в полную силу", но и сам добровольно ещё и на выходных поработает


Пробовалось в нескольких вариантах:
Вариант 1. Ребята, проект горит, прошу всех отнестись с пониманием, но придется месяц поработать без выходных. +40% к з/п за этот месяц. После сдачи — недельный отпуск за счет компании. Совершенно реальная и иногда случающаяся ситуация. Люди за месяц устают в крайней степени!

Вариант 2. Обычная система компенсации за переработку. Т.е. если человек поработал в выходные (добровольно, о чем Вы говорите) — получи деньги за это время. Так вот это самое плохое, что может быть. Тут есть два негатива: 1. Некоторые начинают так работать постоянно, в результате через пару месяцев их производительность труда падает в разы. Были времена, когда приходилось категорически запрещать выходить в выходные. 2. Приходят в офис и занимаются своими делами.

В общем, отдыхать надо в выходные, а не в офисе торчать
Тогда и работа будет спориться.

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


Если сотрудник работает плохо, то за что ему повышать з/п?
А тому, который работает хорошо, получается, не надо повышать?
Тогда какой смысл работать хорошо?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 10:39
Оценка:
Здравствуйте, xog, Вы писали:

E>>Это уже совсем другое.

E>>Если же говорить о найме нового сотрудника, то чтобы переманить его, нужно предложить не просто компенсацию выше, чем у него сейчас, а значительно выше (при прочих равных, разумеется). Это может быть эффективным только в очень ограниченном количестве случаев. Поэтому большинство компаний поддерживают средний уровень з/п, а для обеспечения потока соискателей используют ряд других технологий, которые, порой, существенно эффективнее уровня з/п.
xog>И какие это технологии, если не секрет ?

Свои тренинговые центры, возможности проходить обучение/сертификацию за счет компании, спортивные программы, собственная инфраструктура, и.т.д.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Блин, ну откуда столько криворуких?
От: yeti Россия  
Дата: 30.06.06 10:45
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Т.е. если тебе платить в 1.5 раза больше — ты станешь работать в 1.5 раза лучше?

E>Значит, сейчас ты работаешь не в полную силу?
да

E>Может, раз ты работаешь не в полную силу, то тебе и платить нужно меньше?

нет, за меньше денег я буду делать ещё меньше

вариант сменить меня на человека, который будет работать по полной (делать ту же работу за меньшие деньги, или больше за те же) не имеет смысла — менять придётся часто, ибо износ

а у меня наоборот, резерв производительности есть на всякий пожарный случай — так что хотябы когда очень надо меня можно заинтересовать и например в срок уложиться, а того другого — нет
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[11]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 10:46
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


E>>>Это уже совсем другое.

E>>>Если же говорить о найме нового сотрудника, то чтобы переманить его, нужно предложить не просто компенсацию выше, чем у него сейчас, а значительно выше (при прочих равных, разумеется). Это может быть эффективным только в очень ограниченном количестве случаев. Поэтому большинство компаний поддерживают средний уровень з/п, а для обеспечения потока соискателей используют ряд других технологий, которые, порой, существенно эффективнее уровня з/п.
xog>>И какие это технологии, если не секрет ?

E>Свои тренинговые центры, возможности проходить обучение/сертификацию за счет компании, спортивные программы, собственная инфраструктура, и.т.д.


И что ты туда пойдешь работать за вдвое меньшие деньги (или хотя бы -50%) ? Вряд ли..... ничего существенней эффективнеого уровня з/п нету.
Re[11]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 10:50
Оценка:
Здравствуйте, AmSpb, Вы писали:

xog>>И какие это технологии, если не секрет ?

AS>Это наверное такие шаманские слова, как то: "соц. пакет", "фитнес", "хороший корпоративный дух". Но я предпочитаю деньги заместо слов

После определенного уровня дохода, сам по себе уровень дохода перестает быть приоритетом №1.
Вступают в силу другие факторы.

Это тоже самое, как и различия акцентов у разных слоев населения.
У работницы музея забота №1 — как сделать, чтобы хватило и на еду и на квартиру.
У менеджера среднего звена — какую бы машину выбрать взамен старой и на какой курорт поехать в отпуск.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 10:50
Оценка:
Здравствуйте, yeti, Вы писали:

Y>вариант сменить меня на человека, который будет работать по полной (делать ту же работу за меньшие деньги, или больше за те же) не имеет смысла — менять придётся часто, ибо износ


Почему же часто. Люди в большинстве своем не стремятся халявить, и получают удовольствие от своей работы.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 30.06.06 10:54
Оценка:
Здравствуйте, xtile, Вы писали:

I>>>>За 130 тыров чистыми в месяц готов приятно удивить Вашу компанию уровнем профессионализма.

X>>>На сколько дней/недель? А то ведь вдруг потом кто-то 150 предложит %)
J>>Значит прийдется и вам повышать до 150

X>Зачем? Мне в этом плане нравится позиция Max.Subpixel: мне нужны отличные работники, но я не буду предлагать зп выше рынка, чтобы не набежало таких вот "скакунов", а дам опционы, таким образом у них появится мотивация не только хорошо работать но и довести проект до конца.


Дык я же смайлик поставил — я не спорю. ИМНО все зависит от ситуации.
Re[12]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 10:55
Оценка:
Здравствуйте, xog, Вы писали:

E>>Свои тренинговые центры, возможности проходить обучение/сертификацию за счет компании, спортивные программы, собственная инфраструктура, и.т.д.

xog>И что ты туда пойдешь работать за вдвое меньшие деньги (или хотя бы -50%) ? Вряд ли..... ничего существенней эффективнеого уровня з/п нету.

Почему -50% то? Мы говорим о том, что з/п нормальная, такая же как и у других.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Блин, ну откуда столько криворуких?
От: yeti Россия  
Дата: 30.06.06 11:01
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Почему же часто. Люди в большинстве своем не стремятся халявить, и получают удовольствие от своей работы.


мои глаза говорят мне обратное особенно учитывая что написано люди, а не только программисты
и вообще, халявить — слово широкое, надрываться и саботировать не стремяться тем более — и что?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[13]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 11:07
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


E>>>Свои тренинговые центры, возможности проходить обучение/сертификацию за счет компании, спортивные программы, собственная инфраструктура, и.т.д.

xog>>И что ты туда пойдешь работать за вдвое меньшие деньги (или хотя бы -50%) ? Вряд ли..... ничего существенней эффективнеого уровня з/п нету.

E>Почему -50% то? Мы говорим о том, что з/п нормальная, такая же как и у других.

Естественно при равных з/п играют роль второстепенные факторы, никто не спорит, просто первоначальный фактор это — З/П, а остальные (спортивные программы, собственная инфраструктура, и.т.д.) это уже не особо важно
Re[8]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 11:17
Оценка:
Здравствуйте, yeti, Вы писали:

E>>Почему же часто. Люди в большинстве своем не стремятся халявить, и получают удовольствие от своей работы.

Y>мои глаза говорят мне обратное
Y>особенно учитывая что написано люди, а не только программисты
Y>и вообще, халявить — слово широкое, надрываться и саботировать не стремяться тем более — и что?

Это к тому, что тех, кто стремятся на работе балду пинать, постоянно жалуясь на маленькую з/п, на порядки меньше, чем тех, кто получает удовольствие от своей работы. Поэтому принимать рас%%%%%%ев за норму — не следует
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: Блин, ну откуда столько криворуких?
От: DmitryElj Россия  
Дата: 30.06.06 11:18
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Если сотрудник работает плохо, то за что ему повышать з/п?


Так плохо или мало? Это разные вещи.

Если мало, то может стоит предложить некую мотивацию, если до этого её не было. Например, премии по досрочному окончанию проекта, или ещё что-нибудь.

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

E>Вариант 1. Ребята, проект горит, прошу всех отнестись с пониманием, но придется месяц поработать без выходных. +40% к з/п за этот месяц. После сдачи — недельный отпуск за счет компании.


Хорошо у вас
Насколько мне казалось, многие компании вообще не озабочиваются выплатой хоть каких-либо сверхурочных часов, считая это чем-то само собой разумеющимся.
Re[4]: Блин, ну откуда столько криворуких?
От: eaa Украина  
Дата: 30.06.06 11:20
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Согласен. Именно поэтому практические тесты типа "решите, пожалуйста, вот эту задачу" мне тоже кажутся значительно более показательными. Я с некоторых пор являюсь ярым приверженцем выдачи тестового задания еще до технического собеседования (т.е. после вступительного собеседования, когда примерно понятно, что человек заинтересован у нас работать). При этом от человека в явном виде требуется разработка масштабируемого, расширяемого, надежного, поддерживаемого кода. Сложность задания оценивается примерно в 2-3 часа на фукнционал и еще 2-3 часа на красивое оформление. Мы давали на его реализацию неделю. Т.е. если человек хочет прийти к нам работать, то за неделю он наверняка сможет найти немножко свободного времени для того, чтобы показать себя. Это же, кстати, впоследствии позволит сэкономить время на техническом собеседовании (а не так как в фирме Materialise в Киеве: собеседование расчитано на полный день до вечера).


В смысле разница с Materialise в том что на тестовое задание такой же сложности даётся неделя, вместо одного дня на месте?
Re[8]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 30.06.06 11:22
Оценка:
Здравствуйте, creatman, Вы писали:

AS>>Сделать из сложного простое задача нетривиальная и виртуальное наследование этому никак не способствует


C>Пишите на чистом Си, никто о вас даже плохо не подумают, некоторые наоборот даже похвалят. Не используйте классы используйте структуры. Перенисите этот топик в ветку С vs C++


назовите хотя бы три отличия структур от классов в С++ ?
* thriving in a production environment *
Re[14]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 11:29
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


EE>Я вот там написал: после определенного уровня дохода (см. болд). Это ключевой момент.

E>И еще, где я про "дух" писал? Не припомню. Ссылочку, пожалуйста.
Так я и не говорил, что именно ты писал про этот дух...

E>Допустим, есть 2 компании:

E>В одной предлагают $3500, работать в подвале, добираться два часа, все общаются на повышенных тонах, начальник хамит.
E>В другой предлагают $3000. Хороший офис с кондиционером, комнаты отдыха, теннис, доброжелательный коллектив.

E>В данном случае $500 уже ничего не решает.

В данном случае да, но есть и другой вариант: 3500 и 5000

Вот и интересно при каком уровне дохода разница уже не играет роль ?
Re[15]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 11:32
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


E>Да, но c определенного уровня этой з/п — вступают в силу остальные факторы, а сама з/п отходит на второй план.


E>Я, например, не пойду ради лишних $500 в месяц трудиться в плохо проветриваемом помещении без кондиционера или с плохим освещением.


см. здесь
Автор: xog
Дата: 30.06.06
Re[14]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 11:33
Оценка:
DE>Если мало, то может стоит предложить некую мотивацию, если до этого её не было. Например, премии по досрочному окончанию проекта, или ещё что-нибудь.

А зачем досрочно? Гонка не нужна.
О мало/плохо — суть ведь одна.
Допустим, работает мало. Платить больше? Так мы мотивируем остальных тоже работать меньше, в надежде, что и им повысят.
Допустим, работает плохо. Платить больше? Удивятся те, кто работает хорошо.

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


Это фантастика.
Если в другой компании платят больше/условия лучше, то почему он работает в этой? Из мазохизма?

E>>Вариант 1. Ребята, проект горит, прошу всех отнестись с пониманием, но придется месяц поработать без выходных. +40% к з/п за этот месяц. После сдачи — недельный отпуск за счет компании.

DE>Хорошо у вас
DE>Насколько мне казалось, многие компании вообще не озабочиваются выплатой хоть каких-либо сверхурочных часов, считая это чем-то само собой разумеющимся.

Сейчас ситуация несколько другая. Иначе на предложение поработать месяц без выходных, можно получить пачку заявлений.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: Блин, ну откуда столько криворуких?
От: _Jane_ Украина  
Дата: 30.06.06 11:33
Оценка:
Здравствуйте, xog, Вы писали:

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

xog>И какие это технологии, если не секрет ?

как мне кажется, нечто типа "Наличие хороших кондиционеров в офисе" очень актуально сейчас между прочим
Jane
Re[9]: Блин, ну откуда столько криворуких?
От: xog  
Дата: 30.06.06 11:54
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

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


AS>>>Сделать из сложного простое задача нетривиальная и виртуальное наследование этому никак не способствует


C>>Пишите на чистом Си, никто о вас даже плохо не подумают, некоторые наоборот даже похвалят. Не используйте классы используйте структуры. Перенисите этот топик в ветку С vs C++


IS>назовите хотя бы три отличия структур от классов в С++ ?

Re[2]: Блин, ну откуда столько криворуких?
От: DaBro  
Дата: 30.06.06 11:55
Оценка:
Ну критериев криворукости много.

Напимер человек не имеет представления о полиморфизме. Нет, конечно он расскажет что это такое, а применить его для задачи всем своим видом намекающей на необходимость его применения не сможет. Предпочтет мега switch на 10 экранов.

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

Если например спросить у человека — нужно разработать кусок функионала который находится далеко от слоя представления. Да и слой представления еще не готов... Как будете код отлаживать? Некоторые додумаются до консольного приложения. Другие скажут что надо бы сначала UI сделать... А вот про Unit test'ы все упорно молчат.
Хотя IMHO разработчик должен интересоваться современным положением вещей в индустрии. Это же твоя профессия, йо!

Просто сразу понятно что такие люди никакой командой не управляли никогда и вообще много из заявленного никогда не делали.

А кретерии жесткие у нас XP, очень высокий темп...

На счет архитектора умолчу... Просто по ряду причин все шишки на меня валятся.
Re[3]: Блин, ну откуда столько криворуких?
От: ilya_ny  
Дата: 30.06.06 12:15
Оценка:
Здравствуйте, DaBro, Вы писали:

DB>О спасибо за совет! Пойду повешусь...

DB>К орфографическим ошибкам то легко цеплятся и к оборотом речи тоже.
ага. и еще можно открыть новую тему по мотивам: "откуда столько проблем с грамотностью у специалистов по ооп?". только пустая она будет (как и твоя). т.к. ничего кроме засирания людей в ней не будет


DB>Донести одно хочу — много их — этих перцев

и дальше что ? ну много их. что с этим делать ?

тут еще индусов не любят — давай и их вспомним (нехорошим словом естественно) для полноты картины.
Re[4]: Блин, ну откуда столько криворуких?
От: HAN-BRATAN Украина http://bookkeeper.com.ua
Дата: 30.06.06 12:24
Оценка:
Здравствуйте, xog, Вы писали:

HB>>Интересно что народ считает харошей мотивацией?

xog>Ответ понятен и прост — ЗП

Смотрю народ и так сильно мотивированный... Т.е. главная мотивация как я понял это деньги? А как же интерессность проекта? А процесс разработки?

Как здесь правильно организовать голосование? Хотелось бы узнать для кого что важнее — деньги, процесс разработки, интереснотсть проекта?
Re[16]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 12:40
Оценка:
Здравствуйте, xog, Вы писали:

E>>Да, но c определенного уровня этой з/п — вступают в силу остальные факторы, а сама з/п отходит на второй план.

E>>Я, например, не пойду ради лишних $500 в месяц трудиться в плохо проветриваемом помещении без кондиционера или с плохим освещением.
xog>см. здесь
Автор: xog
Дата: 30.06.06


Тоже. Ну куплю я себе новую машину не через 10 месяцев, а через 7. И что?
А вот каждый день гробить там здоровье и тратить нервы в плохом коллективе — не стоит того.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 30.06.06 12:41
Оценка:
E>Уровень З/п не есть мотивационный фактор. Уровень З/п — это удерживающий фактор, и не более того. Халтурщик не станет работать больше, если ему платить больше, т.к. он остается халтурщиком. И дилетант не станет работать лучше, т.к. он остается дилетантом.

Соответственно, если он — профессионал, то он им и останется. Но с высокой зарплатой он не будет расслабленно посматривать по сторонам — в этом просто не будет необходимости. Грубо говоря, зная, что у меня зарплата выше среднерыночной, я не буду отвлекаться на такие треды как этот — меня попросту многое перестанет интересовать. Это как имея дом в хорошем месте, я не буду интересоваться маленький квартиркой в промышленном районе.

E>А за $5000 и чужую будете выполнять? Или работать сверхурочно? Насколько вас хватит при такой работе?


Я буду иначе относится к своей работе. Более ответственно — такую работу не хочется потерять. Грубо говоря — сейчас я просто работаю. Сверхурочных работ стараюсь избегать. За 5.000 — пожалуй, буду меньше избегать.
Re[11]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 30.06.06 12:55
Оценка:
_J_>слово одно пропущено

_J_>

_J_>радость не только в работе


Да, я именно это и имел в виду. Хотел как-то подчеркнуть, что в семье и хобби радости больше, чем в работе (иначе бы не было семьи-хобби), но вышло криво.
Re[12]: Блин, ну откуда столько криворуких?
От: _Jane_ Украина  
Дата: 30.06.06 13:04
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


SD>>>Что-то мне подсказывает, что вы не из тех самых "программистов". Варианты — потенциальный "рабовладелец" (желаете, чтобы профессионалы работали "за идею"). Или очень молодой (20? 22 года?) человек, не понимающий, что радость не в работе, а в семье и хобби.

_J_>>слово одно пропущено
_J_>>

_J_>>радость не только в работе


E>Конечно, не только. Однако на работе мы проводим бОльшую часть своего времени, и от атмосферы на работе и от самой работы лучше получать позитив, который и приносить в семью. И деньги. Тоже приносить


Именно это я и хотела сказать
Jane
Re[10]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 13:07
Оценка:
Здравствуйте, SkyDance, Вы писали:

E>>Это к тому, что тех, кто стремятся на работе балду пинать, постоянно жалуясь на маленькую з/п, на порядки меньше, чем тех, кто получает удовольствие от своей работы. Поэтому принимать рас%%%%%%ев за норму — не следует

SD>Что-то мне подсказывает, что вы не из тех самых "программистов". Варианты — потенциальный "рабовладелец" (желаете, чтобы профессионалы работали "за идею").

Нет. Я не попросто не люблю, когда подобные "профессионалы" считают, что им должны платить деньги только за то, что они явили в офисе свой светлый лик. Впрочем, такие на поверку оказываются весьма посредственными специалистами. Вот они как раз обижены на весь мир и стараются прохалявить.
А профессионалы получают от своей деятельности удовольствие, и именно за них конкурируют компании и принимают все меры к их удержанию, в том числе и з/п.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Блин, ну откуда столько криворуких?
От: DaBro  
Дата: 30.06.06 13:08
Оценка:
Открывай любую тему — никто тебе не запрещает.

И постить сюда, равно как и читать тебя тоже никто не заставляет.

Обсуждение как видишь живинькое получается — вдруг чего полезное для себя почерпну...
Re[11]: Блин, ну откуда столько криворуких?
От: yeti Россия  
Дата: 30.06.06 13:21
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Я не попросто не люблю, когда подобные "профессионалы" считают, что им должны платить деньги только за то, что они явили в офисе свой светлый лик.

или завидуете
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[3]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 30.06.06 13:23
Оценка:
Здравствуйте, DaBro, Вы писали:

DB>На счет архитектора умолчу... Просто по ряду причин все шишки на меня валятся.


Я всегда был против того, чтобы взваливать human issues и менеджерские задачи на не обладающих менеджерскими навыками технических специалистов. Мой вам совет — попросите освободить вас от этих обязанностей, чтобы сберечь нервы и себе и людям.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Блин, ну откуда столько криворуких?
От: kollega Россия  
Дата: 30.06.06 14:25
Оценка:
Здравствуйте, xtile, Вы писали:

X>Здравствуйте, Дарней, Вы писали:


C>>>Это их проблемы, я думаю кривых рук хватает и в ABBYY


Д>>удивительно только, почему это одна из немногих российских компаний, которые продают свой продукт по всему миру.


X>Это удивительно и сложно понять, но зачастую самые успешные проекты отвратительно выглядят изнутри.


В данном случае это не верно. Из всех исходников, которые я видела в жизни в Абби самый чистый, понятный и красивый код. Не считая грамотной архитектуры.
Re[11]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 30.06.06 14:40
Оценка:
E>Нет. Я не попросто не люблю, когда подобные "профессионалы" считают, что им должны платить деньги только за то, что они явили в офисе свой светлый лик. Впрочем, такие на поверку оказываются весьма посредственными специалистами. Вот они как раз обижены на весь мир и стараются прохалявить.
E>А профессионалы получают от своей деятельности удовольствие, и именно за них конкурируют компании и принимают все меры к их удержанию, в том числе и з/п.

Вы на вопрос не ответили. Пост-студент, "рабовладелец", или программист с опытом?
Удовольствие от своей деятельности получает энтузиаст Которому и Денег платить не будут — ему и так удовольствие. Профессионал — тот, кто занимается работой за деньги.
Ну а, кто где и в чем специалист, посредственный или нет, не знаю, что для вас является мерилом. Оффер, например, в тот же Микрософт является показателем или нет?
Re[12]: Блин, ну откуда столько криворуких?
От: xtile  
Дата: 30.06.06 14:40
Оценка:
Здравствуйте, yeti, Вы писали:

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


E>>Я не попросто не люблю, когда подобные "профессионалы" считают, что им должны платить деньги только за то, что они явили в офисе свой светлый лик.

Y>или завидуете

Нет, он просто менеджер. И я солидарен с ним во мнении по этому вопросу.
Re: Блин, ну откуда столько криворуких?
От: anonymous_user  
Дата: 30.06.06 15:24
Оценка:
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.

смиритесь
1. жизнь несправедлива
2. архитектором в 20-60% случаев может быть просто хороший друг владельца компании или человек пришедший в нее в начале и выросший до уровня вместе с компанией, практически не занимаяссь самообразованием
3. и для того чтобы быть архитекторов в 20-60% случаев действительно не нужно знать тех самых "самых основ ООП", о которых вы говорите, а знать лишь пару общих вещей об этом, уж поверьте мне
Re[4]: Блин, ну откуда столько криворуких?
От: vitaly_spb Россия  
Дата: 30.06.06 15:51
Оценка:
_>тут еще индусов не любят — давай и их вспомним (нехорошим словом естественно) для полноты картины.

их кстати еще больше
...Ei incumbit probatio, qui dicit, non qui negat...
Re[14]: Блин, ну откуда столько криворуких?
От: execve  
Дата: 30.06.06 16:09
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Допустим, есть 2 компании:

E>В одной предлагают $3500, работать в подвале, добираться два часа, все общаются на повышенных тонах, начальник хамит.
E>В другой предлагают $3000. Хороший офис с кондиционером, комнаты отдыха, теннис, доброжелательный коллектив.

E>В данном случае $500 уже ничего не решает.


15% практически никогда ничего не решает.
Проверенная временем формула — рассматривать предложения с >25%. В остальных случаях отрицательный импакт от смены места может пересилить.
Re[12]: Блин, ну откуда столько криворуких?
От: execve  
Дата: 30.06.06 16:11
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>После определенного уровня дохода, сам по себе уровень дохода перестает быть приоритетом №1.

E>Вступают в силу другие факторы.

E>Это тоже самое, как и различия акцентов у разных слоев населения.

E>У работницы музея забота №1 — как сделать, чтобы хватило и на еду и на квартиру.
E>У менеджера среднего звена — какую бы машину выбрать взамен старой и на какой курорт поехать в отпуск.

Машина стоит денег.
Курорт стоит денег.

Хорошая машина стоит больших денег, хороший курорт тоже стоит больших денег.

Если не интересоваться своим уровнем дохода, то это сильно ограничивает выбор.
Re[5]: Блин, ну откуда столько криворуких?
От: execve  
Дата: 30.06.06 16:28
Оценка:
Здравствуйте, xtile, Вы писали:

J>>Значит прийдется и вам повышать до 150


X>Зачем? Мне в этом плане нравится позиция Max.Subpixel: мне нужны отличные работники, но я не буду предлагать зп выше рынка, чтобы не набежало таких вот "скакунов", а дам опционы, таким образом у них появится мотивация не только хорошо работать но и довести проект до конца.


Не забудь только об этих опционах в вакансии упомянуть.
А то потом тоже будешь плакаться, что никто не идёт.
Re[4]: Блин, ну откуда столько криворуких?
От: Кирилл Лебедев Россия http://askofen.blogspot.com/
Дата: 30.06.06 18:15
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Многие, кстати, не способны написать сортировку.


ИМХО, архитектору не нужно умение писать сортировку. От него требуются совсем другие навыки. Если потребуется, то использует стандартную функцию или пошарится в Интернете и найдет подходящий алгоритм.

Вся проблема в том, что многие руководители не могут подобрать адекватных заданий для теста архитекторов. Вот и спрашивают, о чем сами знают. Не лучший это метод.
С уважением,
Кирилл Лебедев
Software Design blog — http://askofen.blogspot.ru/
Re[13]: Блин, ну откуда столько криворуких?
От: prVovik Россия  
Дата: 30.06.06 18:33
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


E>>>Ну хорошо, предположим он работает плохо за 100р, и меня это не устраивает. Станет ли он за 150р работать лучше? Если да, то выходит, что сейчас он намеренно плохо работает?

SD>>Нет, не совсем так. Сейчас ваш работник не мотивирован делать что-то в срок и качественно. Никаких рычагов давления на него нет — он не боится увольнения. Если вы будете платить 150р. а в другой фирме только 100, у него будет причина для беспокойства за своё рабочее место и хоть какое-то желание делать свою работу лучше, чем "в среднем".

E>Вот мы и подошли к самому главному.

E>Уровень З/п не есть мотивационный фактор. Уровень З/п — это удерживающий фактор, и не более того. Халтурщик не станет работать больше, если ему платить больше, т.к. он остается халтурщиком. И дилетант не станет работать лучше, т.к. он остается дилетантом.

Ну не совсем так. Пример: платите мне среднерыночную зарплату и я буду морщить нос от нудной и неинтересной работы, производительность будет, естесственно, ниже моих реальных возможностей, и врноятно, работодателя не удовлетворит. Платите мне 10к вмесяц и я за эти деньги согласен в прямом смысле мыть унитазы, причем побегу в припрыжку и буду выкладываться на 150%. В принципе, я и раньше за 100 рублей мог бы мыть унитазы, но зачем оно мне надо, ради чего? Даже если я если бы я не сменил в этом случае место работы, то ни о какой удовлетворительной производительности труда не могло бы быть и речи, так как оно мне не нужно.
лэт ми спик фром май харт
Re[7]: Блин, ну откуда столько криворуких?
От: Pyromancer  
Дата: 30.06.06 18:35
Оценка:
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>Здравствуйте, _Obelisk_, Вы писали:


_O_>>Стандартных реализаций тоже не знают.


КЛ>И не надо знать. Ненужное захламление мозга. Проблема-то на пару минут поиска в Интернете.


Если за всем лезть в интернет то когда же работать? И вообще, найдёт такой чудо-рабоник с незахламлённым мозгом в интернете реализацию пузырьковой сортировки студента первого курса Васи Пупкина и влепит её в проект, мозг-то незахламлён лишними знаниями даже названий алгоритмов сортировки.
А ведь мозга ёмкость совсем не маленькая, и совсем его захламить сложно.
Re[15]: Блин, ну откуда столько криворуких?
От: prVovik Россия  
Дата: 30.06.06 19:20
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Так бы сразу и сказали, что у вас самооценка выше, чем з/п

E>Где гарантия, что вы станете хорошо работать? Если вы ленитесь, или работа неинтересная — ну возьмете себя в руки на месяц. Ну на два. Потом снова начнете лениться.

Твоя ошибаешься в том, что оцениваешь работника по прилагаемым им усилиям (ленится, или не ленится). А ты оценивай по результату, и если результат мотивированно неудовлетворительный, работник должен быть уволен. Причем он должен изначально это понимать. А там пусть хоть ленится, хоть в носу ковыряется — это уже его личные проблемы.
лэт ми спик фром май харт
Re[10]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 01.07.06 05:08
Оценка:
Здравствуйте, eaa, Вы писали:

IS>>назовите хотя бы три отличия структур от классов в С++ ?


eaa>1) доступ по умолчанию

+1

eaa>2) class — 5 символов struct — 6 символов



eaa>3) struct можно писать когда у тебя не работает клавиша 'A' а class нельзя


Легко. Вот тебе подарок от RSDN (считай сэкономил 30 баксов на новую клавиатуру).

#define cluss class


Из найденных тобою принимается только первое отличие — а надо было найти три.

Результат неплохой — "специалист по большим проектам и виртуальному наследованию" вообще не сумел ответить на этот вопрос.
* thriving in a production environment *
Re[11]: Блин, ну откуда столько криворуких?
От: LaptevVV Россия  
Дата: 01.07.06 06:46
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>>>назовите хотя бы три отличия структур от классов в С++ ?


eaa>>1) доступ по умолчанию

IS>+1

IS>Из найденных тобою принимается только первое отличие — а надо было найти три.

Второе — умолчание при наследовании... Если не указываем модификатор наследования, то при наследовании от структуры считается public, а при наследовании от класса — private.
третье — на вскидку не соображу...
Связано с POD-типами?

Еще — не проверял, но возможно это...
Я могу писать struct {... } имя;
А с классом у меня такое вроде не проходит... Или проходит?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Блин, ну откуда столько криворуких?
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 01.07.06 07:05
Оценка:
Здравствуйте, HAN-BRATAN, Вы писали:

HB>Как здесь правильно организовать голосование? Хотелось бы узнать для кого что важнее — деньги, процесс разработки, интереснотсть проекта?

Во-первых, нужно провести ранжирование по опыту работы или какому-то другому показателю, отделяющему новичков от специалистов. Во-вторых, есть разные ниши — например, проектирование, кодирование — и в каждой из них может преобладать своя мотивация. Тут единственным голосованием не обойтись.
Во-вторых, хехе, что значит "важнее"? Можно сформулировать так: я работаю за $600; куда я пойду, если несколько орагнизаций предложат мне:
1-ая — офис с бассейном (и ту же зп),
2) 0.01% доходов фирмы,
3) ЗП в $750,
4) руководство новым интересным проектом (при той же ЗП),
5) коллектив, на треть состоящий из моих хороших приятелей,
6) ЗП на $100 меньше и отмазку от армии?

Наконец, на кой вообще нужно это голосование? Ведь на работу собеседуют не среднестатистического разработчика, а конкретного.

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[8]: Блин, ну откуда столько криворуких?
От: memorilik  
Дата: 01.07.06 10:05
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Здравствуйте, memorilik, Вы писали:


M>>А часто вы оптимизируете сортировки в своих проектах ?

АК>Сортировку приходилось оптимизировать только один раз — примерно в начале 90-х годов. Потому что Quick Sort в тех условиях давал средний результат больше n*log(n). А вот другие алгоритмы (в смысле, не сортировку) доводилось оптимизировать неоднократно, начиная от задач реального времени и заканчивая проектами, в которых итерационная расчетная часть в неоптимизированном варианте выполнялась десятками минут вместо нескольких секунд.

M>>Если человек смог сделать охрененный проект который работает уже пару лет и при этом не может написать сортировку — и хрен с этим ! Научим за пару месяцев...

АК>Ух... пара месяцев на алгоритм сортировки... мечта Мне обычно на исследование подобного объема новой информации давалось два дня, причем самообучения (потому как новая технология, по которой специалистов под рукой нет)

Насчет пары месяцов на сортировку, согласен, — это крутовато Просто я хотел сказать, что даже самый хороший кондидат очень редко устраивает компанию на 100%. Следовательно его все равно надо будет обучать, вводить в курс дела.
Если же вы хотите узнать о кандидате побольше, то надо не просить его написать сортировку на бумажке, а спросить какие алгоритмы он использовал в своих проектах, попросить его обосновать почему именно эти, а не другие, и т.д. Наконец самому придумать пару задачек в которых надо было бы выбирать между двумя алгоритмами (имхо — для сортировки такое придумать — плевое дело).
Re[9]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 01.07.06 10:12
Оценка:
Здравствуйте, memorilik, Вы писали:

M>Насчет пары месяцов на сортировку, согласен, — это крутовато


Гы, почитайте Кнута. Боюсь, на ращбор всех тонкостей сортировок может и пары лет не хватить
Re[3]: Про сортировки - голосование
От: jhfrek Россия  
Дата: 01.07.06 10:32
Оценка:
Господа, прошу сюда
Автор: jhfrek
Дата: 01.07.06
Вопрос: В связи с поднятым здесь: http://www.rsdn.ru/Forum/Message.aspx?mid=1982109&only=1 в очередной раз вопросом про алгоритмы сортировки — прошу отметиться — кто сколько знает?
Re[6]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 01.07.06 14:46
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

L>>Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?

АК>Убиваться апстену не нужно. Но придется признать, что, если Вы не понимаете, как работают и как могут быть оптимизированы такие простые алгоритмы, как сортировка массива, то вряд ли следует ожидать от Вас качественной разработки более сложного кода.
Могу дать пяток референсов.

Знать (зазубрить) и понимать — вещи разные. И очень часто, к сожалению, ортогональные.
Когда в последнее время интервьюировал людей, интересовался только их способностью к командной работе, знанием методов разработки, юнит-тестирования, документации кода и т.д. Ибо когда в команде больше одного человека, это гораздо более важно, чем способность написать FFT за две минуты. Более того, зазубренные примеры из учебников вообще не гарантируют качественного кода.
Re[6]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 01.07.06 14:50
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

L>>Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?

_O_>Грустно. Гордиться тут нечем. Совсем примитивная сортировка пузыркем занимает несколько строчек. Чего там писать-то ?
Между "зазубрить" и "уметь" разницу видите?

Когда у сороконожки спросили, как ей удается одновременно передвигать все сорок ног, она разучилась ходить (С)
Re[8]: Блин, ну откуда столько криворуких?
От: DEMON HOOD  
Дата: 02.07.06 06:13
Оценка:
Здравствуйте, Pyromancer, Вы писали:

КЛ>>И не надо знать. Ненужное захламление мозга. Проблема-то на пару минут поиска в Интернете.


P>Если за всем лезть в интернет то когда же работать?


можно подумать, что ты сейчас не в интернете и работаешь...
silent RSDN@Home 1.2.0 alpha [651] Windows XP 5.1.2600.131072
Re[2]: Блин, ну откуда столько криворуких?
От: prVovik Россия  
Дата: 02.07.06 11:34
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:


ГВ>1. buzzwords. XP, паттерны.


ГВ>Запомните, а лучше — запишите. Это — ругательства. Хорошие программисты плевать хотели на гвалт, который поднимается в индустрии по тому или иному поводу. Так что, это скорее отпугивающий фактор, нежели привлекающий.


Надеюсь, все хорошие программисты были опрошены?
лэт ми спик фром май харт
Re[3]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 02.07.06 11:43
Оценка:
Здравствуйте, prVovik, Вы писали:

ГВ>>1. buzzwords. XP, паттерны.


ГВ>>Запомните, а лучше — запишите. Это — ругательства. Хорошие программисты плевать хотели на гвалт, который поднимается в индустрии по тому или иному поводу. Так что, это скорее отпугивающий фактор, нежели привлекающий.


V>Надеюсь, все хорошие программисты были опрошены?


Нет, разумеется. Это результат общения с некоторыми хорошими программистами, помноженный на логические рассуждения.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: Блин, ну откуда столько криворуких?
От: Андрей Хропов Россия  
Дата: 02.07.06 17:47
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


E>>>Почему же часто. Люди в большинстве своем не стремятся халявить, и получают удовольствие от своей работы.

Y>>мои глаза говорят мне обратное
Y>>особенно учитывая что написано люди, а не только программисты
Y>>и вообще, халявить — слово широкое, надрываться и саботировать не стремяться тем более — и что?

E>Это к тому, что тех, кто стремятся на работе балду пинать, постоянно жалуясь на маленькую з/п, на порядки меньше, чем тех, кто получает удовольствие от своей работы. Поэтому принимать рас%%%%%%ев за норму — не следует


Вы в России живете? (если говорить про людей, а не про программистов)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: Блин, ну откуда столько криворуких?
От: Jenyay http://jenyay.net
Дата: 02.07.06 19:09
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Допустим, работает мало. Платить больше? Так мы мотивируем остальных тоже работать меньше, в надежде, что и им повысят.

E>Допустим, работает плохо. Платить больше? Удивятся те, кто работает хорошо.

Дать понять, что, если он будет работать больше/лучше, то повысится зарплата. Например, можно повысить зарплату тем, кто работает больше/лучше него. Или, если совсем все плохо, то и понизить зряплату можно.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Софт, исходники и фото
Re[9]: Блин, ну откуда столько криворуких?
От: Pyromancer  
Дата: 02.07.06 19:13
Оценка:
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>Здравствуйте, Pyromancer, Вы писали:


P>>Если за всем лезть в интернет то когда же работать? И вообще, найдёт такой чудо-рабоник с незахламлённым мозгом в интернете реализацию пузырьковой сортировки студента первого курса Васи Пупкина и влепит её в проект, мозг-то незахламлён лишними знаниями даже названий алгоритмов сортировки.


КЛ>Вот и проверять нужно не знание конкретного алгоритма (даже если человек знает пузырьковую сортировку, не факт, что он сможет корректно написать алгоритм отсечения), а умение пользоваться справочными средствами (MSDN, Интернет), умение найти необходимый алгоритм и умение его правильно адаптировать.


Чтобы что-то найти, надо знать хотя бы что ищешь, так что мозг прийдётся захламить по крайней мере оглавлениями нескольких умных книжек, раз уж на содержание,даже приблизительное, ёмкости не хватает
Re[15]: Блин, ну откуда столько криворуких?
От: wf Россия  
Дата: 02.07.06 21:21
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Если вы к своей работе относитесь безответственно, з/п ничего не изменит.

E>Ответственность не регулируется з/п, вообще никак. Это качество самого
E>человека, так же как и порядочность.

Ой-ей-ей... Очень даже и изменит, и влияет... И в одну, и в другую
сторону... и возможно даже "задним числом"... К тому же... глупо
предполагать, что оплачивая услуги сотрудника по формуле:
средняя_по_рынку + 100уев, кто-то получит большую производительноть
и стахановское рвение и результаты..
Для решения одной и той же задачи/проблемы всегда можно сразу и сходу
выдвинуть десяток путей, и вот не мотивируйте человека, который
принимает решение — с высокой вероятностью получите не качественное
и продуманное решение, а заплату... и не нужно говорить что-то про
профессионализм и про качества человека...
Вокруг нас рынок, мы наемники, наши работодатели делают бизнес ради
прибылЕй и никому не позволят снижать свой доход, но почему-то многие
из них забывают, что мы ходим к ним за тем же... И если порядочный
человек не получает обещанного или должного отношения он может
понизить свою порядочность... конечно не "порядочность" в буквальном
смысле... но слегка приспустить рукава и в половине случаев все пустить
на самотек... а где мог бы оказать влияние и поучаствовать — просто
сделать вид, что либо не заметил, либо это вне его компетенции, либо
требует в 2-3 раза большего времени... да мало ли...
Re[2]: вопрос по ООП
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 03.07.06 04:22
Оценка:
Здравствуйте, ilya_ny, Вы писали:

_>я говорю, что квадратик порожден от прямоугольничка, на что третий мужичек сразу и говорит : "а не фига вы, молодой человек, ооп не знаете"

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

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[3]: вопрос по ООП
От: ilya_ny  
Дата: 03.07.06 04:40
Оценка:
Здравствуйте, Slicer [Mirkwood], Вы писали:

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


_>>я говорю, что квадратик порожден от прямоугольничка, на что третий мужичек сразу и говорит : "а не фига вы, молодой человек, ооп не знаете"

SM>Ну, надо было обсудить обе точки зрения -) С одной стороны, казалось бы, прямоугольник поддерживает все операции, осуществимые над квадратом, а вот обратное неверно -> прямоугольник расширяет квадрат. Но вот с другой — я могу сказать, что для квадрата определена операция "восстановить размеры из площади", а для прямоугольника — нет...

SM>Slicer


прочитай все обсуждения по ссылке, которую я дал — там есть некий принцип, который нарущается при наследовании квадрата от прямоугольника

я это так понял:
1. если у прямоугольника длины сторон независимы, то у квадрата — зависимы
2. если квадрат порождается от прямоугольника, то он не наследует поведение/свойства (свойство независимости длин сторон) родителя, а должен ==> нарущение принципа ооп
3. изменил у квадрата одну сторону — неявно изменилась другая сорона, что может быть сюрпризом = тоже, если быть предельно точным — нарущение

другое дело, что не всегда важно то, что у квадрата стороны зависимы, поэтому так однозначно сказать, что нельзя порождаться — не совсем верно
Re[4]: Блин, ну откуда столько криворуких?
От: FunnyRabbit Россия  
Дата: 03.07.06 05:48
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

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


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


M>>>на 25 собеседование попривыкнешь. Потом поймешь суть надобности наличия тестов.

L>>Ой, не факт...
L>>Особенно если тест на бумаге класса "напишите на С++ функцию сотрировки массива".

_O_>Многие, кстати, не способны написать сортировку.


Сортировка — это то, что ДОЛЖЕН знать программист. Хотя бы алгоритм рассказать на словах. Это основа, с которой начинают изучать алгоритмы и структуры данных.
То что меня не убивает, делает меня умнее.
Re[5]: Блин, ну откуда столько криворуких?
От: rttrtt  
Дата: 03.07.06 06:32
Оценка:
если мне высылают предварительное тестовое задание по почте — принципиально не делаю
ибо нефиг — угрохаешь несколько дней — а оно надо ?
Re[12]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 03.07.06 06:36
Оценка:
LVV>Я могу писать struct {... } имя;
LVV>А с классом у меня такое вроде не проходит... Или проходит?

Проходит, конечно. Можно и так писать: typedef class {...} classname_t;
Re[4]: вопрос по ООП
От: Sergey Philippov Россия www.azs.ru
Дата: 03.07.06 09:17
Оценка:
ilya_ny пишет:
> _>>я говорю, что квадратик порожден от прямоугольничка, на что третий
> мужичек сразу и говорит : "а не фига вы, молодой человек, ооп не знаете"
> SM>Ну, надо было обсудить обе точки зрения -) С одной стороны, казалось
> бы, прямоугольник поддерживает все операции, осуществимые над квадратом,
> а вот обратное неверно -> прямоугольник расширяет квадрат. Но вот с
> другой — я могу сказать, что для квадрата определена операция
> "восстановить размеры из площади", а для прямоугольника — нет...
>
> SM>Slicer
>
> прочитай все обсуждения по ссылке, которую я дал — там есть некий
> принцип, который нарущается при наследовании квадрата от прямоугольника
>
> я это так понял:
> 1. если у прямоугольника длины сторон независимы, то у квадрата — зависимы
> 2. если квадрат порождается от прямоугольника, то он не наследует
> поведение/свойства (свойство независимости длин сторон) родителя, а
> должен ==> нарущение принципа ооп
> 3. изменил у квадрата одну сторону — неявно изменилась другая сорона,
> что может быть сюрпризом = тоже, если быть предельно точным — нарущение
>
> другое дело, что не всегда важно то, что у квадрата стороны зависимы,
> поэтому так однозначно сказать, что нельзя порождаться — не совсем верно
IMHO, все немного проще: квадрат — это частный случай прямоугольника...

--
С уважением, Сергей Филиппов.
ps-at-azs-ru
Posted via RSDN NNTP Server 2.0
Re[5]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 03.07.06 09:25
Оценка:
Здравствуйте, egaron, Вы писали:

E>а что, смена БД обязательное условие ? Если такое маловероятное событие произойдет, то да — перепишут провайдеры.

Обычно это называется не маловероятным событием, а расширяемостью. В моей практике, когда проект поставляется различным заказчикам, каждый новый заказчик хочет его подстроить "немножко" под себя. Тут и обнаруживается, что у него давно стоит безлимитно-лицензированный Informix, а вовсе не ORACLE, на который рассчитывали мы как разработчики, и который устроил предыдущих троих заказчиков. И это только БД... и это мы еще не рассматриваем итерационный процесс разработки, когда на второй итерации заказчик, посмотрев на проект, предлагает "чуть-чуть" изменить ТЗ (он по-прежнему готов платить деньги, а вы по-прежнему заинтересованы продвигать ему этот проект). И вот тут-то это самое "чуть-чуть" запросто может вылиться в переписывание половины кода, если ваша архитектура недостаточно гибкая.


АК>>Я с некоторых пор являюсь ярым приверженцем выдачи тестового задания еще до технического собеседования (т.е. после вступительного собеседования, когда примерно понятно, что человек заинтересован у нас работать). При этом от человека в явном виде требуется разработка масштабируемого, расширяемого, надежного, поддерживаемого кода. Сложность задания оценивается примерно в 2-3 часа на фукнционал и еще 2-3 часа на красивое оформление.


E>когда тебя приглашают 10 контор и каждая дает задание на неделю, то кандидат пойдет в ту, где тестовое задание отсутствует или занимает полдня. Поэтому мне и не довелось работать в конторах, раздающих мощное Т.З.

E>Для меня приемлемое максимальное время выполнения ТЗ — 8 часов (и то если контора понравилась)

Я рад, что мои задания на 4-6 часов с запасом вписываются в ваши лимиты


АК>>Так вот, любопытнейшие результаты, я вам скажу Примерно 80% решений удается "завалить" парой-тройкой тестовых примеров. Больше половины оставшихся написаны методом "copy-paste" (это если обобщенно).

E>У тебя цель завалить или найти сотрудника ? Как говорил наш старшина, прапорщик Гертнер — "юноша, я знаю миллион способов чтобы задрочить солдата"

У меня цель — взять на работу сотрудника, который не будет разрабатывать код таким образом, чтобы за него потом приходилось переделывать. То что я перечислил — это показатель того, что переделывать придется. "Copy-paste" — это неподдерживаемый код, а "завалить парой-тройкой тестовых примеров" (задание-то простое! можно было и предусмотреть все варианты!) — это ненадежный код.
Re[6]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 03.07.06 09:47
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

E>>У тебя цель завалить или найти сотрудника ? Как говорил наш старшина, прапорщик Гертнер — "юноша, я знаю миллион способов чтобы задрочить солдата"

АК>У меня цель — взять на работу сотрудника, который не будет разрабатывать код таким образом, чтобы за него потом приходилось переделывать. То что я перечислил — это показатель того, что переделывать придется. "Copy-paste" — это неподдерживаемый код, а "завалить парой-тройкой тестовых примеров" (задание-то простое! можно было и предусмотреть все варианты!) — это ненадежный код.

А разве есть однозначная связь между знанием алгоритмов сортировки и порядка вызова конструкторов и способностью писать расширяемый и поддерживаемый код?
Re[7]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 03.07.06 09:47
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Компаний много, а я один. На каждую тестовое задание делать — подохнешь от переутомления.

Д>Так что я тоже не стал бы делать тестовое задание (ну если только компания выделяется своими неимоверно хорошими условиями работы... тогда я бы подумал )
О! Прекрасное заключение мысли! А разве мы рассматриваем варианты, когда ищем работу в фирме, в которой не очень-то и хотелось бы работать? Я такие предложения фильтрую еще на этапе первого звонка от HR или заменяющего его менеджера
Re[15]: Блин, ну откуда столько криворуких?
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 03.07.06 09:51
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Если в другой компании платят больше/условия лучше, то почему он работает в этой? Из мазохизма?

Из энтузиазма. Сам с таким общаюсь. Если фактически тянешь на себе проект, жаль бывает все бросать, уже выйдя на финишную прямую.
Из интереса. Тоже общаюсь. Чел предпочитает работать интегратором за 5-15 т.р., хотя мог бы, скажем, админить оракл за 20-30...

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[8]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 03.07.06 09:59
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>О! Прекрасное заключение мысли! А разве мы рассматриваем варианты, когда ищем работу в фирме, в которой не очень-то и хотелось бы работать? Я такие предложения фильтрую еще на этапе первого звонка от HR или заменяющего его менеджера


В пределах досягаемости нет ни одной компании, где "очень хотелось бы работать". А переезжать я пока не собрался
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: Блин, ну откуда столько криворуких?
От: Left2 Украина  
Дата: 03.07.06 10:03
Оценка:
L>>Честно говоря никогда не понимал почему именно пузырёк учат в школе. ИМХО сортировка простым выбором куда проще для понимания, настолько же проста для реализации, да и к тому же лучше по эффективности.
АК>А разве эффективность этих двух алгоритмов не одинакова и не оценивается в n(n+1)/2 сравнений?

Цитата найдена гуглом

Таким образом, среднее время работы программы S равно 2.5N2 + 3(N+1) + 3.5N — 11 единиц, т. е. она лишь немногим медленнее простых вставок. Интересно сравнить алгоритм S с сортировкой методом пузырька, так как метод пузырька можно рассматривать как алгоритм выбора, в котором иногда выбирается более одного элемента за раз. По этой причине при сортировке методом пузырька производится меньше сравнений, чем при простом выборе, и она, как может показаться, предпочтительнее. Но в действительности алгоритм пузырьковой сортировки более чем вдвое медленнее алгоритма простого выбора. Сортировка методом пузырька проигрывает из-за того, что в ней выполняется слишком много обменов, в то время как при сортировке простым выбором производится очень мало пересылок данных.

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 03.07.06 10:09
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Когда в последнее время интервьюировал людей, интересовался только их способностью к командной работе, знанием методов разработки, юнит-тестирования...

Как показывает практика, качественно проведенное юнит-тестирование покрывает не более 10% багов. Остальные не менее 90% приходится на multi-unti стыки... особенно в multi-thread и multi-tier приложениях. Именно поэтому в некоторых крупных западных компаниях юнит-тестирование — это чисто формальный этап, полностью отданный на усмотрение разработчика, к которому не предъявляется конкретных требований, и на который не нормируется время. Потому что все равно баги ловятся на этапе комплексного multi-unit тестирования.
Re[7]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 03.07.06 10:18
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Здравствуйте, Александр Каширин, Вы писали:


E>>>У тебя цель завалить или найти сотрудника ? Как говорил наш старшина, прапорщик Гертнер — "юноша, я знаю миллион способов чтобы задрочить солдата"

АК>>У меня цель — взять на работу сотрудника, который не будет разрабатывать код таким образом, чтобы за него потом приходилось переделывать. То что я перечислил — это показатель того, что переделывать придется. "Copy-paste" — это неподдерживаемый код, а "завалить парой-тройкой тестовых примеров" (задание-то простое! можно было и предусмотреть все варианты!) — это ненадежный код.

L>А разве есть однозначная связь между знанием алгоритмов сортировки и порядка вызова конструкторов и способностью писать расширяемый и поддерживаемый код?


Из приведенной цитаты можно лишь сделать вывод, что я усматриваю связь между результатом выполнения тестового задания и способностью писать расширяемый и поддерживаемый код.

Что же касается остального... Знание порядка вызова конструкторов и деструкторов, очевидно, напрямую связано с умением разрабатывать надежный код с использованием данного языка программирования. А понимание работы основных алгоритмов (не только сортировки), на мой взгляд, напрямую связано с умением разрабатывать код
Re[9]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 03.07.06 10:25
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

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


AS>>>Сделать из сложного простое задача нетривиальная и виртуальное наследование этому никак не способствует


C>>Пишите на чистом Си, никто о вас даже плохо не подумают, некоторые наоборот даже похвалят. Не используйте классы используйте структуры. Перенисите этот топик в ветку С vs C++


IS>назовите хотя бы три отличия структур от классов в С++ ?



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


Re[10]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 03.07.06 10:28
Оценка:
Здравствуйте, Дарней, Вы писали:

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


C>>см. subj. ИМХО для некоторых BOOST и STL кажется достаточно сложными штуками в использовании, но это отнюдь не говорит о том, что профессионал не должен их использовать. Для некоторых разработка класса считается гораздо более сложной феничкой чем структурка и пара десятков глобальных функций, ну тогда давайте переведем это в тему C vs C++.


Д>да нет, я вообще не об этом писал. Просто для многих (слишком многих) "навороченный код" эквивалентно "хороший код", и служит для подтверждения их неимоверной крутизны и высокого статуса Вот и появляются монстры, в которых простейшая задача решается неимоверно бессмысленно сложными способами.


Это быстро лечится, когда работа идет в команде более 3-х человек

Д>В общем, здравый смысл рулит


Это факт, категорически согласен


Re[2]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 03.07.06 10:40
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>на форуме самого сильного в россии по программированию сообщества РСДН "инженера" начали кричать, что не надо знать алгоритм сортировки, можно с инета "закопипастить". Что творится в университетах, это просто плакать хочется.


Таки, если верить моему голосованию — сортировки многие знают
Re[8]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 03.07.06 10:41
Оценка:
Здравствуйте, kollega, Вы писали:

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


X>>Здравствуйте, Дарней, Вы писали:


C>>>>Это их проблемы, я думаю кривых рук хватает и в ABBYY


Д>>>удивительно только, почему это одна из немногих российских компаний, которые продают свой продукт по всему миру.


X>>Это удивительно и сложно понять, но зачастую самые успешные проекты отвратительно выглядят изнутри.


K>В данном случае это не верно. Из всех исходников, которые я видела в жизни в Абби самый чистый, понятный и красивый код.


Неужели в Абби есть правила по оформлению кода?

K> Не считая грамотной архитектуры.


Я бы считал это в первую очередь.


Re[3]: Блин, ну откуда столько криворуких?
От: Kisloid Мухосранск  
Дата: 03.07.06 10:53
Оценка:
Здравствуйте, jhfrek, Вы писали:

J>Таки, если верить моему голосованию — сортировки многие знают


Ага, и специально остальным орут, "да это знать не надо, можно с инета накачать", например чтобы конкурентов стало меньше

ЗЫ: помнится мне в классе 8м сказали отсортировать массив и дали полчаса, тогда я еще не знал ни одного алгоритма сортировки, за минут 20 я смог написать алгоритм со сложностью O(n^2). Как потом оказалось я написал стандартную сортировку вставками. А тут "инженера" получающие по 1000 баксов минимум не могут и не хотят этого знать Это же база, это фундамент, это как обычному человеку знать таблицу умножения например, знаю большинство крикнут зачем, если есть калькулятор
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[4]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 03.07.06 11:00
Оценка:
Здравствуйте, Kisloid, Вы писали:

J>>Таки, если верить моему голосованию — сортировки многие знают


K>Ага, и специально остальным орут, "да это знать не надо, можно с инета накачать", например чтобы конкурентов стало меньше


Вариант
Re[8]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 03.07.06 11:41
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>я обычно таки использую виртуальные функции. Но и без них можно строить вполне качественный код.

Д>Виртуальные функции в статике прекрасно заменяются шаблонами и/или кодогенерацией. Если реально нужен рантайм-полиморфизм, то можно использовать RTTI/reflection. (я не говорю, что так и надо делать. Но, тем не менее, это позволяет делать вполне терпимый по качеству код — тем более, что в большинстве случаев статического полиморфизма вполне достаточно)

Фигасе... А можно подробнее? Чую, что я со своей приверженностью к LSP начинаю устаревать.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: Блин, ну откуда столько криворуких?
От: Miroff Россия  
Дата: 03.07.06 11:45
Оценка:
Здравствуйте, Kisloid, Вы писали:

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


J>>Таки, если верить моему голосованию — сортировки многие знают


K>Ага, и специально остальным орут, "да это знать не надо, можно с инета накачать", например чтобы конкурентов стало меньше


K>ЗЫ: помнится мне в классе 8м сказали отсортировать массив и дали полчаса, тогда я еще не знал ни одного алгоритма сортировки, за минут 20 я смог написать алгоритм со сложностью O(n^2). Как потом оказалось я написал стандартную сортировку вставками. А тут "инженера" получающие по 1000 баксов минимум не могут и не хотят этого знать Это же база, это фундамент, это как обычному человеку знать таблицу умножения например, знаю большинство крикнут зачем, если есть калькулятор


Если у тебя в восьмом классе получилось написать сортировку, то "у инженера за 1000 бакстов минимум" тоже наверняка получится.
Re[4]: Блин, ну откуда столько криворуких?
От: DmitryElj Россия  
Дата: 03.07.06 11:51
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>ЗЫ: помнится мне в классе 8м сказали отсортировать массив и дали полчаса, тогда я еще не знал ни одного алгоритма сортировки, за минут 20 я смог написать алгоритм со сложностью O(n^2). Как потом оказалось я написал стандартную сортировку вставками.


А я примерно в таком же возрасте сам "придумал" сортировку пузырьком

K>Это же база, это фундамент, это как обычному человеку знать таблицу умножения например, знаю большинство крикнут зачем, если есть калькулятор


Сейчас например, я по памяти вряд ли назову хотя бы 3-4 алгоритма сортировки, просто потому что не надо было, хотя дома том "Сортировка и поиск" валяется, даже пару раз его доставал как-то (когда нужна была большая книжка, под винт подложить чтоб не падал ).
Re[7]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 03.07.06 11:55
Оценка:
memorilik wrote:
>
> АК>Убиваться апстену не нужно. Но придется признать, что, если Вы не
> понимаете, как работают и как могут быть оптимизированы такие простые
> алгоритмы, как сортировка массива, то вряд ли следует ожидать от Вас
> качественной разработки более сложного кода.
>
> А часто вы оптимизируете сортировки в своих проектах ? Я лично не разу,
> хотя проектов хватало... Всегда использовали стандартные ф-ции и все
> работало нормально. Более того, сейчас провел опрос своих знакомых на
> предмет написания сортировок, но ни кто из них правильно на бумаге сразу
> написать не смог.

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

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

Mikhail
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Блин, ну откуда столько криворуких?
От: Kisloid Мухосранск  
Дата: 03.07.06 12:27
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Если у тебя в восьмом классе получилось написать сортировку, то "у инженера за 1000 бакстов минимум" тоже наверняка получится.


Если это инженер не в кавычках, то думаю да.
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[6]: вопрос по ООП
От: Sergey Philippov Россия www.azs.ru
Дата: 03.07.06 12:31
Оценка:
Kisloid пишет:
>
> ИМХО кажется ничего подобного, у квадрата и прямоугольника общее только
> то, что они есть класс геометрических фигур. Так что в принципе можно
> отнаследолвать их от общего абстрактного базового класса Shape. Квадрат
> не есть частный случай прямоугольника в терминах ООП, да и в математике
> насколько я помню тоже.
>
> Если бы мне дали такое задание, я бы написал что то вроде этого:
>
> class Square : public Shape
> {
> private:
> int left_;
> int top_;

> class Rectangle : public Shape

> {
> private:
> int left_;
> int top_;
>
>
> Интересно, меня бы с таким решением тоже отправили бы ?
Ничего общего не замечаешь? К тому же, sideSize и width&height можно
заменить на corner. И все отличие сведется к assert'у в установщике
corner у квадрата. Не придется по два раза писать area(), draw() etc...

--
С уважением, Сергей Филиппов.
ps-at-azs-ru
Posted via RSDN NNTP Server 2.0
Re[13]: Блин, ну откуда столько криворуких?
От: mik1  
Дата: 03.07.06 12:33
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Пробовалось в нескольких вариантах:

E>Вариант 1. Ребята, проект горит, прошу всех отнестись с пониманием, но придется месяц поработать без выходных. +40% к з/п за этот месяц. После сдачи — недельный отпуск за счет компании. Совершенно реальная и иногда случающаяся ситуация. Люди за месяц устают в крайней степени!

Извините. Выходные — это и есть СОРОК ПРОЦЕНТОВ от рабочего времени. Поэтому перефразирую: Ребята, нужно поработать месяц без выходных. Оплата за работу в выходные — в одиночном размере. Это, конечно, противоречит КЗОТу, но Вы потерпите, да?

E>Вариант 2. Обычная система компенсации за переработку. Т.е. если человек поработал в выходные (добровольно, о чем Вы говорите) — получи деньги за это время. Так вот это самое плохое, что может быть. Тут есть два негатива: 1. Некоторые начинают так работать постоянно, в результате через пару месяцев их производительность труда падает в разы. Были времена, когда приходилось категорически запрещать выходить в выходные. 2. Приходят в офис и занимаются своими делами.


ИМХО, кто-то платит мало? Иначе нет смысла сидеть на работе безвылазно...
Re[14]: Блин, ну откуда столько криворуких?
От: mik1  
Дата: 03.07.06 12:38
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Допустим, есть 2 компании:

E>В одной предлагают $3500, работать в подвале, добираться два часа, все общаются на повышенных тонах, начальник хамит.
E>В другой предлагают $3000. Хороший офис с кондиционером, комнаты отдыха, теннис, доброжелательный коллектив.

E>В данном случае $500 уже ничего не решает.


Обычно цифры надо местами поменять.
А еще — покажите мне место в Москве, где офис снимают в подвале и платят программеру 3000$.
Поверю в 1500 максимум.
Re[2]: Блин, ну откуда столько криворуких?
От: algol Россия about:blank
Дата: 03.07.06 12:48
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>на форуме самого сильного в россии по программированию сообщества РСДН "инженера" начали кричать, что не надо знать алгоритм сортировки,


Да, 98 %-ам это не понадобится. Зачем изобретать очередной велосипед и потом искать в нем баги? Есть готовые реализации в .NET и STL. Давайте тогда еще выяснять знание алгоритмов поиска в строке например. Конечно бывают случаи, когда пишется новая библиотека или движок БД, и нужно знание алгоритмов.

K>можно с инета "закопипастить".


Так обычно быстрее. К примеру как-то понадобилась мне функция сравнения строки по wildcards, типа Like "*abc?d". Минут за 10 в инете отыскалось решение. Вы за 10 минут напишете такую функцию (там строчек 30)? Кстати, неплохой вариант для тестового задания, лучше чем предлагать изобретать велосипед.

K>Что творится в университетах, это просто плакать хочется.


Плакать хочется, когда читаешь о таком способе сортировки (где-то постили на РСДН с дельфового форума): создается скрытый List View, заполняется строками, вызывается Sort, считывается готовый результат. Кстати, такое еще придумать надо, этого у Кнута не прочитаешь.
Re[3]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 03.07.06 12:58
Оценка:
Здравствуйте, algol, Вы писали:

A>Плакать хочется, когда читаешь о таком способе сортировки (где-то постили на РСДН с дельфового форума): создается скрытый List View, заполняется строками, вызывается Sort, считывается готовый результат. Кстати, такое еще придумать надо, этого у Кнута не прочитаешь.


И чем он плох? Это же супер тест на смекалку
Re[4]: Блин, ну откуда столько криворуких?
От: Sergey Philippov Россия www.azs.ru
Дата: 03.07.06 13:14
Оценка:
jhfrek пишет:
>
> A>Плакать хочется, когда читаешь о таком способе сортировки (где-то
> постили на РСДН с дельфового форума): создается скрытый List View,
> заполняется строками, вызывается Sort, считывается готовый результат.
> Кстати, такое еще придумать надо, этого у Кнута не прочитаешь.
>
> И чем он плох? Это же супер тест на смекалку
Ну отсортируй десять миллионов строк таким образом

--
С уважением, Сергей Филиппов.
ps-at-azs-ru
Posted via RSDN NNTP Server 2.0
Re[3]: Блин, ну откуда столько криворуких?
От: Kisloid Мухосранск  
Дата: 03.07.06 13:17
Оценка:
Здравствуйте, algol, Вы писали:

A>Да, 98 %-ам это не понадобится. Зачем изобретать очередной велосипед и потом искать в нем баги? Есть готовые реализации в .NET и STL. Давайте тогда еще выяснять знание алгоритмов поиска в строке например. Конечно бывают случаи, когда пишется новая библиотека или движок БД, и нужно знание алгоритмов.


Изобретать велосипед не надо, там где возможно надо использовать готовые проверенные временем надежные библиотеки, это да. Лично я в промышленном программировании в код идущий в продакшн ни разу свой алгоритм сортировки, поиска итд итп не писал. Просто эти алгоритмы надо знать. Хотя бы для того чтобы понять где что правильно использовать. В том же дотнете я помню есть метод у object'а GetHashCode(), думаете человек который незнает что такое хеш таблицы, хеш функции, поймет что это такое за 5 мин ? И более того он сможет эффективно написать свою реализацию ?
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[5]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 03.07.06 13:18
Оценка:
Здравствуйте, Sergey Philippov, Вы писали:

SP>jhfrek пишет:

>>
>> A>Плакать хочется, когда читаешь о таком способе сортировки (где-то
>> постили на РСДН с дельфового форума): создается скрытый List View,
>> заполняется строками, вызывается Sort, считывается готовый результат.
>> Кстати, такое еще придумать надо, этого у Кнута не прочитаешь.
>>
>> И чем он плох? Это же супер тест на смекалку
SP>Ну отсортируй десять миллионов строк таким образом

SP>--

SP>С уважением, Сергей Филиппов.
SP>ps-at-azs-ru
Re[9]: Блин, ну откуда столько криворуких?
От: mik1  
Дата: 03.07.06 13:54
Оценка:
Здравствуйте, Left2, Вы писали:

L>>>Честно говоря никогда не понимал почему именно пузырёк учат в школе. ИМХО сортировка простым выбором куда проще для понимания, настолько же проста для реализации, да и к тому же лучше по эффективности.

АК>>А разве эффективность этих двух алгоритмов не одинакова и не оценивается в n(n+1)/2 сравнений?

L>Цитата найдена гуглом


L>

L>Таким образом, среднее время работы программы S равно 2.5N2 + 3(N+1) + 3.5N — 11 единиц, т. е. она лишь немногим медленнее простых вставок. Интересно сравнить алгоритм S с сортировкой методом пузырька, так как метод пузырька можно рассматривать как алгоритм выбора, в котором иногда выбирается более одного элемента за раз. По этой причине при сортировке методом пузырька производится меньше сравнений, чем при простом выборе, и она, как может показаться, предпочтительнее. Но в действительности алгоритм пузырьковой сортировки более чем вдвое медленнее алгоритма простого выбора. Сортировка методом пузырька проигрывает из-за того, что в ней выполняется слишком много обменов, в то время как при сортировке простым выбором производится очень мало пересылок данных.


А Вам про сравнения говорили, а не про пересылки. Про них отдельно говорить надо. Кстати, пересылки тоже можно оптимизировать за счет обмена указателями, а не данными....
Re[11]: Блин, ну откуда столько криворуких?
От: df Россия  
Дата: 03.07.06 16:16
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:


eaa>>3) struct можно писать когда у тебя не работает клавиша 'A' а class нельзя :) :)

IS>Легко. Вот тебе подарок от RSDN (считай сэкономил 30 баксов на новую клавиатуру).

IS>
IS>#define cluss class
                   ^
IS>


как class написать? ;)

IS>Из найденных тобою принимается только первое отличие — а надо было найти три.

IS>Результат неплохой — "специалист по большим проектам и виртуальному наследованию" вообще не сумел ответить на этот вопрос.
Re[16]: Блин, ну откуда столько криворуких?
От: LuciferMoscow Россия  
Дата: 03.07.06 17:19
Оценка:
Здравствуйте, _Jane_, Вы писали:
<skipped>
_J_>Есть и нормальные фирмы... я например никогда и не заикалась, повышение как то само собой происходит
Это скорее исключение чем правило. И кроме этого у нормальной фирмы должно быть еще очень много факторов(вряд ли этот я бы назвал определяющим)
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[2]: Блин, ну откуда столько криворуких?
От: _DAle_ Беларусь  
Дата: 03.07.06 17:56
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>Почитал ветку выборочно, у мня такое впечатление возникло, что россия это будущая индия. Мы превращаемся в индусов. Слежу за школьными и студенческими олимпиадами (тк сам все это прошел в свое время), уровень задач из года в год все ниже и ниже, на форуме самого сильного в россии по программированию сообщества РСДН "инженера" начали кричать, что не надо знать алгоритм сортировки, можно с инета "закопипастить". Что творится в университетах, это просто плакать хочется.


Не согласен с тем, что уровень задач на олимпиадах падает. Отдельные соревнования — не показатель. Просто, например, на NEERC, видимо, решили, что пусть лучшие команды решают по 10-12 задач, а не по 4-5, как это было когда-то, и задачи стали в среднем проще. А вообще жаловаться на низкий олимпиадный уровень в России в этом году уж точно нельзя: ACM ICPC выиграл Саратовский ГУ, TopCoder Open 2006 выиграл Петр Митричев, впереди IOI
Re[8]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 03.07.06 23:36
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Здравствуйте, landerhigh, Вы писали:


L>>Когда в последнее время интервьюировал людей, интересовался только их способностью к командной работе, знанием методов разработки, юнит-тестирования...

АК>Как показывает практика, качественно проведенное юнит-тестирование покрывает не более 10% багов. Остальные не менее 90%
Моя практика показывает, что это как раз некачественно проведенное юнит-тестирование. Но у нас этапы собственно юнит-тестирования и multi-unit тестирования были совмещены ввиду архитектуры системы. В общем, когда все юниты были готовы, все просто взяло и заработало (так тоже бывает). Согласен, что такое возможно далеко не всегда.
Проблема в том, что народ если и слышал о юнит-тестах, то только поверхностно. Применять и правильно использовать не умеют (не хотят). Порой даже от коллег слышишь "у нас проект очень большой, времени на всякую фигню нет". А потом получается, что штат тестеров по размеру раза в два превосходит штат девелоперов.
Re[11]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 00:50
Оценка:
Здравствуйте, creatman, Вы писали:

C>Это быстро лечится, когда работа идет в команде более 3-х человек


боюсь, что часто эффект бывает прямо противоположным
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[9]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 01:01
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Фигасе... А можно подробнее?


RTFM
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[10]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.07.06 01:04
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, Геннадий Васильев, Вы писали:


ГВ>>Фигасе... А можно подробнее?


Д>RTFM


Какой конретно M ?
<< Под музыку: Аквариум — По Дороге В Дамаск >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 01:13
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>Мдаааа, no comments


K>PS: ничего личного, но тут все орут, да я б таких уволил, да таких надо увольнять, каких это таких ? По мне так вот этого вот товарища я бы в первую очередь уволил бы, если бы он каким то чудом ко мне попал


Вот и еще один пример оголтелого пальцегнутия. Я всего лишь привел пример, каким образом можно обойтись без виртуальных функций. Специально уточнив, что так делать не надо.
Это было во первых.
Во вторых — к счастью, не тебе решать, кого и как у нас увольнять. Потому что у нас есть разработчики, которые намного хуже вышеупомянутого человека, хотя и прекрасно знают, что такое "виртуальная функция"
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[11]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 01:17
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Какой конретно M ?


почитай книгу Фаулера о рефакторинге. Там есть один из примеров — замена свитча по типам на полиморфизм (и наоборот)
свитч конечно неприятен, но есть "антипаттерны" на многие порядки хуже.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[9]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 01:24
Оценка:
Здравствуйте, creatman, Вы писали:

C>Неужели в Абби есть правила по оформлению кода?


и по "оформлению" тоже. Точнее, по форматированию — что и как переносить, не применять "декоративное форматирование" и так далее.
А вообще соглашения по кодированию в ABBYY — это целый талмуд страниц на 100. Один из самых вменяемых документов, которые я видел
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[12]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.07.06 01:27
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Какой конретно M ?


Д>почитай книгу Фаулера о рефакторинге. Там есть один из примеров — замена свитча по типам на полиморфизм (и наоборот)

Д>свитч конечно неприятен, но есть "антипаттерны" на многие порядки хуже.

Ты меня за кого держишь? switch по типам = срочная покаянная молитва. Это как... ммм... альфа и омега.
<< Под музыку: Pink Floyd — Learning to Fly >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 01:38
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>switch по типам = срочная покаянная молитва. Это как... ммм... альфа и омега.


Единственный грех, который заслуживает немедленного предания анафеме — это копи-пейст. Всё остальное можно простить после наложения соответствующего наказания
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[14]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.07.06 01:41
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>switch по типам = срочная покаянная молитва. Это как... ммм... альфа и омега.


Д>Единственный грех, который заслуживает немедленного предания анафеме — это копи-пейст. Всё остальное можно простить после наложения соответствующего наказания


Э... Тема про кодогенерацию, как замену виртуальных функций — не раскрыта.
<< Под музыку: Pink Floyd — On the Turning Away >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 01:47
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Э... Тема про кодогенерацию, как замену виртуальных функций — не раскрыта.


Только во время компиляции, если тип можно вывести из контекста. А как — это и так должно быть очевидно.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 02:04
Оценка:
Здравствуйте, Andrew_Sch, Вы писали:

A_S>А стучать себя в грудь, что помнишь с института, что такое сортировка Шелла — ИМХО детство полное.


Я например помню. Хотя моей работе от этого ни холодно, ни жарко.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[10]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 04.07.06 02:33
Оценка:
Здравствуйте, Дарней, Вы писали:

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


C>>Неужели в Абби есть правила по оформлению кода?


Д>и по "оформлению" тоже. Точнее, по форматированию — что и как переносить, не применять "декоративное форматирование" и так далее.

Д>А вообще соглашения по кодированию в ABBYY — это целый талмуд страниц на 100. Один из самых вменяемых документов, которые я видел

То, что он на 100 страниц это ИМХО уже не говорит о его вменяемости. В таком случае нужно писать отдельную софтину для автоматизации форматрирования. А вобще форматирование кода это больной вопрос для многих, т.к. работая в одной компании приходится использовать один code style, потом приходишь в ABBY и тебе дают талмуд на 100 страниц и ты потихоньку начинаешь впадать в депрессию.


Re[11]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 02:45
Оценка:
Здравствуйте, creatman, Вы писали:

C>То, что он на 100 страниц это ИМХО уже не говорит о его вменяемости. В таком случае нужно писать отдельную софтину для автоматизации форматрирования. А вобще форматирование кода это больной вопрос для многих, т.к. работая в одной компании приходится использовать один code style, потом приходишь в ABBY и тебе дают талмуд на 100 страниц и ты потихоньку начинаешь впадать в депрессию.


И снова услышал то, что хотел а не то, что сказали.
Форматирование там занимает максимум пару страниц. Всё остальное — правила, как качественно кодировать.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[13]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 03:14
Оценка:
Здравствуйте, creatman, Вы писали:

C>Как качественно кодировать лучше читать в книгах вроде "Совершенный код", покрайней мере Стиву Макконнеллу можно довериться на 99%.


ты думаешь, многие способны ее осилить?
даже тут на форуме 99% эту книгу не читали, хотя понтов у всех — пальцы в дверь не пролазят.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[7]: вопрос по ООП
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 04.07.06 03:36
Оценка:
Здравствуйте, Sergey Philippov, Вы писали:

SP>Не придется по два раза писать area(), draw() etc...


Угу. Это если ему действительно нужны Area и Draw, а не, скажем, перечисление типов фигур, имеющихся на листке, и их цветов.

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[12]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 04.07.06 03:50
Оценка:
Здравствуйте, df, Вы писали:

IS>>
IS>>#define cluss class
df>                   ^
IS>>


df>как class написать?


я же специально подсветил строку — скопируй ее в буффер и вставь в общий header файл.
* thriving in a production environment *
Re[14]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 04.07.06 04:31
Оценка:
Здравствуйте, Дарней, Вы писали:

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


C>>Как качественно кодировать лучше читать в книгах вроде "Совершенный код", покрайней мере Стиву Макконнеллу можно довериться на 99%.


Д>ты думаешь, многие способны ее осилить?


На мой взгляд, книга написана очень простым языком, в сравнении с тем же Страус Труппом, хотя последнего должен постараться осилить любой уважающий себя Си++ программист. ИМХО изучение языка по книгам "Си++ для чайников" стало в последнее время очень распротраненным явлением, и это не радует Это все не говоря о том, что основная масса cтандарт языка Си++ даже в глаза не видела.


Re[15]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 04.07.06 04:35
Оценка:
Здравствуйте, creatman, Вы писали:

книга вполне понятная, но объемистая. А каждый мнит себя гуру, которому недостойно читать такие книги. Да и некогда, когда вокруг столько книг из серии "как осложнить жизнь себе и окружающим"
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[9]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 04.07.06 06:47
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Моя практика показывает, что это как раз некачественно проведенное юнит-тестирование. Но у нас этапы собственно юнит-тестирования и multi-unit тестирования были совмещены ввиду архитектуры системы.


Хм... странно... это же совершенно разные методики...
А если вы обосновываете совмещение юнит-тестирования и мульти-юнит-тестирования архитектурой системы, то вот вам и ответ, почему юнит-тестирование — это детский сад, который в некоторых крупных зарубежных конторах себя отжил и даже не нормируется: потому что нет таких простых архитектур, когда юнит-тест может выявить сколь-либо значимое количество ошибок системы (хотя по-прежнему подразумевается, что разработчик, прежде чем отправить исходник в CVS, а модуль в build, все-таки проведет юнит-тестирование самостоятельно).
Re[8]: вопрос по ООП
От: lpvoid Россия  
Дата: 04.07.06 10:06
Оценка:
Бред оф сив кэйбл...
Класс Прямоугольник описывает вообще все прямоугольники, в т.ч. и квадрат. Пусть этот третий из базового Квадрата унаследует любой прямоугольник. И вообще класс Квадрат нарушает принцип Оккама, достаточно добавить bool IsSquare().
А с Shape идея напрашивается для любых геометрических абстракций.
Re[15]: Блин, ну откуда столько криворуких?
От: egaron http://127.0.0.1
Дата: 04.07.06 10:07
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


E>>>То, что вам платят мало (или меньше, чем вы хотите), говорит лишь о том, что:

E>>>1. У вас завышенная самооценка (вы думаете, что стоите больше, чем есть на самом деле)
E>>>2. Вы вынуждены работать за эту з/п, т.к. иначе уже давно сменили бы место работы.
LM>>Вы забываете про другую мотивацию.

E>Да? Неужели? Какая такая?А мне тут рассказывали, что нет более лучшей мотивации, чем деньги...
Автор: AmSpb
Дата: 30.06.06


E>Ребят, сложно спорить, когда вы говорите, что:

E>1. Я плохо работаю потому, что мне мало платят.
E> 1.1 Но при этом я не уйду, хотя в другом месте платят больше


Ты предлагаешь каждый раз, попадая в плохо платящую контору, тотчас же писать заявление ?
и получать
1.1.1. Лишниюю запись в трудовой книжке, потрящей твою трудовую биографию и характеризующей как летуна
1.1.2. поиск новой работы со всеми "плюсами" — нервы с выбором варианта, езда по собеседованиям, время, потраченное на выполнения тестовых (при том все время поиска вам никто ничего не платит)
+ потеря отпуска

E> 1.2 Но при этом главное для меня — это деньги


1.2.1 Нет, главное — это стахановский энтуЗАЗИзм — "за родину, за сталина". так за Иосифа Виссарионыча еще ладно, а вот работать на убой чтобы обогащать карман какого-нибудь Бориса Моисеича, вряд ли у кого есть здравое желание.


E>.... Сначала вы доказываете, что можете работать лучше, а потом повышается з/п. Если где-то и этого нет — то что тут говорить, ищите другие фирмы, где повышают по результатам труда.


Или не повышается, а сотрудник кормится обещаниями. Или повышается на 3 копейки.

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

Как же так — я столько сил (денег) на эту работу (казино, девушку) потратил (проиграл) (нужное подчеркнуть) — а результата нет ?
И забываем мы, что выигрывает тот, кто первый прекращает свою битву.

И когда нетерпимость к (1 — мало платят) преесиливает факторы 1.1.x — человек начинает искать новую работу



Я сейчас в такой же ситуации. Мало платят, в конторе все фигово, но не ухожу потому что
— хочу отгулять отпуск
— работаю здесь только 8 месяцев — не хочу искать
— вначале показывал энтузиазм и добился офигительного "повышения" на целых(!) 50 баксов по сравнению с испыталкой (учитывая то как упал бакс, по покупательской сопсобности скорее — понижения). Спасибо, молодцы, поощрили.
— в результате предыдущего пункта работаю теперь без энтузиазма, тогда как раньше с удовольствием ходил на работу и пишу вам здесь
Re[15]: Блин, ну откуда столько криворуких?
От: DmitryElj Россия  
Дата: 04.07.06 10:10
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


Кстати, это достаточно философский вопрос — что первично в плане повышения производительности, труд или мотивация?
Получается что есть два пути:
— работать больше, надеясь что начальство заметит и повысит зарплату
— начальство сразу оговаривает виды мотивации, и человек работает больше если эта мотивация его устраивает
Лично мне второй путь кажется более перспективным для сотрудника, т.к. человек имеет более конкретные цели и задачи. Впрочем это ИМХО.

Кстати, насчет повышения з/п "авансом" — учитывая инфляцию 10% в год, пересчет зарплаты раз в году с учетом этого, есть вполне распространенная практика. Правда, по правде говоря это не совсем повышение...
Re[4]: Блин, ну откуда столько криворуких?
От: mihoshi Россия  
Дата: 04.07.06 10:15
Оценка:
Здравствуйте, Kisloid, Вы писали:

J>>Таки, если верить моему голосованию — сортировки многие знают


Надо знать, как работает сортировка, чтобы уметь выбирать правильный алгоритм для данной задачи и оптимизировать ее использование. Если программист не знает хотя бы примерно, как работают используемые им библиотеки, то это плохой, негодный программист
Re[16]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 04.07.06 10:22
Оценка:
Здравствуйте, egaron, Вы писали:

E>>Ребят, сложно спорить, когда вы говорите, что:

E>>1. Я плохо работаю потому, что мне мало платят.
E>> 1.1 Но при этом я не уйду, хотя в другом месте платят больше
E>Ты предлагаешь каждый раз, попадая в плохо платящую контору, тотчас же писать заявление ?

Предлагаю в них не попадать. Узнавать, сначала всё о конторе, а потом только устраиваться.
Работодателей нужно воспитывать. Так же и с товарами. Сначала узнайте о нем, почитайте отзывы, мнения, и если все устраивает — покупайте. С работой нужно еще осторожнее.

E>Ты не знаешь основной принцип игр ? Основной фактор, заставляющий людей проигрываться в пух и прах — это желание отыграться за то, что проиграл.

E>Это же желание держит нас на прежнем рабочем месте, это же стремление позволяет нас "динамить" девушкам.

Это не игра, далеко не игра. И принципы игр здесь неприменимы.
Вы же не станете покупать машину "на авось"?

E>Я сейчас в такой же ситуации. Мало платят, в конторе все фигово, но не ухожу потому что

E>- хочу отгулять отпуск

Да, это знакомо. Ну так отгуляйте и уходите. Думаю, сейчас фирмы, проводящие неграмотную кадровую политику будут коллапсировать.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 04.07.06 10:32
Оценка:
Здравствуйте, DmitryElj, Вы писали:

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

DE>Кстати, это достаточно философский вопрос — что первично в плане повышения производительности, труд или мотивация?
DE>Получается что есть два пути:
DE>- работать больше, надеясь что начальство заметит и повысит зарплату

Работать лучше, не больше. Только очень глупый менеджер станет мотивировать переработки, если в этом нет прямой необходимости.

DE>- начальство сразу оговаривает виды мотивации, и человек работает больше если эта мотивация его устраивает

DE>Лично мне второй путь кажется более перспективным для сотрудника, т.к. человек имеет более конкретные цели и задачи. Впрочем это ИМХО.

Почему больше то? Выполнить и перевыполнить? Это далеко в прошлом.
На самом деле все очень просто. Действуют первичные законы бизнеса
1. Вы повышаете уровень своего профессионализма. За счет опыта и знаний. И начинаете работать лучше. Возможно и больше, но только не за счет времени, проведенного за работой (!), а за счет знаний и опыта, позволяющих вам сделать больший объем работы.
2. Как профессионал вы реально на рынке начинаете стоить больше. Работодатель, заинтересованный чтобы вы работали именно у него, а не у конкурента повышает вам з/п. Еще раз повторю свой тезис: З/П — это средство удержания, и не более того.
3. Если работодатель платит вам меньше денег, чем вы стоите как специалист, то он теряет вас как специалиста, вот и все. Также как нельзя купить мерседес по цене запорожца — закон бизнеса.

НО как только вы начинаете тунеядничать и ныть, что вас не ценят — это говорит только о том, что на рынке труда вы не востребованы, а у вас всего лишь завышена самооценка. Т.е. то же самое, что я начну запорожец продавать по цене мерседеса и буду всем жаловать на то, что все жлобы и никто не покупает.

DE>Кстати, насчет повышения з/п "авансом" — учитывая инфляцию 10% в год, пересчет зарплаты раз в году с учетом этого, есть вполне распространенная практика. Правда, по правде говоря это не совсем повышение...


Это компенсация инфляции, а не повышение.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.07.06 10:45
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Э... Тема про кодогенерацию, как замену виртуальных функций — не раскрыта.

Д>Только во время компиляции, если тип можно вывести из контекста. А как — это и так должно быть очевидно.

Всё равно не понятно. Имеем два типа:

class Foo
{
  void main_func();
};

class Bar
{
  void primary_function();
};


Класс-пользователь должен вызвать main_func() и primary_function(). Как будем делать кодогенератор? Адаптеры совать типа таких:

template<typename T>
class Adapter
{
  void recall(T *p)
}

template<>
void Adapter<Foo>::recall(Foo *p)
{
  p->primary_function();
}


?
<< Под музыку: Аквариум — Там, Где Взойдет Луна >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[17]: Блин, ну откуда столько криворуких?
От: DmitryElj Россия  
Дата: 04.07.06 10:57
Оценка:
Здравствуйте, Eurispheus, Вы писали:

DE>>Получается что есть два пути:

DE>>- работать больше, надеясь что начальство заметит и повысит зарплату

E>Работать лучше, не больше.


Как оценивать работу, "лучше" она стала или нет? Какие критерии? Мотивация она ведь должна быть четкой, чтобы человек мог знать на что может расчитывать в том или ином случае.

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


Мотивация может быть и косвенной, например приличная премия по окончании проекта. И у человека будет стимул сделать все дела быстрее.

E>НО как только вы начинаете тунеядничать и ныть..


У Вас весьма полярная оценка работоспособности — человек или вкалывает по 8 часов в сутки не отрываясь, или тунеядец А ведь на самом деле градаций гораздо больше.
Если например, я потратил 4 минуты рабочего времени на то чтобы написать это сообщение в форум, меня уже можно считать тунеядцем, или ещё нет?

E>Почему больше то? Выполнить и перевыполнить? Это далеко в прошлом.


Ну если у Вас "перевыполнять" ничего не нужно, никакие сроки не горят, то тогда и мотивировать кого-либо незачем, работа идет и ладно. Но обычно ведь бывает наоборот, выгоднее закончить проект пораньше.
Re[16]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 04.07.06 11:21
Оценка:
Здравствуйте, egaron, Вы писали:

E>Ты предлагаешь каждый раз, попадая в плохо платящую контору, тотчас же писать заявление ?

E>и получать
E>1.1.1. Лишниюю запись в трудовой книжке, потрящей твою трудовую биографию и характеризующей как летуна
E>1.1.2. поиск новой работы со всеми "плюсами" — нервы с выбором варианта, езда по собеседованиям, время, потраченное на выполнения тестовых (при том все время поиска вам никто ничего не платит)
E>+ потеря отпуска

Во-первых, я лично не считаю лишнюю запись в трудовой книжке порчех биографии и характеристикой как летуна.
А во-вторых, при увольнении с предыдущего места работы вы получаете компенсацию неиспользованного отпуска, которую вполне можно для себя посчитать как оплату того времени, которое вы затратили на поиск новой работы. А кроме того, при смене места работы вполне можно себе отпуск устроить — кто же будет возражать?
Re[18]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 04.07.06 12:57
Оценка:
Здравствуйте, DmitryElj, Вы писали:

DE>>>Получается что есть два пути:

DE>>>- работать больше, надеясь что начальство заметит и повысит зарплату
E>>Работать лучше, не больше.
DE>Как оценивать работу, "лучше" она стала или нет? Какие критерии?

Это видно, поверьте.

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

DE>Мотивация может быть и косвенной, например приличная премия по окончании проекта. И у человека будет стимул сделать все дела быстрее.

Это и есть мотивация переработки.

E>>НО как только вы начинаете тунеядничать и ныть..

DE>У Вас весьма полярная оценка работоспособности — человек или вкалывает по 8 часов в сутки не отрываясь, или тунеядец

Ничего подобного
Автор: Eurispheus
Дата: 04.07.06
.

E>>Почему больше то? Выполнить и перевыполнить? Это далеко в прошлом.

DE>Ну если у Вас "перевыполнять" ничего не нужно, никакие сроки не горят, то тогда и мотивировать кого-либо незачем, работа идет и ладно. Но обычно ведь бывает наоборот, выгоднее закончить проект пораньше.

Выгоднее закончить проект в срок и сразу начать работу над следующим, а не получить под конец проекта измотанную команду.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[17]: Блин, ну откуда столько криворуких?
От: egaron http://127.0.0.1
Дата: 04.07.06 14:31
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Здравствуйте, egaron, Вы писали:


E>>Ты предлагаешь каждый раз, попадая в плохо платящую контору, тотчас же писать заявление ?

E>>и получать
E>>1.1.1. Лишниюю запись в трудовой книжке, потрящей твою трудовую биографию и характеризующей как летуна
E>>1.1.2. поиск новой работы со всеми "плюсами" — нервы с выбором варианта, езда по собеседованиям, время, потраченное на выполнения тестовых (при том все время поиска вам никто ничего не платит)
E>>+ потеря отпуска

АК>Во-первых, я лично не считаю лишнюю запись в трудовой книжке порчех биографии и характеристикой как летуна.

АК>А во-вторых, при увольнении с предыдущего места работы вы получаете компенсацию неиспользованного отпуска, которую вполне можно для себя посчитать как оплату того времени, которое вы затратили на поиск новой работы. А кроме того, при смене места работы вполне можно себе отпуск устроить — кто же будет возражать?

Отпуск между работами — это нервы и неопределенность — а вдруг откат или отказ (не каждый ее любит). Компенсацию за неиспользованный отпуск многие стараются "забыть" (но это уже другая тема). Большинство все же платят.

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

Хотя как вариант отпуска, временную безработицу можно рассматривать. Но ... как-то нехорошо напрягает это состояние.))
Re: Блин, ну откуда столько криворуких?
От: TarasCo  
Дата: 04.07.06 15:09
Оценка:
XP тема: "программирование по законам шариата"
Да пребудет с тобою сила
Re[9]: Блин, ну откуда столько криворуких?
От: trophim Россия  
Дата: 04.07.06 18:18
Оценка:
Здравствуйте, DEMON HOOD, Вы писали:

skipped

DH>можно подумать, что ты сейчас не в интернете и работаешь...


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

Эх, а я временами тоже удивляюсь, почему люди пишут иногда такуууую хрень, что смотреть больно...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Let it be! — Давайте есть пчелу!
Re[6]: вопрос по ООП
От: Молодой Россия  
Дата: 04.07.06 19:04
Оценка:
Здравствуйте, Slicer [Mirkwood], Вы писали:

SM> правильный ответ был бы, imho, "для чего?".

Правильно говоришь
Зачем квадрат от прямоугольника наследовать или наоборот. Это же, суть, одно и то же
четыре стороны, прямые углы, не вижу разницы. Красить,рисовать, вычислять площадь и тп.
если что невлезет, так можно и делегат туда приспособить ввести еще один абстрактный уровень
Re[12]: Блин, ну откуда столько криворуких?
От: landerhigh Пират  
Дата: 04.07.06 23:28
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Здравствуйте, landerhigh, Вы писали:


L>>Интересно.. А ошибки системы что, сами собой возникают? Это ошибки в юнитах, не отловленные на этапе юнит-тестов, пусть даже они и возникают только на этапе интеграции системы.


АК>Я попытаюсь объяснить на примере... Предположим, что у нас есть два юнита: парень и девушка Оба юнита можно замечательно

Хм.. пример, конечно, интересный, но есть одно но — данная конкретная девушка и данный конкретный парень вовсе не разрабатывались для создания пары (о, как звучит!). Вот тут и понадобится последующая шлифовка-притирка, если пара таки создастся.
А когда речь идет о программной системе, когда известно, что методы Х класса Y будут использоваться классами Z,K,C, то не вижу причин, почему нельзя все это протестировать еще до полной интеграции системы. Как раз проблемы, характерные для multi-thread приложений, тут отлавливаются на раз, как и многое другое. У меня как раз есть положительный опыт подобной игры в кубики, после которой из этих кубиков собиралось нечто, в чем тестеры долго пытались хотя бы один баг найти. Правда, там не было GUI
L>>Вопрос еще и в том, что и когда считать юнитом
АК>Ну в некоторых технологиях юнит-тестирования это четко оговорено. Посмотрите на JUnit — классический пример подхода к юнит-тестированию. Или я не прав?
CPPUnit — в принципе, то же самое. Однако кто ж запрещает слегка его изменить, и вуаля — мы тестируем модуль, используя другие модули, или загрушки, или эмуляторы, или даже готовое ядро системы. Можно даже не менять, но это опять зависит от архитектуры. В общем, технологии технологиями, но здравый смысл пока рулит
Re[12]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 05.07.06 00:26
Оценка:
Здравствуйте, creatman, Вы писали:

C>Да вот как теперь называются разработчики которые не знают тонкостей языка


Добро пожаловать в 21-й век.

C>Куда катится мир.


Уже прикатился.
* thriving in a production environment *
Re[13]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 05.07.06 03:10
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

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


C>>Да вот как теперь называются разработчики которые не знают тонкостей языка


IS>Добро пожаловать в 21-й век.


21-й век где индийские и китайские программисты захватывают рынок. Когда 10 китайцев за чашку риса будут делать твою работу, я думаю придется открыть книжку и начать изучать тонкости. Потому-что тот уровень на который ты опускаешь наших средних программистов — это уровень малообразованного индийца.


C>>Куда катится мир.


IS>Уже прикатился.


К счастью пока нет, раз "средний" разработчик у нас еще работает за деньги а не за еду.


Re[14]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 05.07.06 03:25
Оценка:
Здравствуйте, creatman, Вы писали:

IS>>Добро пожаловать в 21-й век.


C>21-й век где индийские и китайские программисты захватывают рынок. Когда 10 китайцев за чашку риса будут делать твою работу, я думаю придется открыть книжку и начать изучать тонкости. Потому-что тот уровень на который ты опускаешь наших средних программистов — это уровень малообразованного индийца.


Давай-ка покажи где я "опускал ваших средних программистов " и я посмотрю стоит тебе отвечать или нет.
* thriving in a production environment *
Re[15]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 05.07.06 03:34
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

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


IS>>>Добро пожаловать в 21-й век.


C>>21-й век где индийские и китайские программисты захватывают рынок. Когда 10 китайцев за чашку риса будут делать твою работу, я думаю придется открыть книжку и начать изучать тонкости. Потому-что тот уровень на который ты опускаешь наших средних программистов — это уровень малообразованного индийца.


IS>Давай-ка покажи где я "опускал ваших средних программистов " и я посмотрю стоит тебе отвечать или нет.


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


Re[16]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 05.07.06 03:36
Оценка:
IS>>и я посмотрю стоит тебе отвечать или нет.


Кстати отвечать не обязательно.


Re[14]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 05.07.06 03:42
Оценка:
Здравствуйте, creatman, Вы писали:

ГВ>>>А взять книжку почитать им недосуг?

IS>>А зачем ?

C>Чтобы развивать свой мыслительный аппарат и поднимать свой профессиональный уровень.


IS>>Про книжку — я тебе выше написал. Дело не в авралах — дело в желании изучать ненужное.


C>Дело в нежелании изучать нужное!


IS>>Взрослым людям это просто неинтересно.


C>Взрослых людей очень много, не стоит говорить за всех.


ну вот видишь — ты не придумал ничего более умного, как просто перевернуть утверждения в моих предложениях. Это только подтверждает мое высказываение что люди предпочитают простые, несложные, уже работающие решения.
* thriving in a production environment *
Re[15]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 05.07.06 04:49
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

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


ГВ>>>>А взять книжку почитать им недосуг?

IS>>>А зачем ?

C>>Чтобы развивать свой мыслительный аппарат и поднимать свой профессиональный уровень.


IS>>>Про книжку — я тебе выше написал. Дело не в авралах — дело в желании изучать ненужное.


C>>Дело в нежелании изучать нужное!


IS>>>Взрослым людям это просто неинтересно.


C>>Взрослых людей очень много, не стоит говорить за всех.


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


Когда разговор заходит о синтаксисе, грамматике или структуре самого разговора, то это тупик.

IS>Это только подтверждает мое высказываение что люди предпочитают простые, несложные, уже работающие решения.


С этим никто не спорит.
Смысл твоих высказываний (по крайней мере, как понял их я) заключается в том, что саморазвитие, чтение книжек, изучение новых подходов и возможностей и собственно повышение собственного профессионального уровня это лишнее и безполезное для взрослого человека занятие. А что касается темы всего разговора, то криворукие — это просто "средние" разработчики, на которых держится проект. Тогда просто хочу внести поправку — не среднии разработчики, а кодеры (я надеюсь разницу между разработчиком и кодером ты знаешь). И кстати проект в основном держется не на них а на 1-2 "разработчиках". И опять же к теме разговора: цель руководителей проекта попытаться выделить среди этой массы кодеров настоящих разработчиков, которые читают книжки, получают сертификаты и приминяют полученные знания на практике.

Обсуждать кодеров не вижу смысла.


Re[16]: Блин, ну откуда столько криворуких?
От: egaron http://127.0.0.1
Дата: 05.07.06 06:27
Оценка:
Здравствуйте, creatman, Вы писали:


C>Обсуждать кодеров не вижу смысла.


Правильно фигли обсуждать солдат — вся слава генералам !

Солдатам — братская могила, генералам — лавры. Хот их руками, а не генеральскими, выполняется непосредственная работа.

Давайте не будем принижать роли солдатов и генералов — ни буз одних, ни без других победа невозможна. Точно так же и в нашем вопросе.
Re[17]: Блин, ну откуда столько криворуких?
От: mihoshi Россия  
Дата: 05.07.06 08:04
Оценка:
Здравствуйте, egaron, Вы писали:

C>>Обсуждать кодеров не вижу смысла.


E>Правильно фигли обсуждать солдат — вся слава генералам !

E>Солдатам — братская могила, генералам — лавры. Хот их руками, а не генеральскими, выполняется непосредственная работа.
E>Давайте не будем принижать роли солдатов и генералов — ни буз одних, ни без других победа невозможна. Точно так же и в нашем вопросе.

Где ты видел братские могилы кодеров? Кстати, квалифицированные программисты — это не генералы, а скорее унтерофицеры
Re[18]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 05.07.06 16:19
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Всё равно не понятно. Имеем два типа:

Д>читай про обобщенное программирование

Я тебе и привёл решение методами обобщённного программирования, а ты вместо ответа на вопрос посылаешь меня читать про него. Ну куда это годится?
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Блин, ну откуда столько криворуких?
От: genre Россия  
Дата: 06.07.06 11:42
Оценка:
Здравствуйте, Left2, Вы писали:

L>Честно говоря никогда не понимал почему именно пузырёк учат в школе. ИМХО сортировка простым выбором куда проще для понимания, настолько же проста для реализации, да и к тому же лучше по эффективности.

в нормальных школах учат обе
точнее в нормальных учат не только эти две.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[2]: Блин, ну откуда столько криворуких?
От: Andrew Swan Россия  
Дата: 06.07.06 16:48
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>Почитал ветку выборочно, у мня такое впечатление возникло, что россия это будущая индия. Мы превращаемся в индусов. Слежу за школьными и студенческими олимпиадами (тк сам все это прошел в свое время), уровень задач из года в год все ниже и ниже, на форуме самого сильного в россии по программированию сообщества РСДН "инженера" начали кричать, что не надо знать алгоритм сортировки, можно с инета "закопипастить". Что творится в университетах, это просто плакать хочется.


K>Это все моё ИМХО и крик души...


Радуйся, уважаемый. Чем слабже конкуренция, тем жирнее и вольготнее тебе будет житься.
Напрягаться по этому поводу должен потенциальный работодатель.
Вот такое мое ИМХО.
Re[3]: Блин, ну откуда столько криворуких?
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 07.07.06 04:12
Оценка:
Здравствуйте, Andrew Swan, Вы писали:

Так ему за державу обидно!
Каждому свое

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[2]: Блин, ну откуда столько криворуких?
От: abalaba Голландия http://abalaba.livejournal.com
Дата: 07.07.06 05:35
Оценка:
Нужно создавать профсоюзы.

Уважаемый автор темы, якобы специалист с прямыми руками, много людей взял к себе работать, и много ли людей научил правильно писать код? программы?
А если научил правильно писать программы, то почему они от него ушли?
Есть такие мега специалисты, которые только и умеют орать: вы все криворукие, я специалист.

Книги, лекции профессоров из университета — это так, для галочки.
Rsdn.ru в какой-то мере закрывает бреши — можно пообщаться, обменяться опытом.

Но коммерческий проект, в команде с профессионалами, гораздо больше дает опыта.
Юристы получают опыт после обучения в гос. структурах, медики в больницах, после этого у них есть опыт за плечами.
У программистов такая практика слабо развита.

Заключение: даешь практику студентам в своих фирмах! (SW-soft, Intel сотрудничают с университетами, другие фирмы должны брать пример). После этого, среднее содержание кривых рук в общей массе программистов снизится.
Re[3]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 07.07.06 06:19
Оценка:
abalaba wrote:
>
> Книги, лекции профессоров из университета — это так, для галочки.

Не согласен. Хотя некоторые профессора немного заблуждаются по части
свежих технологий и практического применения, теоретическая подготовка
все же сильно помогает. Происходит это не скоро, но весьма ощутимо. У
кого ее не было, тому не помогает, но он этого не ощущает. Его проблемы.

> Rsdn.ru в какой-то мере закрывает бреши — можно пообщаться, обменяться

> опытом.

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

> Но коммерческий проект, в команде с профессионалами, гораздо больше дает

> опыта.

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

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

> больницах, после этого у них есть опыт за плечами.
> У программистов такая практика слабо развита.
>
> Заключение: даешь практику студентам в своих фирмах! (SW-soft, Intel
> сотрудничают с университетами, другие фирмы должны брать пример). После
> этого, среднее содержание кривых рук в общей массе программистов снизится.

Системой образования это все предусмотрено, дело в качестве реализации в
конкретных вузах и недостатке инициативы по сотрудничеству между вузами
и компаниями.

Mikhail
Posted via RSDN NNTP Server 2.1 beta
Re[6]: Блин, ну откуда столько криворуких?
От: Ubivetz Украина  
Дата: 07.07.06 08:32
Оценка:
Здравствуйте, МихаилС, Вы писали:

МС>Здравствуйте, xog, Вы писали:


_O_>>>Многие, кстати, не способны написать сортировку.


xog>>Зачем ее писать если есть стандартные способы реализации ?


МС>А зачем в книжных магазинах до сих пор активно торгуются

МС>книжки по Турбо-Паскалю 7.0 этого года издания.
Студенты и школьники по этим книгам учатся.
Всякие там C# & Nemerle не скоро достигнут ВУЗовских аудиторий.
Эх, люблю выпить и переспать с кем нибудь!
Но чаще выходит перепить с кем — нибудь и выспаться...
Re[10]: Блин, ну откуда столько криворуких?
От: Eugeny__ Украина  
Дата: 07.07.06 09:46
Оценка:
Здравствуйте, eaa, Вы писали:

eaa>Здравствуйте, Igor Sukhov, Вы писали:


IS>>назовите хотя бы три отличия структур от классов в С++ ?


eaa>1) доступ по умолчанию

eaa>2) class — 5 символов struct — 6 символов
eaa>3) struct можно писать когда у тебя не работает клавиша 'A' а class нельзя
Неверно! alt+97 = 'a'!
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[11]: Блин, ну откуда столько криворуких?
От: EM Великобритания  
Дата: 08.07.06 11:29
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

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


C>>Извиняюсь что поздно отвечаю.

C>>Вобще-то я имел ввиду структуры в терминах Си. Я указал на то, что если вы считаете виртуальные функции или виртуальное наследование излишними фичами языка, которые вам не нужны, тогда пересмотрите вопрос о выборе языка для своего следущего проекта.

IS>ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.


Забавный аргумент. "Подавляющее большинство " наших сограждан не умеет писать по-русски без ошибок. По вашему, мне тоже теперь с ошибками писать ?
PS Лично знаком с PM-ом (!!!), который без spell-checker-a лепит по три ошибки в словах типа "классификация"
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Re[13]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 08.07.06 17:29
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>>>ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.

EM>>Забавный аргумент. "Подавляющее большинство " наших сограждан не умеет писать по-русски без ошибок. По вашему, мне тоже теперь с ошибками писать ?
EM>>PS Лично знаком с PM-ом (!!!), который без spell-checker-a лепит по три ошибки в словах типа "классификация"
IS>не путай мягкое с теплым.

Ничего он не путает. Ты оперируешь "большинством", тем же и твой оппонент занимается.

IS>Я тебе говорю про непонятно кому нужные возможности языка которыми почти никто не пользуется и как следствие мало кто знает как пользоваться этими возможностями правильно, ...


Пусть курят документацию до глобального просветления, ибо нефиг.

IS>...а ты про тривиальные вещи, которые в секунду исправляются в любом современном текстовом редакторе.


Но тем не менее, интернет изобилует лексическими и грамматическими ошибками. Как ты это объяснишь? "Сложностью русского языка"? Англоязычные форумы тоже феерия ещё та, насмотря на "простоту" английского языка.

IS>Если подавляющее большинство ваших сограждан не умеет писать на своем родном языке без ошибок — это верный признак того что в будущем их родной язык будет упрощен.

IS>Поначалу на бытовом уровне, а потом вполне официально.

А можно раскрыть тему с упрощением языка? Слабо доказать корректность аналогии, с которой ты изначально согласился?

IS>языки программирования развиваются быстрее чем национальные поэтому в них процесс выветривания "аристократических" возможностей заметнее — посмотри на сегодняшний mainstream — C#, Java — и скажи мне где там virtual inheritance.


Значит, лямбда-выражения куда как проще виртуального наследования (это к слову о майнстриме)? Надо думать, ошибки в лямба-наворотах заведомо проще исправить, чем прочитать о виртуальном наследовании. Давно я так не смеялся.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: Блин, ну откуда столько криворуких?
От: Firstborn Латвия  
Дата: 08.07.06 20:46
Оценка:
Здравствуйте, S-SH, Вы писали:

A>>Найти хорошего спеца с инглишом — вообще трудно.

SS>Нет, найти хорошего спеца с качественным инглишом — очень дорого.

Блин, почему я не родился в России??..
В маленьких странах вроде Латвии знание инглиша есть само собой разумеющаяся вещь, это не дорого...
Re[7]: Блин, ну откуда столько криворуких?
От: krasin Россия  
Дата: 08.07.06 23:42
Оценка:
Здравствуйте, Ubivetz, Вы писали:


U>Студенты и школьники по этим книгам учатся.

U>Всякие там C# & Nemerle не скоро достигнут ВУЗовских аудиторий.

На ВМиК МГУ, на ряде кафедр уже четыре года подряд читается курс по .net
Re[9]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 10.07.06 06:59
Оценка:
Здравствуйте, vvotan, Вы писали:

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


V>Может быть я психологически травмированный, но пока не прочитал в книжке про сортировку пузырьком(примерно в том же 9 классе), ни за что бы до такого не додумался. Притом задача отсортировать массив для меня тогда уже проблемы не представляла. Когда такая задача в первый раз появилась я практически не задумываясь придумал сортировку выбором.


Ни в малейшей мере не травмированный. Главное — сама способность разработать какой-либо способ, и отсутствие необоснованного страха. Вот с последним пунктом у народа траблы на каждом шагу.

Для примера, еще одна задачка того же рода — имеем запись графа дерева с помощью скобок: корень (ветви), т.е. моежет быть так: A(B(C,D)) — корень A, самая левая ветвь — B, ее листья — C, D. Придумать алгоритм обхода дерева, начиная с левого нижнего листа. Задачка тривиальная, однако студенты на первом курсе несколько лет пугались ее разрешить вместе с преподом. Преподша начитывала некорректный алгоритм и предупреждала, что что-то с ним не так. Я сел и написал алгоритм. Сокурсники были ничуть не глупее меня, однако взяться даже не подумали. Не знаю, чего там было больше, неуверенности или отсутствия любопытства, но и то и другое губительно. Мозгов было достаточно у всех, в этом я уверен.

Mikhail
Re[10]: Блин, ну откуда столько криворуких?
От: 0legus Россия  
Дата: 10.07.06 09:30
Оценка:
Здравствуйте, kittown, Вы писали:

K>Я сел и написал алгоритм. Сокурсники были ничуть не глупее меня, однако взяться даже не подумали. Не знаю, чего там было больше, неуверенности или отсутствия любопытства, но и то и другое губительно. Мозгов было достаточно у всех, в этом я уверен.


Угу. Мне в свое время за такие выкрутасы обычно снижали на балл-другой оценку (особенно за решающие задачи не профильно).
Crescite, nos qui vivimus, multiplicamini
Re[14]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 10.07.06 11:54
Оценка:
EM>>>Забавный аргумент. "Подавляющее большинство " наших сограждан не умеет писать по-русски без ошибок. По вашему, мне тоже теперь с ошибками писать ?
EM>>>PS Лично знаком с PM-ом (!!!), который без spell-checker-a лепит по три ошибки в словах типа "классификация"
IS>>не путай мягкое с теплым.

ГВ>Ничего он не путает. Ты оперируешь "большинством", тем же и твой оппонент занимается.


Ну и к чему ты это сказал?

IS>>Я тебе говорю про непонятно кому нужные возможности языка которыми почти никто не пользуется и как следствие мало кто знает как пользоваться этими возможностями правильно, ...


ГВ>Пусть курят документацию до глобального просветления, ибо нефиг.


Где мотивация то? Ну, ты куришь документацию по языку – и что? Что конкретно получит средний разработчик от вдыхания этих газов?

IS>>...а ты про тривиальные вещи, которые в секунду исправляются в любом современном текстовом редакторе.


ГВ>Но тем не менее, интернет изобилует лексическими и грамматическими ошибками. Как ты это объяснишь? "Сложностью русского языка"? Англоязычные форумы тоже

феерия ещё та, насмотря на "простоту" английского языка.
IS>>Если подавляющее большинство ваших сограждан не умеет писать на своем родном языке без ошибок — это верный признак того что в будущем их родной язык будет упрощен.
IS>>Поначалу на бытовом уровне, а потом вполне официально.

ГВ>А можно раскрыть тему с упрощением языка? Слабо доказать корректность аналогии, с которой ты изначально согласился?


Легко, после того как ты мне докажешь что ты действительно думаешь что я согласился с корректностью аналогии. Ну и конечно не забывай о что мы говорим об “Виртуальном наследовании и почему его почти никто не применяет”.

IS>>языки программирования развиваются быстрее чем национальные поэтому в них процесс выветривания "аристократических" возможностей заметнее — посмотри на сегодняшний mainstream — C#, Java — и скажи мне где там virtual inheritance.


ГВ>Значит, лямбда-выражения куда как проще виртуального наследования (это к слову о майнстриме)? Надо думать, ошибки в лямба-наворотах заведомо проще исправить, чем прочитать о виртуальном наследовании. Давно я так не смеялся.


А откуда ты взял что лямбда выражения это мейнстрим ? Я вот когда на плюсах писал – так вообще ни в одном реальном проекте их не встретил. Тоже могу сказать и про C#.
Через пару лет смогу подытожить как люди используют новые возможности двойки (C# 2.0) – но там тоже ламбдов нету. А лет скажем через 5 лет, когда и на 3-ке (и чего там противопоставляет Java) будут написаны реальные проекты – вот тогда и посмеешься.
* thriving in a production environment *
Re[13]: Блин, ну откуда столько криворуких?
От: Kestrel  
Дата: 10.07.06 12:45
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>языки программирования развиваются быстрее чем национальные поэтому в них процесс выветривания "аристократических" возможностей заметнее — посмотри на сегодняшний mainstream — C#, Java — и скажи мне где там virtual inheritance.


Любой абстракный класс содержит скрытое поле данных — указатель на таблицу виртуальных функций. А как реализуется наследование этого поля при множественном наследовании интерфейсов в Java, в виде виртуального наследования или нет? А в C#? Имеет ли в Java и C# место доминирование? (Доминирование является неотъемлемым свойством виртуального наследования, и с ним можно столкнуться в C++ и Eiffel).
Re[14]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 10.07.06 12:56
Оценка:
Здравствуйте, Kestrel, Вы писали:

IS>>языки программирования развиваются быстрее чем национальные поэтому в них процесс выветривания "аристократических" возможностей заметнее — посмотри на сегодняшний mainstream — C#, Java — и скажи мне где там virtual inheritance.


K>Любой абстракный класс содержит скрытое поле данных — указатель на таблицу виртуальных функций. А как реализуется наследование этого поля при множественном наследовании интерфейсов в Java, в виде виртуального наследования или нет? А в C#? Имеет ли в Java и C# место доминирование? (Доминирование является неотъемлемым свойством виртуального наследования, и с ним можно столкнуться в C++ и Eiffel).


И как мне это доминирование прикрутить к вебсервисам и SQL ?
Хотя тема интересная http://images.google.com/images?client=opera&amp;rls=en&amp;q=%D0%94%D0%BE%D0%BC%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;sourceid=opera&amp;oe=UTF-8&amp;ie=UTF-8&amp;sa=N&amp;tab=wi надо будет на досуге изучить.
* thriving in a production environment *
Re[15]: Блин, ну откуда столько криворуких?
От: Menestrel Россия  
Дата: 10.07.06 13:53
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Так бы сразу и сказали, что у вас самооценка выше, чем з/п

E>Где гарантия, что вы станете хорошо работать? Если вы ленитесь, или работа неинтересная — ну возьмете себя в руки на месяц. Ну на два. Потом снова начнете лениться.

E>Если вы к своей работе относитесь безответственно, з/п ничего не изменит. Ответственность не регулируется з/п, вообще никак. Это качество самого человека, так же как и порядочность.



Ну как у нас любят все нахалявку получить, прикрываясь красивыми лозунгами и пытаясь давить на психику псевдопатриотизмом. Давно пора понять, что времена ура-энтузязизма давно закончились. Если вы не хотите реально оплачивать труд специалиста, то какую к черту сознательность и порядочность вы от него требуете? Почему человек должен увеличивать доход конторы не имея ничего взамен? Ни в коем случае не хочу лично Вас обидеть, но пододобный кАрпАрАтивный сексотизм уже бесит. Хотите хороший результат — оплачивайте соответственно труд специалиста и не "мотивируйте" его красивыми фразами и "чуством долга".
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[16]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 10.07.06 13:59
Оценка:
Здравствуйте, Menestrel, Вы писали:

E>>Если вы к своей работе относитесь безответственно, з/п ничего не изменит. Ответственность не регулируется з/п, вообще никак. Это качество самого человека, так же как и порядочность.

M>
M>Ну как у нас любят все нахалявку получить, прикрываясь красивыми лозунгами и пытаясь давить на психику псевдопатриотизмом. Давно пора понять, что времена ура-энтузязизма давно закончились. Если вы не хотите реально оплачивать труд специалиста,

Покажите, пожалуйста где вы вычитали выделенное.

M> то какую к черту сознательность и порядочность вы от него требуете? Почему человек должен увеличивать доход конторы не имея ничего взамен?


И это.
Пока складывается ощущение, что вы не ориентируетесь в теме обсуждения.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[17]: Блин, ну откуда столько криворуких?
От: SkyDance Земля  
Дата: 10.07.06 14:18
Оценка:
E>Пока складывается ощущение, что вы не ориентируетесь в теме обсуждения.

Да нет — он как раз ориентируется. Я вам уже раз пять его слова в разных вариациях писал, но вы так и не смогли понять — видать, плохо у меня получается доносить простые истины до неслушающих. В итоге, мне это надоело и я перестал писать.
А вы ищите дальше специалистов, которые будут сначала хорошо работать, а потом (может быть) просить денег. Сдается, плохо это у вас получается, раз тут в теме ноете.
Re[18]: Блин, ну откуда столько криворуких?
От: Menestrel Россия  
Дата: 10.07.06 20:19
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>А вы ищите дальше специалистов, которые будут сначала хорошо работать, а потом (может быть) просить денег.



Самое грустное, что такое почти повсеместно, хотя есть и исключения, но их очень мало.
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[15]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.07.06 01:29
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

EM>>>>PS Лично знаком с PM-ом (!!!), который без spell-checker-a лепит по три ошибки в словах типа "классификация"

IS>>>не путай мягкое с теплым.
ГВ>>Ничего он не путает. Ты оперируешь "большинством", тем же и твой оппонент занимается.
IS>Ну и к чему ты это сказал?

Ни "к чему", а "для чего". Для того, чтобы ты это прочёл.

IS>>>Я тебе говорю про непонятно кому нужные возможности языка которыми почти никто не пользуется и как следствие мало кто знает как пользоваться этими возможностями правильно, ...


ГВ>>Пусть курят документацию до глобального просветления, ибо нефиг.

IS>Где мотивация то? Ну, ты куришь документацию по языку – и что? Что конкретно получит средний разработчик от вдыхания этих газов?

Действительно, ну что он получит? Наверное, некий аспект самостоятельности, только и всего. Не нужно будет бегать, спрашивать у гуру и трясти менеджеров.

IS>>>Если подавляющее большинство ваших сограждан не умеет писать на своем родном языке без ошибок — это верный признак того что в будущем их родной язык будет упрощен.

IS>>>Поначалу на бытовом уровне, а потом вполне официально.
ГВ>>А можно раскрыть тему с упрощением языка? Слабо доказать корректность аналогии, с которой ты изначально согласился?
IS>Легко, после того как ты мне докажешь что ты действительно думаешь что я согласился с корректностью аналогии.

Угу. Я действительно так думаю. Я думаю, что ты неправомерно проводишь аналогию между динамикой естественного языка и языка программирования. Изменение нормативов в отношении лексики естественного языка вовсе не означает, что отказываются от его "трудных" структурных аспектов: всяческих сложноподчинённых предложений, деепричастных оборотов и так далее. Или из русского языка уже выкинули причастия как часть речи, потому что какое-то там "большинство" не умеет ими пользоваться?

IS>Ну и конечно не забывай о что мы говорим об “Виртуальном наследовании и почему его почти никто не применяет”.


Не только. Мы говорим ещё и том, что глупо запрещать использование виртуального наследования, коль в языке такой механизм есть.

IS>>>языки программирования развиваются быстрее чем национальные поэтому в них процесс выветривания "аристократических" возможностей заметнее — посмотри на сегодняшний mainstream — C#, Java — и скажи мне где там virtual inheritance.

ГВ>>Значит, лямбда-выражения куда как проще виртуального наследования (это к слову о майнстриме)? Надо думать, ошибки в лямба-наворотах заведомо проще исправить, чем прочитать о виртуальном наследовании. Давно я так не смеялся.
IS>А откуда ты взял что лямбда выражения это мейнстрим ? Я вот когда на плюсах писал – так вообще ни в одном реальном проекте их не встретил. Тоже могу сказать и про C#.

Хм. Да, пожалуй, что я не прав. Лямбд там действительно пока нет. Есть анонимные классы и анонимные делегаты. Это ещё не совсем лямбды.

IS>Через пару лет смогу подытожить как люди используют новые возможности двойки (C# 2.0) – но там тоже ламбдов нету. А лет скажем через 5 лет, когда и на 3-ке (и чего там противопоставляет Java) будут написаны реальные проекты – вот тогда и посмеешься.
<< Под музыку: Аквариум — Новая Песня О Родине >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: Блин, ну откуда столько криворуких?
От: Privalov  
Дата: 11.07.06 04:51
Оценка:
Здравствуйте, Дарней, Вы писали:

Д> я тоже часто удивляюсь, откуда берется столько криворуких руководителей


У них, как правило, довольно прочное положение в их организации. Их хорошо знают "наверху". Они даже что-то умеют делать. Они неплохие администраторы, умеющие выбить средства на следующий период разработки и/или поддержки проекта. Вот их и выдвигают. Ну, а потом они начинают рулить архитектурой, влезать в технические детали, считая, что это просто. Несколько таких случаев видел. Ну и когда-то давно один такой с партийной работы пришел. Такого, правда, уже нет, мне кажется.
Re[15]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.07.06 05:03
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Если вы к своей работе относитесь безответственно, з/п ничего не изменит. Ответственность не регулируется з/п, вообще никак. Это качество самого человека, так же как и порядочность.


Вот, кстати, вопрос. Если специалисту безотносительно его ответственности и порядочности будут платить на уровне, скажем так, рыночном, то во сколько оценивается его ответственность и порядочность? Можно — в процентах к базовой ставке.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Блин, ну откуда столько криворуких?
От: crazz  
Дата: 11.07.06 05:11
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Ну хорошо, предположим он работает плохо за 100р, и меня это не устраивает. Станет ли он за 150р работать лучше?

Да.
E>Если да, то выходит, что сейчас он намеренно плохо работает?
Да.

Я три года назад так работал. Мне просто пох было уволят меня или нет, потому что держаться за такую работу смысла не было.
Re[5]: Блин, ну откуда столько криворуких?
От: Privalov  
Дата: 11.07.06 05:35
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>пожалуй, так оно и есть. Обычная история о сапожнике, который взялся пироги печь.


Скорее, взялся возглавить сапожное производство — там от него избавиться намного сложнее.
Re: Блин, ну откуда столько криворуких?
От: banderlog  
Дата: 11.07.06 05:42
Оценка:
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.


Дать задачку, что бы определить твою собственную криворукость?
Не оставляй работу на субботу, а секс на старость
Re[16]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 11.07.06 06:31
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

IS>>Ну и конечно не забывай о что мы говорим об “Виртуальном наследовании и почему его почти никто не применяет”.


ГВ>Не только. Мы говорим ещё и том, что глупо запрещать использование виртуального наследования, коль в языке такой механизм есть.


Не согласен. Что с того, что он есть ? goto в языке тоже есть, и можно на ассемблерных вставках писать.

Аксиома: выбор стиля код программиста — не личное дело программиста, и вообще не его дело. Это дело тех, кто будет код поддерживать.

Самый правильный подход — заранее в документе компании оговорить, какие фичи использовать нельзя, и по необходимости расширять. Поддерживаемость кода десятком сотрудников вместо двух несравнимо важнее, чем стремление к языковому эстетству этих двух. Причем остальные восемь вполне могут знать язык от и до, но самые мутные вещи забываются довольно быстро, и приходится гуглить и читать мануалы заново. Виртуальное наследование — как раз из этой оперы. Знание таблицы приоритетов операторов и sequence points наизусть — оттуда же.

Mikhail
Re[11]: Блин, ну откуда столько криворуких?
От: Menestrel Россия  
Дата: 11.07.06 08:24
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Свои тренинговые центры, возможности проходить обучение/сертификацию за счет компании, спортивные программы, собственная инфраструктура, и.т.д.


Угу. Как показывает практика, в 70% случаев эти тренинги не стоят ни гроша, а обучение проходит по книгам, которые можно купить в любом книжном магазине
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[17]: Блин, ну откуда столько криворуких?
От: Menestrel Россия  
Дата: 11.07.06 08:32
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Это не игра, далеко не игра. И принципы игр здесь неприменимы.

E>Вы же не станете покупать машину "на авось"?

Советую очень внимательно ознакомиться с трудами Джона Нэша. Сильно удивитесь
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[18]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 11.07.06 08:35
Оценка:
Здравствуйте, Menestrel, Вы писали:

E>>Пока складывается ощущение, что вы не ориентируетесь в теме обсуждения.

M>Очень даже ориентируюсь. Даже могу открыть маленький секрет: в 98% случаев люди идут устраиваться на работу именно из-за денег и только из-за них. Им глубоко по барабану все красоты кАрпАрАтивных политик и вся остальная подобная чушь.

Эта тема уже обсуждалась. Действительно, при уровне дохода, при котором +/- $500 еще имеет значение, з/п при выборе места работы стоит на первом месте.

M>Во многих случаях "халявщиками" становятся те, кто достойно работал, но при этом не получил, фактически, ничего взамен, кроме красивых слов и чисто символических "компенсаций".


Вам следовало сразу сказать, что вы были таким образом обмануты, в этом случае понятен источник ваших суждений. Увы, никто не застрахован от недобросовестных работодателей. Здесь можно посоветовать только одно — очень тщательно выбирать место работы.

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


При ныне сложившейся коньюнктуре, поиск работы программистом не представляет никакой сложности.
Скажите прямо и честно — если есть сомнения, что где-то еще эти "другие" смогут расчитывать на хотя бы такой же уровень оплаты труда, то вот тогда они и остаются там, где работают. Или это может объясняться элементарной ленью или "недостаточной силой духа", как вы выражаетесь. Всегда проще ныть и жаловаться, чем что-то реально делать.

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


Халявщиков нужно гнать взашей, в этом нет никаких сомнений. Только зачастую обстоятельства складываются так, что приходится терпеть и халявщиков, поскольку замену придется учить, а это не всегда возможно по срокам. Что касается расчетов — есть трудовой договор, КЗОТ и суд.

M>Причем никто не поинтересуется, а что, собственно, стало причиной столь неэффективной работы этого сотрудника? Нужна ли ему какая-либо помощь? Ведь есть случаи, когда у человека такое случилось, что реально делать свое дело нормально он просто не в состоянии. А зачем интересоваться?


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

M>Только просьба не принимать все выше изложенное лично на свой счет, может Вы как раз и радеете за сотрудников. Весь сей опус — это просто констатация фактов из реальной жизни.


Это вполне понятно и объяснимо. Возможно, я наблюдал несколько другие факты. Или те же, но был склонен интерпретировать их иначе.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 11.07.06 08:37
Оценка:
Здравствуйте, Kestrel, Вы писали:

K>Здравствуйте, Igor Sukhov, Вы писали:


IS>>языки программирования развиваются быстрее чем национальные поэтому в них процесс выветривания "аристократических" возможностей заметнее — посмотри на сегодняшний mainstream — C#, Java — и скажи мне где там virtual inheritance.


K>Любой абстракный класс содержит скрытое поле данных — указатель на таблицу виртуальных функций. А как реализуется наследование этого поля при множественном наследовании интерфейсов в Java, в виде виртуального наследования или нет?


Насколько мне известно, интерфейсы в Java — это не абстрактные классы, и они изначально не могут содержать в себе никаких полей данных, даже скрытых. Поэтому ни о каком наследовании этого поля при множественном наследовании интерфейсов речи идти не может.


K>А в C#? Имеет ли в Java и C# место доминирование? (Доминирование является неотъемлемым свойством виртуального наследования, и с ним можно столкнуться в C++ и Eiffel).


Я не наблюдаю такого в Java. Все значительно интереснее. Например:

interface V
{
    void foo();
}

interface A extends V
{
    void foo();
    void aar();
}

interface B extends V
{
    void foo();
    void bar();
}

public class C implements A, B
{
    public void foo()
    {
    }

    public void aar()
    {
    }

    public void bar()
    {
    }

    public static void run()
    {
        new C().foo();
    }
}


Этот код прекрасно компилируется, не вызывая ошибок неоднозначности. Хотя метод foo() в обоих интерфейсах A и B якобы переопределен. А на самом деле, обратите внимание, "переопределение" этого метода не приводит к появлению новой имплементации метода: метод по-прежнему остается один, и его реализация также остается единственной и относится к интерфейсу V. Где Вы видите доминирование?
Re[2]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 11.07.06 08:38
Оценка:
Здравствуйте, banderlog, Вы писали:

B>Дать задачку, что бы определить твою собственную криворукость?


А можно мне задачку? С детства люблю решать интересные задачи
Re[21]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 11.07.06 08:38
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Действительно, много таких организаций, где именно так. Их нужно воспитывать, и не нужно в них устраиваться работать.


К сожалению, зачастую пока не испытаешь на своей шкуре — не узнаешь.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[16]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 11.07.06 08:40
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

E>>Если вы к своей работе относитесь безответственно, з/п ничего не изменит. Ответственность не регулируется з/п, вообще никак. Это качество самого человека, так же как и порядочность.

ГВ>Вот, кстати, вопрос. Если специалисту безотносительно его ответственности и порядочности будут платить на уровне, скажем так, рыночном, то во сколько оценивается его ответственность и порядочность? Можно — в процентах к базовой ставке.

Хороший вопрос, из серии — сколько весит душа?
Я считаю, что ответственность и порядочность — это конкурентное преимущество специалиста. А з/п — конкурентное преимущество организации.

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

И наоборот, з/п — это средство фирмы удержать специалиста в этой фирме (при прочих равных).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 11.07.06 08:40
Оценка:
Здравствуйте, Menestrel, Вы писали:

E>>Свои тренинговые центры, возможности проходить обучение/сертификацию за счет компании, спортивные программы, собственная инфраструктура, и.т.д.

M>Угу. Как показывает практика, в 70% случаев эти тренинги не стоят ни гроша, а обучение проходит по книгам, которые можно купить в любом книжном магазине

Не берусь оценить процентаж. Возможно, какие-то фирмы используют тренинговые центры неэффективно, соответственно они не приносят им никакой пользы.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Блин, ну откуда столько криворуких?
От: Menestrel Россия  
Дата: 11.07.06 08:42
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>правильно пишет. Самый худший код, который я видел в своей работе — это написанный такими вот "мега-гуру", которые на ровном месте наворотили кучу ненужных фенечек. Так что в результате получилась "архитектура", которая расширяется во всех мыслимых направлениях, кроме тех, которые нужны реально. Кода я этот мусор переписал, объем кода уменьшился в разы. Это при том, что я еще новый функционал добавил.


При этом сии "гении" так гнут пальцы на собеседованиях, что мама не горюй. Сыпят умными фразами, требуют определений по учебнику такому-то или такому-то, просят написать код на листе бумажки на 5-6 экранов и с умным видом говорят о непригодности кандидата.
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[18]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 11.07.06 08:45
Оценка:
Здравствуйте, Menestrel, Вы писали:

E>>Это не игра, далеко не игра. И принципы игр здесь неприменимы.

E>>Вы же не станете покупать машину "на авось"?
M>Советую очень внимательно ознакомиться с трудами Джона Нэша. Сильно удивитесь

Спасибо, курс теории игр мне читался в ВУЗе
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: Блин, ну откуда столько криворуких?
От: Menestrel Россия  
Дата: 11.07.06 08:45
Оценка:
Здравствуйте, creatman, Вы писали:

C>Это быстро лечится, когда работа идет в команде более 3-х человек


Это клиника и лечению, фактически, не поддается. Обычно "болезнь" либо заражает новые "органы", либо "убивает" их — процессом увольнения сотрудника, который не пишет супер-мега-крутой код для тривиальной задачи.
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[22]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 11.07.06 08:50
Оценка:
Здравствуйте, Дарней, Вы писали:

E>>Действительно, много таких организаций, где именно так. Их нужно воспитывать, и не нужно в них устраиваться работать.

Д>К сожалению, зачастую пока не испытаешь на своей шкуре — не узнаешь.

Лучше учиться на чужих ошибках, не правда ли?
Форумы в этом плане исключительно полезный ресурс.

И еще одно — не всегда вашу судьбу определяет выбор фирмы. Очень часто, почти всегда, ключевую роли играет выбор менеджера. Даже в фирме с очень грамотным и human-oriented HR, можно попасть к менеджеру, особенно если он молодой и неопытный, который станет засчет вас самоутверждаться или видеть в вас угрозу своему месту. И наоборот, в консервативной и отсталой в плане HRM фирме можно попасть к зрелому менеджеру, который даст импульс вашей карьере.
Это, как правило, можно почувствовать на интервью, особенно первое.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[23]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 11.07.06 08:54
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Лучше учиться на чужих ошибках, не правда ли?

E>Форумы в этом плане исключительно полезный ресурс.

к сожалению (опять же), отзывы об одной и той же конторе могут быть прямо противоположными. См. сторую часть твоего сообщения
в общем, и на старуху бывает проруха
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[17]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.07.06 09:01
Оценка:
Здравствуйте, kittown, Вы писали:

IS>>>Ну и конечно не забывай о что мы говорим об “Виртуальном наследовании и почему его почти никто не применяет”.

ГВ>>Не только. Мы говорим ещё и том, что глупо запрещать использование виртуального наследования, коль в языке такой механизм есть.
K>Не согласен. Что с того, что он есть ? goto в языке тоже есть, и можно на ассемблерных вставках писать.

И goto тоже глупо запрещать. И ассемблерные вставки — тоже. И то и другое периодически если и не остро нужно, то может оказаться удобно. Я вот, например, не привык заморачиваться вопросом, как будет идеологически правильно выйти из 2-3 циклов сразу.

K>Аксиома: выбор стиля код программиста — не личное дело программиста, и вообще не его дело. Это дело тех, кто будет код поддерживать.


А на поддержку, значит, традиционно приглашаем новичков. Следовательно, любой код должен быть ориентирован на новичков. Так?

K>Самый правильный подход — заранее в документе компании оговорить, какие фичи использовать нельзя, и по необходимости расширять.


Угу, "надо, потому что надо": вводишь аксиому невнятого содержания и на её основании начинаешь что-то доказывать. Тут уже была история на месяц, примерно. Поищи в философии и священных войнах. Ключевые слова: "safe vs. unsafe".

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


Раз-другой прочтут — запомнят. Я не понимаю, неужели C++ настолько неподъёмен, что мозги перетрудятся от чтения документации?

K>Виртуальное наследование — как раз из этой оперы. Знание таблицы приоритетов операторов и sequence points наизусть — оттуда же.


"Наизусть", действительно, можно и не зазубривать. Но это не повод не писать, например, "while(*dest++ = *src++);" для копирования строки или последовательности с нулевым терминатором. А почему виртуальное наследование можно при этом запрещать, хотя его даже зазубривать не надо, достаточно один раз понять?
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[19]: Блин, ну откуда столько криворуких?
От: Menestrel Россия  
Дата: 11.07.06 09:19
Оценка:
Здравствуйте, Eurispheus, Вы писали:


E>Эта тема уже обсуждалась. Действительно, при уровне дохода, при котором +/- $500 еще имеет значение, з/п при выборе места работы стоит на первом месте.


Очень даже имеет значение. 500$ в Российской действительности весьма немалые деньги

E>Вам следовало сразу сказать, что вы были таким образом обмануты, в этом случае понятен источник ваших суждений. Увы, никто не застрахован от недобросовестных работодателей. Здесь можно посоветовать только одно — очень тщательно выбирать место работы.


Я о себе не говорю, хотя и со мной такое было. Благо, сейчас я работаю сам на себя, вполне достойно обеспечиваю свою семью и далек от всех этих заморочек.

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

E>Скажите прямо и честно — если есть сомнения, что где-то еще эти "другие" смогут расчитывать на хотя бы такой же уровень оплаты труда, то вот тогда они и остаются там, где работают. Или это может объясняться элементарной ленью или "недостаточной силой духа", как вы выражаетесь. Всегда проще ныть и жаловаться, чем что-то реально делать.

Не согласен в принципе. Поиск работы — это стресс и очень хороший (имея за плечами не только IT-образование, но и психологическое, уверяю Вас, что это так на 100%). У Вас очень полярный взгляд на этот процесс. Многих людей процедура прохождения собеседований и все, что связано с поиском новой работы способны довести до клиники неврозов, но, при этом, они не являются плохими специалистами.

E>Халявщиков нужно гнать взашей, в этом нет никаких сомнений. Только зачастую обстоятельства складываются так, что приходится терпеть и халявщиков, поскольку замену придется учить, а это не всегда возможно по срокам. Что касается расчетов — есть трудовой договор, КЗОТ и суд.


А узнать у работника, что заставило его стать "халявщиком" не судьба? Таковы 99.9% всех Российских кАрпАрАций. Зачем интересоваться проблемами сотрудника, когда порще вытолкать его взашей и взять нового. Сотрудник хорош до тех пор, пока он накачивает карман шефа и, желательно, на халяву или близко к этому. Про суды — не смешите мои тапочки — Вы в какой стране живете? Много знаете прецендентов, когда удавалось отсудить у конторы невыплаченные деньги? Довольно часто, при попытке вернуть свое, можно лихо пострадать физически и это факт.

E>И менеджера, который не умеет получать и анализировать обратную связь от сотрудников нужно гнать взашей. Причем, таких менеджеров даже терпеть не нужно, поскольку он способен нанести вред несопоставимый с тем, который может нанести единичный разгильдяй-исполнитель.


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

E>Это вполне понятно и объяснимо. Возможно, я наблюдал несколько другие факты. Или те же, но был склонен интерпретировать их иначе.


Все возможно
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[19]: Блин, ну откуда столько криворуких?
От: Menestrel Россия  
Дата: 11.07.06 09:21
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


E>>>Это не игра, далеко не игра. И принципы игр здесь неприменимы.

E>>>Вы же не станете покупать машину "на авось"?
M>>Советую очень внимательно ознакомиться с трудами Джона Нэша. Сильно удивитесь

E>Спасибо, курс теории игр мне читался в ВУЗе


Значит плохо читали
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[19]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 11.07.06 10:21
Оценка:
Здравствуйте, kittown, Вы писали:

K>Здравствуйте, Геннадий Васильев, Вы писали:


ГВ>>"Наизусть", действительно, можно и не зазубривать. Но это не повод не писать, например, "while(*dest++ = *src++);" для копирования строки или последовательности с нулевым терминатором.


K>Такой код — повод для немедленного отстранения от работы. Разработчик вместо работы занимается выпендрежем. Код к тому же ненадежен.


Ненадежен — да, несомненно. Однако в остальном — никакой это не выпендрежь, а совершенно нормальный, простой, часто встречающийся, легкочитабельный и эффективный код. Добавить туда еще контроль размера буфера — и цены этому коду не будет
Re[15]: Блин, ну откуда столько криворуких?
От: Kestrel  
Дата: 11.07.06 10:30
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>
АК>interface V
АК>{
АК>    void foo();
АК>}

АК>interface A extends V
АК>{
АК>    void foo();
АК>    void aar();
АК>}

АК>interface B extends V
АК>{
АК>    void foo();
АК>    void bar();
АК>}

АК>public class C implements A, B
АК>{
АК>    public void foo()
АК>    {
АК>    }

АК>    public void aar()
АК>    {
АК>    }

АК>    public void bar()
АК>    {
АК>    }

АК>    public static void run()
АК>    {
АК>        new C().foo();
АК>    }
АК>}
АК>


АК>Этот код прекрасно компилируется, не вызывая ошибок неоднозначности. Хотя метод foo() в обоих интерфейсах A и B якобы переопределен. А на самом деле, обратите внимание, "переопределение" этого метода не приводит к появлению новой имплементации метода: метод по-прежнему остается один, и его реализация также остается единственной и относится к интерфейсу V. Где Вы видите доминирование?



Для начала поясню, что я подразумеваю под доминированием при виртуальном
наследовании:

#include <iostream>

class IBase
{
public:
    virtual ~IBase() {}
    virtual void dominanceTest() = 0;
};

class BaseImpl: public virtual IBase
{
public:
    void dominanceTest()
    {
        std::cout << "Dominance!" << std::endl;
    }
};

class Derived 
    : public BaseImpl
    , public virtual IBase
{
};

int _tmain(int argc, _TCHAR* argv[])
{
    Derived test;
    test.dominanceTest();
    return 0;
}


Обратите внимание, что класс Derived наследует IBase двумя путями:
напрямую и через BaseImpl. Мы получили классический ромб с виртуальной
базой в корне (на самом деле в нашем случае скорее треугольник). На первый
взгляд может показаться, что данный пример не должен собираться, поскольку
Derived не содержит реализации чисто витруального метода dominanceTest,
унаследованного от IBase напрямую. На самом же деле всё прекрасно
собирается. VS2005 даже уведомляет меня о том, что:
"warning C4250: 'Derived' : inherits 'BaseImpl::BaseImpl::dominanceTest' via dominance"
Это и есть явление доминирования при виртуальном наследовании в C++.
Если же убрать виртульное наследование, то данный пример просто перестанет
компилироваться. Убери виртуальное наследование — доминирование исчезнет.

Как же объяснить подобное явление? Например, следующим образом: при виртуальном
наследовании "виртуально наследуются" не только поля данных витруальной
базы, но и указатель на таблицу виртуальных функций. Поэтому, когда в классе
BaseImpl появляется реализация dominanceTest(), то адрес этой функции заносится
в таблицу виртуальных функций класса IBase, которая одна-единственная. Поэтому,
если мы виртуально унаследуем Derived от IBase, объект Derived будет иметь
таблицу виртуальных функций, где все ячейки заполнены правильными адресами, поскольку
в ячейку для dominanceTest адрес был записан при реализации BaseImpl.
С точки зрения компилятора Derived является полноценным объектом,
хотя и не содержит реализации dominanceTest().

Теперь пример на Java:

[java]
public interface IBase {

public abstract void dominanceTest();

}

public class BaseImpl implements IBase {

public void dominanceTest() {
System.out.println("Java has dominance feature as well as C++ and Eiffel");
}

}

public class Derived extends BaseImpl implements IBase {

}

public class Root {

public static void main(String[] args) {

Derived test = new Derived();
test.dominanceTest();
}
}

Обратите внимание, что хотя класс Derived "implements IBase", никакой
реализации абстрактного метода dominanceTest() из IBase он не содержит.
И компилятор подобная ситуация на смущает. Пример собирается и работает
предсказуемым образом. Это похоже именно на явление доминирования при
виртуальном наследовании в C++.

Может быть я ошибаюсь, но если нечто выглядит как виртуальное наследование,
ведёт себя как виртуальное наследование, то — это и есть виртуальное
наследование.
Re[20]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 11.07.06 10:31
Оценка:
Здравствуйте, Menestrel, Вы писали:

E>>Эта тема уже обсуждалась. Действительно, при уровне дохода, при котором +/- $500 еще имеет значение, з/п при выборе места работы стоит на первом месте.

M>Очень даже имеет значение. 500$ в Российской действительности весьма немалые деньги

Да, до определенного уровня дохода.
При доходе в 3-4-5 К$, $500 уже не столь критично, и при выборе места работы вступают в силу другие критерии. В этом треде кто-то умный даже вывел процентаж

M>Не согласен в принципе. Поиск работы — это стресс и очень хороший (имея за плечами не только IT-образование, но и психологическое, уверяю Вас, что это так на 100%). У Вас очень полярный взгляд на этот процесс. Многих людей процедура прохождения собеседований и все, что связано с поиском новой работы способны довести до клиники неврозов, но, при этом, они не являются плохими специалистами.


Что тут можно сказать, люди разные бывают. Но в этой связи еще более странно, что люди, так боящиеся смены работы, "халявят". Казалось бы, должно быть совсем наоборот? Видимо, те, кто "халявит", как раз не боятся потерять работу
Автор: crazz
Дата: 11.07.06
?

M>А узнать у работника, что заставило его стать "халявщиком" не судьба? Таковы 99.9% всех Российских кАрпАрАций. Зачем интересоваться проблемами сотрудника, когда порще вытолкать его взашей и взять нового.


Ой ли? Сейчас очень серьезный дефицит специалистов, поэтому совсем не "проще".

M>Сотрудник хорош до тех пор, пока он накачивает карман шефа и, желательно, на халяву или близко к этому. Про суды — не смешите мои тапочки — Вы в какой стране живете? Много знаете прецендентов, когда удавалось отсудить у конторы невыплаченные деньги? Довольно часто, при попытке вернуть свое, можно лихо пострадать физически и это факт.


Увы, не могу не согласиться, что есть то есть.

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


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

Молодой же менеджер полностью зависим от желания команды/коллектива работать с ним, и команда может легко сделать так, чтобы он перестал быть менеджером. Оптимально в этом случае переводить его на высокую техническую позицию с сохранением з/п.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[21]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 11.07.06 12:05
Оценка:
Здравствуйте, kittown, Вы писали:

K>Я каждый раз глаза ломаю его читать. Приходится вспоминать, что происходит раньше — * или ++. На практике этой информацией пользоваться не приходится, и она выветривается.

K>...
K>Читая его, приходится аккуратно восстанавливать приоритет операций, поскольку скобками они не обозначены

Ээээ... ммм... тут скобки не помогут Что раньше выполняется — это определяется исключительно положением ++ относительнь указателя: прединкремент или постинкремент

K>Я не знаю где он у вас там часто встречается.


Ну, например, в исходных кодах стандартных библиотек С (особенно работа со строками и с памятью) и С++ (в том же STL — добрая половина работы с итераторами включает постинкременты прямо в операции).

K>Утверждение об эффективности тоже требует обоснования. Сможет ли оптимизатор привести ваш код к оптимальному машкоду ? Ему-то как раз сложные конструкции противопоказаны. Те, где активно применяются указатели, противопоказаны вдвойне...


Ну что же сложного в конструкции из одного выражения и двух постинкрементов?

А что Вы скажете о сложности такого кода:


if(ptr && ptr->method())
{
    yes();
    wow();
}
else
{
    no();
    never();
    out();
}


Тут есть примерно такое же мега-неудобство: нужно помнить, что стандартом языка С/С++ предусмотрено, что если в логическом выражении && первый операнд вернул 0, то второе даже не вычисляется (в данном случае — гарантия того, что обращения к памяти по адресу 0х00000000 не будет). Но ведь это же надо помнить! (!!!)

Неужели более читабельным и не менее эффективным, на Ваш взгляд, будет примерно так (тут уже помнить ничего не надо ):

bool y = false;

if(ptr)
{
    if(ptr->method()
    {
        yes();
        wow();
        y = true;
    }
}

if(!y)
{
    no();
    never();
    out();
}
Re[16]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 11.07.06 12:18
Оценка:
Здравствуйте, Kestrel, Вы писали:

K>Теперь пример на Java:


K>
K>public interface IBase {
    
K>    public abstract void dominanceTest(); 

K>}

K>public class BaseImpl implements IBase {

K>    public void dominanceTest() {
K>        System.out.println("Java has dominance feature as well as C++ and Eiffel");
K>    }

K>}

K>public class Derived extends BaseImpl implements IBase {

K>}

K>public class Root {

K>    public static void main(String[] args) {

K>        Derived test = new Derived();
K>        test.dominanceTest();
K>    }
K>}


K>Обратите внимание, что хотя класс Derived "implements IBase", никакой

K>реализации абстрактного метода dominanceTest() из IBase он не содержит.
K>И компилятор подобная ситуация на смущает. Пример собирается и работает
K>предсказуемым образом. Это похоже именно на явление доминирования при
K>виртуальном наследовании в C++.

Ну начнем с того, что в ответ на abstract в декларации интерфейса компилятор намекнет вам о неуместности "неприличных" слов

А во-вторых, нет здесь никакого абстрактного метода. Здесь есть задекларированный метод интерфейса, который должен быть реализован в классе, который объявляет о том, что поддерживает этот интерфейс. И его имплементация находится на одном из уровней иерархии. Все чрезвычайно просто, и никаких доминантов.
Re[5]: Блин, ну откуда столько криворуких?
От: Awaken Украина  
Дата: 11.07.06 12:35
Оценка:
C>Если человек не знает, что такое шаблон, интерфейс, виртуальное наследование, виртуальные функции (собственно человек не зает Си++ >но кодирает на нем) как он может выбирать вариант реализации? Он будет делать такую реализацию, которая соответствует его уровню


как же они у вас пишут код то, методом копи-паста?
Re[18]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 11.07.06 13:05
Оценка:
Здравствуйте, Kestrel, Вы писали:

K>Здравствуйте, Александр Каширин, Вы писали:


АК>>Здравствуйте, Kestrel, Вы писали:



АК>>Ну начнем с того, что в ответ на abstract в декларации интерфейса компилятор намекнет вам о неуместности "неприличных" слов


K>Очень может быть. По бедности я пользуюсь только компилятором, входящим в сосав Eclipse 3.1.2.

K>Он не ругается.

АК>>А во-вторых, нет здесь никакого абстрактного метода. Здесь есть задекларированный метод интерфейса, который должен быть реализован в классе, который объявляет о том, что поддерживает этот интерфейс. И его имплементация находится на одном из уровней иерархии. Все чрезвычайно просто, и никаких доминантов.


K>Я не спорю с тем, что это не сложно. Я хочу сказать, что у такого поведения есть

K>прямой аналог в C++. И в C++ этот аналог называется виртуальное наследование.
Re[18]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 11.07.06 13:10
Оценка:
Здравствуйте, Kestrel, Вы писали:

K>Я не спорю с тем, что это не сложно. Я хочу сказать, что у такого поведения есть

K>прямой аналог в C++. И в C++ этот аналог называется виртуальное наследование.

Да нет же! Я как раз и утверждаю, что нет никакого прямого аналога в С++!
То, что вы называете множественным наследованием одного и того же интерфейса, на самом деле таковым не является: в Java это следует рассматривать как объявление: "Повторяю: класс таки да поддерживает этот интерфейс". Т.е. самого понятия множественного наследования здесь не существует (отдельной ветки в иерархии не создается), не говоря уже о виртуальном.
Re[19]: Блин, ну откуда столько криворуких?
От: Kestrel  
Дата: 11.07.06 14:21
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Здравствуйте, Kestrel, Вы писали:


K>>Я не спорю с тем, что это не сложно. Я хочу сказать, что у такого поведения есть

K>>прямой аналог в C++. И в C++ этот аналог называется виртуальное наследование.

АК>Да нет же! Я как раз и утверждаю, что нет никакого прямого аналога в С++!

АК>То, что вы называете множественным наследованием одного и того же интерфейса, на самом деле таковым не является: в Java это следует рассматривать как объявление: "Повторяю: класс таки да поддерживает этот интерфейс". Т.е. самого понятия множественного наследования здесь не существует (отдельной ветки в иерархии не создается), не говоря уже о виртуальном.

Небольшая таблица, где сравниваются примеры на C++ и Java, приведённые ранее.

Пункты
сравнения          C++                            Java
__________________________________________________________________________

Сущности           IBase,                      IBase,
                   BaseImpl, Derived           BaseImpl, Derived

IBase              IBase - абстрактный         IBase - интерфейс
                   базовый класс

Отношения          BaseImpl наследует          BaseImpl implements IBase
наследования       от IBase
                   Derived  наследует          Derived  implements IBase
                   от IBase
                   Derived наследует           Derived extends BaseImpl
                   от BaseImpl

Есть ли реализация
void dominanceTest()   нет                              нет
в IBase

Есть ли реализация
void dominanceTest()   да                                да
в BaseImpl

Есть ли реализация
void dominanceTest()   нет                              нет
в Derived

Коппилируется ли       да                                да
пример

Будет ли при вызове    да                                да
void dominanceTest()
бызвана реализация 
из класса BaseImpl

_________________________________________________________________


В чем разница между примерами на на C++ И Java, кроме терминологии?
Интересует не то, как называется то или иное свойство языка, а разница
в поведении.
Re[16]: Блин, ну откуда столько криворуких?
От: khap Россия https://khorost.net
Дата: 11.07.06 14:31
Оценка:
Hello Геннадий,

E>> Если вы к своей работе относитесь безответственно, з/п ничего не

E>> изменит. Ответственность не регулируется з/п, вообще никак. Это
E>> качество самого человека, так же как и порядочность.

ГВ> Вот, кстати, вопрос. Если специалисту безотносительно его

ГВ> ответственности и порядочности будут платить на уровне, скажем так,
ГВ> рыночном, то во сколько оценивается его ответственность и
ГВ> порядочность? Можно — в процентах к базовой ставке.

Тут народ уже говорил, что имеет смысл менять работу если предложат ЗП на
20-25% и выше от текущей.
Вот и нужно держать соответствующую планку.

WBR,
Alexander Khokhlov
Posted via RSDN NNTP Server 2.0
Re[17]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.07.06 15:01
Оценка:
Здравствуйте, Eurispheus, Вы писали:

ГВ>>Вот, кстати, вопрос. Если специалисту безотносительно его ответственности и порядочности будут платить на уровне, скажем так, рыночном, то во сколько оценивается его ответственность и порядочность? Можно — в процентах к базовой ставке.


E>Я считаю, что ответственность и порядочность — это конкурентное преимущество специалиста. А з/п — конкурентное преимущество организации.

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

Спасибо.

Я должен извиниться, вопрос был несколько некорректным. Спрашивать скорее нужно было самих специалистов, чем менеджеров. Вы сейчас просто подтверждаете, что на самом деле порядочность и ответственность с уровнем компенсации никак не связаны.

Хотя то, как Вы расставили "конкурентные преимущества" наводит на интересные размышления. Получается, что менеджменту выгодны безответственные и непорядочные сотрудники. У них меньше конкурентых преимуществ перед остальными, следовательно, они менее требовательны к фирме-нанимателю.
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[20]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 11.07.06 15:09
Оценка:
Здравствуйте, Kestrel, Вы писали:

K>Небольшая таблица, где сравниваются примеры на C++ и Java, приведённые ранее.


Пункты
сравнения          C++                            Java
__________________________________________________________________________

<skip>

Есть ли реализация
void dominanceTest()   нет                              нет
в IBase

Отношения          BaseImpl наследует          BaseImpl implements IBase
наследования       от IBase
                   Derived  наследует          Derived  implements IBase
                   от IBase
<skip>


K>В чем разница между примерами на на C++ И Java, кроме терминологии?

K>Интересует не то, как называется то или иное свойство языка, а разница
K>в поведении.

Разница наблюдается в выбранных выше пунктах.

"Есть ли реализация void dominanceTest() в IBase". В отличие от Java, в C++ реализация все-таки есть (хоть и абстрактная, но в соответствующей таблице виртуальных методов будет указатель на обработчик, который завалит программу с ошибкой "Pure virtual function called").
В Java интерфейс — это исключительно декларативная вещь, которая не содержит никаких признаков реализации.

Кроме того, в С++ классы связаны отношением наследования, а в Java — отношением реализации. Собственно, механизмы совершенно разные: раз в Java не идет речи о наследовании, то ни о каких ромбах в иерархии говорить не приходится. А если Вы считаете, что я не прав, то попробуйте построить свой Java-пример не на основе интерфейсов, а на основе абстрактных классов: вот где будет прямая аналогия с С++... только множественного наследования не получится

Попробую повториться в очень простых словах:

1) С++ — наследование от абстрактного класса означает: "Переопределен метод базового класса, и теперь в иерархии есть два метода: абстрактный у базового класса и вариант реализации у данного класса".

2) Java — реализация метода интерфейса означает: "У данного класса есть такой метод, и вы можете его вызывать!"

Разница ощутима?
Re[3]: Блин, ну откуда столько криворуких?
От: Udjine  
Дата: 11.07.06 15:33
Оценка:
Здравствуйте, egaron, Вы писали:

E>Опять разгорелся флейм "тупые кандидаты" vs "умные работодатели". Если вы такие умные, то почему такие бедные ?


ИМХО, всё-таки работодатели платят деньги сотрудникам, а не наоборот . Так что либо кандидаты умные, либо бедные

E>Вот сейчас специально запустил поиск по проекту слова "virtual". Не поверишь — сие слово найдено только в комментариях, в проекте нет ни одной виртуальной функции. Как по-твоему живет и существует наш крупный заграничный проект, за котороый заказчик платит неплохие деньги?


Когда-то умные такие дядьки доказали теорему. Суть в том, что любую алгоритмическую задачу можно решить с применением 3-х структуп : структупа следования (последовательное выполнение инструкций), структура проверки условия и циклическая структура. Так зачем тогда что-то ещё ! Это ж можно не использовать ! А по поводу крупных заграничных проэктов ... В Индии тоже много крупных проэктов делается . Лет по 10 делается . И тоже за них деньги платятся. А кто пробовал саппортить эти проекты или изменения вносить, тот знает как всё-таки хорошо когда люди умеют правильно применять и наследование, и виртуальные методы, и все "никогда-не-нужные изыски ООП"!!! Так что тут вопрос только в том умеет разработчик применять знания и есть ли они. А деньги и за разгрузку вагонов платят.

E>Ведь в реальности вся эта лабуда, типа изысков ООП, виртуальных деструкторов и паттернов, и даже виртуальных функций, почти не используется в реальных проектах.


Как ни странно, но в компании где я работаю делаются очень даже РЕАЛЬНЫЕ проекты . И в них все облегчающие жизнь разработчику вещи (см. чуть выше ) используются.

E>Кстати, об ООП. Вот сейчас работаю над проектом, который проектирвался явно товарищами, помешанными на ООП (несмотря на то что даже вирт. функций ни одной нету). Строгое отделение бизнес-логики от гуи, все сущности вынесены в классы, классов такое количество, что в них запутаешься, все обращение к БД через кучу провайдеров-адаптеров. Казалось бы все грамотно и правильно — однако малейшее изменение кода в рамках данной архитектуры — перематеришься пока сделаешь — чрезмерная "объектно-ориентированность" тоже ведет к путанице кода не хуже чем "гоу ту". А уж косяков по производительности (многократное повторное считывание одних и тех же данных) — так их вообще дофига.


Куча классов — это не продуманная архитектура. Можно и калькулятор написать в 500 классов ! Или у Вас объём кода — критерий качества?
Неточность
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.07.06 16:11
Оценка:
ГВ>Не стоит обобщать эту красивую легенду.
Читать как: "принимать близко к средцу".

ГВ>То, что "хочется видеть" что-то там — дело десятое. Это совсем не повод запрещать окружающим это самое что-то использовать.

Читать как: "использовать то, что потребовалось изучить".
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[21]: Блин, ну откуда столько криворуких?
От: Pyromancer  
Дата: 11.07.06 19:33
Оценка:
Здравствуйте, kittown, Вы писали:

K>Здравствуйте, Геннадий Васильев, Вы писали:


K>>>Кто-то бросает исключение. Я обычно делаю break. [...] А с goto у меня никогда нет уверенности, является ли такой выход корректным.


ГВ>>У меня тоже не всегда есть такая уверенность. Здесь лучше всего помогает чтение стандарта и тесты. Большая часть вопросов и неуверенности снимается сходу. Про ошибки компилятора намеренно не упоминаю, это разговор особый. Он может и goto неправильно обработать, и break, и ещё много чего.


K>Но есть фичи, неаккуратная обработка которых более вероятна. И что написано в стандарте меня волнует лишь постольку, чтобы самому его не нарушать. От компиляторов я этого давно уже не требую. И стандарты к соседям давно снизил — никогда не знаешь, какую редко применяемую мелочь забудет эксперт с многолетним стажем.


Чего вы к goto прикопались? Меньше Дийкстру читайте .После компиляции goto,break и continue уже никак не различить
Re[21]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 11.07.06 20:55
Оценка:
Здравствуйте, kittown, Вы писали:

K>Кстати, могу предложить еще более интересный небезопасный код копирования строки:


K>
K>{
K>    int i = 0;
K>    while(dst[i] = src[i]) { ++i;}
K>}
K>


K>Вопрос на засыпку — когда такой вариант окажется лучше ?


О, кстати, интересно: я не могу придумать сколь-нибудь значимый пример того, когда бы этот вариант оказался лучше. Даже с учетом того, что процессор поддерживает индексную адресацию (т.е. вычислять адрес по два раза за цикл не нужно: нужно всего лишь прогрузить четыре регистра — и можно сразу обращаться к ячейке памяти) — все равно работа с инкрементом указателей оказывается эффективнее индексной адресации, как по скорости работы, так и по размеру объектного кода. Ну разве что в результате работы этого кода к концу цикла у нас остаются неизменными значения src и dst... но это ерунда.

В общем, огласите, пожалуйста, весь список
Re[21]: Блин, ну откуда столько криворуких?
От: algol Россия about:blank
Дата: 12.07.06 01:30
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>нормальный, простой, легкочитабельный и эффективный код — это ArrayCopy(src, dst)

Д>а за выпендреж c "while(*dest++ = *src++);" надо бить по рукам резиновой дубинкой

Хорошо что я не у вас работаю, а то бы без рук остался.
Кстати, а кто такой ArrayCopy? Это вообще из C? А то обычно идет сначала dst, а потом src.
Re[22]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 12.07.06 01:39
Оценка:
Здравствуйте, algol, Вы писали:

A>Хорошо что я не у вас работаю, а то бы без рук остался.


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

A>Кстати, а кто такой ArrayCopy? Это вообще из C? А то обычно идет сначала dst, а потом src.


Это просто шаблонный метод. Неважно, откуда он взялся. Считай, что просто кто-то его написал
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[15]: Блин, ну откуда столько криворуких?
От: S-SH Россия http://shmakov.ru/
Дата: 12.07.06 06:20
Оценка:
Здравствуйте, mik1, Вы писали:

M>А еще — покажите мне место в Москве, где офис снимают в подвале и платят программеру 3000$.

M>Поверю в 1500 максимум.

Поверьте, что такие места есть. И даже не одно. Почему в подвале — чтобы в случае неожиданного притока любопытствующих быстро бросить подвал, не сожалея об оставленных кондиционерах, coffee-machines, кожаных диванах... и контрафактной продукции...
IMHO. смайлики добавить по вкусу.
Re[21]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 12.07.06 06:27
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>нормальный, простой, легкочитабельный и эффективный код — это ArrayCopy(src, dst)

Д>а за выпендреж c "while(*dest++ = *src++);" надо бить по рукам резиновой дубинкой

Вот пример из файла "algorithm" библиотеки STL в варианте MS Visual C++ 6.0:


template<class _FI, class _OI> inline
    _OI _Unique_copy(_FI _F, _FI _L, _OI _X, forward_iterator_tag)
    {_FI _Fb = _F;
    for (*_X++ = *_Fb; ++_F != _L; )
        if (!(*_Fb == *_F))
            [color=red]_Fb = _F, *_X++ = *_Fb[/color];
    return (_X); }


Такого кода там полно. В других реализациях STL (не от MS) подобного кода не меньше, а возможно даже и больше (MS вообще скромничает, применяя подобный код). Обратите внимание, что там не только постинкремент указателя применяется прямо в выражении, а еще и выражение через запятую написано. Ужас Так давайте надаем по рукам разработчикам библиотеки STL и навсегда откажемся от ее применения А заодно и от применения стандартной библиотеки работы со строками С.
Re[22]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 12.07.06 06:30
Оценка:
Sorry, конечно же код должен выглядеть так:

template<class _FI, class _OI> inline
    _OI _Unique_copy(_FI _F, _FI _L, _OI _X, forward_iterator_tag)
    {_FI _Fb = _F;
    for (*_X++ = *_Fb; ++_F != _L; )
        if (!(*_Fb == *_F))
            _Fb = _F, *_X++ = *_Fb;
    return (_X); }
Re[22]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 12.07.06 06:43
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Такого кода там полно. В других реализациях STL (не от MS) подобного кода не меньше, а возможно даже и больше (MS вообще скромничает, применяя подобный код). Обратите внимание, что там не только постинкремент указателя применяется прямо в выражении, а еще и выражение через запятую написано. Ужас Так давайте надаем по рукам разработчикам библиотеки STL и навсегда откажемся от ее применения


Ты будешь смеяться, но многие конторы, которые выпускают серьезный софт, именно так и делают.
Хотя теперешние реализации СТЛ уже неплохо вылизаны, пользоваться ими можно практически без опасений. Если конечно ты ими только пользуешься, но не изменяешь библиотечный код.
Но человека, который пишет в таком же стиле продакшен код, который часто меняется — гнать из фирмы без размышлений

АК> А заодно и от применения стандартной библиотеки работы со строками С.


А вот это — совершенно точно.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[19]: Блин, ну откуда столько криворуких?
От: WindWalker Беларусь  
Дата: 12.07.06 07:35
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


E>>>Пока складывается ощущение, что вы не ориентируетесь в теме обсуждения.

M>>Очень даже ориентируюсь. Даже могу открыть маленький секрет: в 98% случаев люди идут устраиваться на работу именно из-за денег и только из-за них. Им глубоко по барабану все красоты кАрпАрАтивных политик и вся остальная подобная чушь.

E>Эта тема уже обсуждалась. Действительно, при уровне дохода, при котором +/- $500 еще имеет значение, з/п при выборе места работы стоит на первом месте.


Поясняю минус. +-500$ становятся безразличными, когда эти самые +- <10% от зарплаты. Т.е. при зарплате 10000$ / месяц да, пофиг. А хотя бы 5000 — что-то да значит.
Re[22]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 12.07.06 08:26
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Ээээ... ммм... тут скобки не помогут Что раньше выполняется — это определяется исключительно положением ++ относительнь указателя: прединкремент или постинкремент


Там есть оператор присваивания. Очень много всего в одном месте. В насмерть вылизанных либах еще еще может быть помещено из соображений эффективности, если она и впрямь достигается.

АК>Ну, например, в исходных кодах стандартных библиотек С (особенно работа со строками и с памятью) и С++ (в том же STL — добрая половина работы с итераторами включает постинкременты прямо в операции).


Такие либы пишутся с немного другими ограничениями, чем основной код. У них редко меняется интерфейс, и их код мало кому нужно читать.

K>>Утверждение об эффективности тоже требует обоснования. Сможет ли оптимизатор привести ваш код к оптимальному машкоду ? Ему-то как раз сложные конструкции противопоказаны. Те, где активно применяются указатели, противопоказаны вдвойне...


АК>Ну что же сложного в конструкции из одного выражения и двух постинкрементов?


То, что работа с изменением указателей в памяти может оказаться медленнее, чем помещение адресов и индекса в регистры и использование относительной адресации. Зависит от низкоуровневой реализации проца. Но при любой реализации, отсутствие изменяемых указателей может позволить не держать их в кеше и ограничиться регистрами. Общий принцип processor-friendly кода — держаться подальше от указателей и их изменения. У C++ с этим проблемы, это да.

АК>А что Вы скажете о сложности такого кода:


АК>
АК>if(ptr && ptr->method())
АК>{
АК>    yes();
АК>    wow();
АК>}
АК>else
АК>{
АК>    no();
АК>    never();
АК>    out();
АК>}
АК>


АК>Тут есть примерно такое же мега-неудобство: нужно помнить, что стандартом языка С/С++ предусмотрено, что если в логическом выражении && первый операнд вернул 0, то второе даже не вычисляется (в данном случае — гарантия того, что обращения к памяти по адресу 0х00000000 не будет). Но ведь это же надо помнить! (!!!)


Это не просто стандартом C++ предусмотрено, это в большинстве известных мне языков предусмотрено. Данное поведение — одно из назначений операторов && и ||, а не второстепенный side effect.

АК>Неужели более читабельным и не менее эффективным, на Ваш взгляд, будет примерно так (тут уже помнить ничего не надо ):


АК>
АК>bool y = false;

АК>if(ptr)
АК>{
АК>    if(ptr->method()
АК>    {
АК>        yes();
АК>        wow();
АК>        y = true;
АК>    }
АК>}

АК>if(!y)
АК>{
АК>    no();
АК>    never();
АК>    out();
АК>}
АК>


Пример неподходящий, за исключением буленова y вместо else. Часто так и пишут, так что код нормальный. Но не для того, чтобы не писать &&, а по причине вызова нескольких методов вместо одного, или потому что логика лучше иллюстрируется (в том числе комментариями). И потому что во внешний if переодически что-то может добавляться. Вот если бы таких конструкций было бы много подряд, другое дело.
Re[22]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 12.07.06 08:33
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

K>>Вопрос на засыпку — когда такой вариант окажется лучше ?


АК>О, кстати, интересно: я не могу придумать сколь-нибудь значимый пример того, когда бы этот вариант оказался лучше. Даже с учетом того, что процессор поддерживает индексную адресацию (т.е. вычислять адрес по два раза за цикл не нужно: нужно всего лишь прогрузить четыре регистра — и можно сразу обращаться к ячейке памяти) — все равно работа с инкрементом указателей оказывается эффективнее индексной адресации, как по скорости работы, так и по размеру объектного кода. Ну разве что в результате работы этого кода к концу цикла у нас остаются неизменными значения src и dst... но это ерунда.


АК>В общем, огласите, пожалуйста, весь список


Можно избежать расходы на содержание указателей в кеше и запись их измененных значений. Имеет ли это большое значение ? Неизвестно. но сам этот факт отметить и иметь в виду смысл есть.

Вообще же, самый правильный подход — писать код наиболее каноническим способом, чтобы это не значило, т.к. код пишется не для прямой трансляции в машкод, а для восприятия оптимизатором. Чем более знаком код оптимизатору, тем лучше результат.

Mikhail
Re[23]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 12.07.06 09:17
Оценка:
Здравствуйте, kittown, Вы писали:

K>Здравствуйте, Александр Каширин, Вы писали:


АК>>Тут есть примерно такое же мега-неудобство: нужно помнить, что стандартом языка С/С++ предусмотрено, что если в логическом выражении && первый операнд вернул 0, то второе даже не вычисляется (в данном случае — гарантия того, что обращения к памяти по адресу 0х00000000 не будет). Но ведь это же надо помнить! (!!!)


K>Это не просто стандартом C++ предусмотрено, это в большинстве известных мне языков предусмотрено. Данное поведение — одно из назначений операторов && и ||, а не второстепенный side effect.


Как сейчас помню — в древние времена в Турбо-Паскале это регулировалось директивой компилятора и никаким стандартом не оговаривалось. А Delphi с его Паскалем в настоящее время отнюдь не вымерший язык... Так что полагаться на это просто так, по аналогии со знакомым языком нельзя: это надо точно знать.

Хотя я могу ошибаться: с тех пор, как я перестал активно использовать Паскаль, прошло уже 12 лет, и стандарты могли быть пересмотрены, чего я не уследил...

K>Пример неподходящий, за исключением буленова y вместо else.


В этом примере одним else не обойдешься: сделали из одного if два — извольте сделать и два else. Иначе функциональность кода будет другая. Поэтому и булевская переменная, а не две одинаковые ветки else.
Re[24]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 12.07.06 09:24
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>В этом примере одним else не обойдешься: сделали из одного if два — извольте сделать и два else. Иначе функциональность кода будет другая. Поэтому и булевская переменная, а не две одинаковые ветки else.


Это если после первого if фигурные скобки не ставить. За что и огрести моментально по рукам. Не зря их рекомендуется ставить всегда. Студентов по c++ гонял, так регулярно кто-то не ставил. И огребали по классическому сценарию — добавляли оператор и думали что он в теле. Сами огребали, без подсказки.
Re[21]: Блин, ну откуда столько криворуких?
От: Kestrel  
Дата: 12.07.06 09:28
Оценка:
Здравствуйте, Александр Каширин, Вы писали:


АК>Разница наблюдается в выбранных выше пунктах.


АК>"Есть ли реализация void dominanceTest() в IBase". В отличие от Java, в C++ реализация все-таки есть (хоть и абстрактная, но в соответствующей таблице виртуальных методов будет указатель на обработчик, который завалит программу с ошибкой "Pure virtual function called").

АК>В Java интерфейс — это исключительно декларативная вещь, которая не содержит никаких признаков реализации.

Вы уверены, что программа будет завалена с ошибкой "Pure virtual function called"
на всех платформах? Вас не затруднит указать место в стандарте C++, где сообщается
о том, что "реализация все-таки есть". Я, к сожалению, не нашёл. И как мне из
синтаксически корректной программы на C++ вызвать эту реализацию?
Re[22]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 12.07.06 09:44
Оценка:
Здравствуйте, Kestrel, Вы писали:

K>Вы уверены, что программа будет завалена с ошибкой "Pure virtual function called"

K>на всех платформах? Вас не затруднит указать место в стандарте C++, где сообщается
K>о том, что "реализация все-таки есть". Я, к сожалению, не нашёл. И как мне из
K>синтаксически корректной программы на C++ вызвать эту реализацию?

Например, так:

#include <iostream>
using namespace std;

class V
{
public:
    virtual void foo() = 0;

    virtual void bar()
    {
        foo();
    }

    V()
    {
        bar();
    }
};

class A : public V
{
public:
    virtual void foo()
    {
        cout << "This will not be called\n";
    }
};

int main(int argc, char* argv[])
{
    A a;

    return 0;
}


Компилируется и линкуется прекрасно, т.к. соответствует всем стандартам языка (хотя и не соответствует здравому смыслу — вызывать виртуальные функции из конструктора). В процессе выполнения Visual C++ 6.0 пример "упал" с ошибкой "runtime error". Ранее, когда я "баловался" с подобными примерами, я получал сообщение об ошибке "pure virtual function called". Очевидно, текст ошибки будет "платформенно-зависим"

О том, что "реализация все-таки есть", Вы сами упоминали, говоря о том, как наследуется "это поле" (речь шла о таблице виртуальных методов — там указатель на эту функцию таки да имеется... а чем он заполнен — по большому счету не важно).
Re[25]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 12.07.06 09:46
Оценка:
Здравствуйте, kittown, Вы писали:

K>Здравствуйте, Александр Каширин, Вы писали:


АК>>В этом примере одним else не обойдешься: сделали из одного if два — извольте сделать и два else. Иначе функциональность кода будет другая. Поэтому и булевская переменная, а не две одинаковые ветки else.


K>Это если после первого if фигурные скобки не ставить. За что и огрести моментально по рукам. Не зря их рекомендуется ставить всегда. Студентов по c++ гонял, так регулярно кто-то не ставил. И огребали по классическому сценарию — добавляли оператор и думали что он в теле. Сами огребали, без подсказки.


Хм... в оригинале (где один if и &&) ветка else исполнялась в двух случаях:

— !ptr
— ptr && !ptr->method()

Вы же предлагаете обойтись одним else в случае двух if... как же так?
Re[26]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 12.07.06 09:56
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

K>>Это если после первого if фигурные скобки не ставить. За что и огрести моментально по рукам. Не зря их рекомендуется ставить всегда. Студентов по c++ гонял, так регулярно кто-то не ставил. И огребали по классическому сценарию — добавляли оператор и думали что он в теле. Сами огребали, без подсказки.


АК>Хм... в оригинале (где один if и &&) ветка else исполнялась в двух случаях:


АК>- !ptr

АК>- ptr && !ptr->method()

АК>Вы же предлагаете обойтись одним else в случае двух if... как же так?


Формально вы правы. Просто я уже привык к коду, когда ветки else часто просто нет, а во вложенном if-е стоит break/return/continue, либо используются исключения.

Mikhail
Re[24]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 12.07.06 09:59
Оценка:
Здравствуйте, algol, Вы писали:

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


A>Так я все-таки не пойму, в чем заключается выпендреж. Если кто-то из разработчиков не понимает конструкции *src++, то это именно его нужно бить по голове резиновой дубинкой.


Дело не просто в "понимает-не понимает", а в том, с какой легкостью и скоростью понимает. Продираться через подобный код тоже можно, но это дольше и ошибки более вероятны.

Mikhail
Re[24]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 12.07.06 10:00
Оценка:
Здравствуйте, algol, Вы писали:

A>Так я все-таки не пойму, в чем заключается выпендреж. Если кто-то из разработчиков не понимает конструкции *src++, то это именно его нужно бить по голове резиновой дубинкой.


Объясняю, за что надо бить.
1. Это copy-paste распространенной реализации паттерна копирования
2. Этот код крайне небезопасен. Напоминаю — в точности такой же кусок кода обошелся MS в миллионы долларов убытков, не говоря уже о потере репутации.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[25]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 12.07.06 10:11
Оценка:
Здравствуйте, Дарней, Вы писали:

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


A>>Так я все-таки не пойму, в чем заключается выпендреж. Если кто-то из разработчиков не понимает конструкции *src++, то это именно его нужно бить по голове резиновой дубинкой.


Д>Объясняю, за что надо бить.

Д>1. Это copy-paste распространенной реализации паттерна копирования
Д>2. Этот код крайне небезопасен. Напоминаю — в точности такой же кусок кода обошелся MS в миллионы долларов убытков, не говоря уже о потере репутации.

Небезопасность кода ни у кого сомнения не вызывает, так что второй пункт оставим в покое. В конце концов, заменим код на такой:

for(dest[--maxsize] = '\0'; maxsize-- && *dest++ = *src++; )
; // do nothing

Этот код безопасен — давайте рассматривать его.

По первому пункту — формулировка "copy-paste" в данном контексте вообще непонятна.
Re[25]: Блин, ну откуда столько криворуких?
От: algol Россия about:blank
Дата: 12.07.06 10:21
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Объясняю, за что надо бить.

Д>1. Это copy-paste распространенной реализации паттерна копирования

"Ты не умничай, ты пальцем покажи" (с) анекдот про чукчу и подводную лодку. Так можно увидеть правильную реализацию? Хочется понять, как нужно правильно делать, чтобы не получить дубиновой резинкой по кошельку.

Д>2. Этот код крайне небезопасен. Напоминаю — в точности такой же кусок кода обошелся MS в миллионы долларов убытков, не говоря уже о потере репутации.


Т.е. вопрос просто в проверке на размер буфера? Такой код будет кошерным или это тоже выпендреж?
    int cnt = bufSize;
    while(cnt-- && (*dest++ = *src++));"
Re[26]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 12.07.06 10:23
Оценка:
Здравствуйте, algol, Вы писали:

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


K>>Дело не просто в "понимает-не понимает", а в том, с какой легкостью и скоростью понимает. Продираться через подобный код тоже можно, но это дольше и ошибки более вероятны.


A>Тогда я не пойму вообще, о чем разговор. Сначала на собеседовании вы рассуждаете о паттернах и виртуальном наследовании, а потом выясняется, что большинство разработчиков — выпускники вспомогательной школы, которые не в состоянии понять конструкцию *src++? То есть на собеседовании вы просто гнете пальцы, а потом берете всех подряд, потому что людей не хватает?


Опять 25. Вы прочитали на что отвечаете ? Дело отнють не в способности ее понять. То, что эта конструкция понимается хуже других, не зависит от степени профессионализма сотрудников. Более опытные работают с ней легче, менее опытные — хуже, но все они работают с ней хуже, чем с более простым кодом. У меня, когда я работаю с кодом, всегда найдется лучшее применение мозгам, чем вдаваться в детали каждой такой конструкции.

Mikhail
Re[26]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 12.07.06 10:34
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>for(dest[--maxsize] = '\0'; maxsize-- && *dest++ = *src++; )

АК> ; // do nothing
АК>По первому пункту — формулировка "copy-paste" в данном контексте вообще непонятна.

Все очень просто — какие типы у dest и src и что будет, если эти типы произвольно менять?
Re[20]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 12.07.06 10:36
Оценка:
Здравствуйте, WindWalker, Вы писали:

E>>Эта тема уже обсуждалась. Действительно, при уровне дохода, при котором +/- $500 еще имеет значение, з/п при выборе места работы стоит на первом месте.

WW>Поясняю минус. +-500$ становятся безразличными, когда эти самые +- <10% от зарплаты. Т.е. при зарплате 10000$ / месяц да, пофиг. А хотя бы 5000 — что-то да значит.

Таки не понял, за что минус
Я сказал ровно тоже самое.

PS 10% от $10000 — это $1000. Для $5000 — это $500.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[23]: Блин, ну откуда столько криворуких?
От: Kestrel  
Дата: 12.07.06 10:37
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Компилируется и линкуется прекрасно, т.к. соответствует всем стандартам языка (хотя и не соответствует здравому смыслу — вызывать виртуальные функции из конструктора). В процессе выполнения Visual C++ 6.0 пример "упал" с ошибкой "runtime error". Ранее, когда я "баловался" с подобными примерами, я получал сообщение об ошибке "pure virtual function called". Очевидно, текст ошибки будет "платформенно-зависим"


АК>О том, что "реализация все-таки есть", Вы сами упоминали, говоря о том, как наследуется "это поле" (речь шла о таблице виртуальных методов — там указатель на эту функцию таки да имеется... а чем он заполнен — по большому счету не важно).


Вы меня убедили, предлагаю закончить.
Re[18]: Блин, ну откуда столько криворуких?
От: alcotras  
Дата: 12.07.06 10:50
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>А на поддержку, значит, традиционно приглашаем новичков. Следовательно, любой код должен быть ориентирован на новичков. Так?


Именно! Задачи кода — 1. реализовывать бизнес-функции максимально полно 2. быть как можно проще в поддержке. Так что использование выкрутасов типа виртуального наследования в реальном проекте ИМХО что художника из Строгановки приглашать покрасить забор.
Re[28]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 12.07.06 10:51
Оценка:
Здравствуйте, algol, Вы писали:

A>Странно, я всегда считал, что конструкция "while(*dest++ = *src++);" распознается нормальным разработчиком на уровне зрительных образов, без включения мозгов. Например когда смотрю на карандаш, то понимаю что это карандаш, не пытаясь при этом проанализовать форму предмета, прочитать что на нем написано, пощупать из чего этот предмет сделан и т.д.


Нефига, в контексте конструкции "while..." ты смотришь на деревянную палочку без надписей содержащую внутри себя некое черное вещество. Ты полагаешь что это карандаш, пытаешся заточить его, убеждаешся что он точится и что вещество внутри оставляет след и видимо является грифелем. И только после этого ты заключаешь что это карандаш.
Re[18]: Блин, ну откуда столько криворуких?
От: alcotras  
Дата: 12.07.06 10:53
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Раз-другой прочтут — запомнят. Я не понимаю, неужели C++ настолько неподъёмен, что мозги перетрудятся от чтения документации?


700 страниц ISO стандарта, между прочим. И в реальных проектах не думаю, что больше 10 % всех наворотов используется.
Re[28]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 12.07.06 11:11
Оценка:
Здравствуйте, algol, Вы писали:

A>Странно, я всегда считал, что конструкция "while(*dest++ = *src++);" распознается нормальным разработчиком на уровне зрительных образов, без включения мозгов. Например когда смотрю на карандаш, то понимаю что это карандаш, не пытаясь при этом проанализовать форму предмета, прочитать что на нем написано, пощупать из чего этот предмет сделан и т.д.


Зависит исключительно от опыта работы с подобными конструкциями. Т.к. в рабочем коде я ничего похожего вообще не припомню (во всем местах работы был хорошо поставлен процесс его вычистки), то опыт ограничивается студенчеством и конференциями.

Например, нижеследующий код я теперь тоже сходу читаю, но только потому что полный изврат и с ним разбирался специально:

switch (0) { case 1: if (0) { case 0: cout << "Hello World! << endl;}}


Mikhail
Re[29]: Блин, ну откуда столько криворуких?
От: algol Россия about:blank
Дата: 12.07.06 11:16
Оценка:
Здравствуйте, kittown, Вы писали:

K>Например, нижеследующий код я теперь тоже сходу читаю, но только потому что полный изврат и с ним разбирался специально:


K>
K>switch (0) { case 1: if (0) { case 0: cout << "Hello World! << endl;}}
K>


Боюсь что не скомпилируется — второй case без switch. А вообще после "switch (0) { case 1" можно дальше не читать.
Re[19]: Блин, ну откуда столько криворуких?
От: kollega Россия  
Дата: 12.07.06 11:37
Оценка:
Здравствуйте, alcotras, Вы писали:

A>Здравствуйте, Геннадий Васильев, Вы писали:


ГВ>>А на поддержку, значит, традиционно приглашаем новичков. Следовательно, любой код должен быть ориентирован на новичков. Так?


Не совсем так. Несколько пунктов пропустили
A>Именно! Задачи кода — 1. реализовывать бизнес-функции максимально полно
2. Быть надежным и стабильным.
3. быть как можно проще в поддержке.
4. Быть максимально эффективным.
Re[21]: Блин, ну откуда столько криворуких?
От: WindWalker Беларусь  
Дата: 12.07.06 11:44
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Таки не понял, за что минус

E>Я сказал ровно тоже самое.

E>PS 10% от $10000 — это $1000. Для $5000 — это $500.

Минус снял, поскольку не смог восстановить ту логику, согласно которой его выставил

PS. А я вообще написал символ строго меньше :D
Re[21]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 11:55
Оценка:
Здравствуйте, kittown, Вы писали:

ГВ>>У меня тоже не всегда есть такая уверенность. Здесь лучше всего помогает чтение стандарта и тесты.

K>Но есть фичи, неаккуратная обработка которых более вероятна.

Есть. И что? Голову никто не отменяет.

K>>>>>Аксиома: выбор стиля код программиста — не личное дело программиста, и вообще не его дело. Это дело тех, кто будет код поддерживать.

ГВ>>>>А на поддержку, значит, традиционно приглашаем новичков. Следовательно, любой код должен быть ориентирован на новичков. Так?
K>>>Я — не новичек. Но если мне подают код, ориентированный на новичков, то с ним работать гораздо легче. Спрашивается, нафига тогда выпендриваться ?
ГВ>>Вы сформулировали аксиому, я сформулировал естественное логическое следствие из этой аксиомы в условиях традиционной практики. Оставьте свои впечатления при себе и ответьте на заданный вопрос.

K>Ваш вопрос опирается на предположение, что "код для новичков" и "код, с которым хотел бы работать профи", обязательно разные вещи. Я считаю, что это одно и то же.


Во-первых, не верное противопоставление "новичка" и "профи". Скорее уж, "новичок" vs. "опытный".
Во-вторых, ошибочное следствие. Код "для новичка" и код "для профи" — совсем не одно и то же. Разные целевые аудитории, разные ограничения.

K>В этих условиях ваш вопрос получается эквивалентен "следовательно, любой код должен быть ориентирован на профессионалов". Ответ на оба эти одинаковых вопроса положительный. Я, как профессионал, предпочту работать с кодом, ориентированным на новичков.


Во-третьих, я же ясно просил не оперировать собственными предпочтениями.

ГВ>>Если эти самые "остальные" мотивируют свои трудности необходимостью изучить инструмент, то это сугубо их личные проблемы. Инструмент надо знать и уметь.

K>Эти остальные могут знать инструмент от и до. Но зачем им ненужный геморрой ?

Я что-то не понимаю, в чём геморрой-то? В снижении читабельности? Так читабельность — субъективная характеристика, это в каждом конкретном случае определяется. А то бывает и так, что "угадал все буквы, не смог прочесть слово".

ГВ>>С чего это Вы взяли, что на выходе у автора неизбежно получится г-но? Это всего лишь код на языке программирования и всё. Если фичи не понятны, то в них нужно разобраться, а не бравировать своим непониманием, прикрывая его маской заботы о ближнем.


K>Да кого вообще волнуют эти фичи ? Ну знаю их я. Знает сосед. Знает еще кто-нибудь. Может, все вокруг знают. Результат один — их применение должно быть обоснованным. Если их использование не несет каких-либо существенных плюсов, если это чистое эстетство ради более красивого кода, или может для сокращения десяти строк в семь (тоже мне разница), и при этом еще и затрудняют поддержку, то у них нет права на применение. Начальный кодинг много времени не занимает, как ты к нему не подходи. А вот дебаг и изменения жрут время с поистине зверским аппетитом. При этом обьем изменений кода снова минимален. Да пусть этот несчастный код втрое раздуют, только бы читался легче.


И с субъектными характеристиками настоятельно советую обращаться осторожнее. Мне, например, легче прочитать сотню килобайт компактного кода, чем мегабайты, но "простого".

ГВ>>Поймите меня правильно, я не против ругани в адрес того, кто оставил г-но за собой, хотя и на это могут быть свои вполне рациональные причины. Я против того, чтобы руководствоваться таким неправильным силлогизмом:

K>Я за огранчение на использование фич, создающих трудности в чтении и дебаге, в том числе чтении и дебаге "новичками".

А я за то, чтобы новички поскорее переставали быть новичками. Ваше ИМХО супротив моего ИМХО. До многого договоримся?

ГВ>>1. В некоторых случаях использование фичи X влечёт проблемы.

ГВ>>2. Проблемный код является г-ном.
ГВ>>Вывод: всякое использование фичи X — г-но.

K>Не всякое, а бесконтрольное.


Бесконтрольное использование чего угодно может повлечь проблемы. Молотком и тем можно пальцы отбить. Это же не повод запрещать им пользовтаься даже тем, кто им пользоваться умеет?

K>Правильный вывод: допущение использования фичи без серьезного ее основания — ошибочно. [...] а и потому, что его всем труднее разбирать, анализировать взаимодействие различных его кусков и держать в голове одновременно все нюансы используемых конструкций.


Если вывод делать только на основании Ваших рассуждений — тогда да. Вопрос только в том, что именно подразумевать под "основанием". Любую программу можно написать вовсе без C++, даже без C.

ГВ>>На бытовом уровне это может быть приемлемо, в технической деятельности — нет.

K>Между полным запретом и полным попустительством есть еще грань "запрет на применение без хорошего обоснования (на применение)".

Да, есть такая грань. Только определение "хорошего основания" опять упирается в осознанность или паче чаяния, в голосование. Первое "слишком сложно", второе слишком неоднозначно — дураков может оказаться больше. Вывод? На практике это обратится в полный запрет. Не мытьём, так катаньем.

ГВ>>Это тоже так. Но у примитивизации есть и оборотная сторона, прежде всего связанная с увеличением объёма исходников. "Комбинаторный взрыв", знаете ли.


K>Смотря как писать. Если писать монолит и не разбивать на подсистемы — возможно. А в промышленных системах полгода интенсивной разработки могут включать лишь неделю-другую на собственно кодирование. Да и тогда все неплохо разбито на модули. В одном месте разбивка нарушилась, и я в тот раз перетаскивал потроха на более правильное место.


К чему это всё? Я говорил только о том, что борьба с комбинаторным взрывом не всегда возможна без нетривиальных фич.

K>>>Все запреты неоднократно выстраданы на крешах.

ГВ>>Не стоит обобщать эту красивую легенду. На самом деле, запреты могут копироваться из всяческих good practices на основании одной только интуиции.
K>Это мне не помешало изрядно в оные креши потыкаться носом. На практиках основаны а) рекомендации б) запреты в условиях "при прочих равных" в) более жесткие запреты "при отсутствии обоснования и наличии обходных путей".

Охотно верю. Но тогда нужно дополнительно проанализировать Вашу собственную практику. У других она может быть совсем другой. И выводы могут быть другими.

ГВ>>Началось... Ладно, чтобы не вдаваться в длинные рассуждения, прочтите


K>Прочитал. Нашел утверждение, что при прочих равных надо выбирать более безопасный код. Добавлю, что еще и легко читаемый большей аудиторией. Отличие размера кода, скажем, в два раза, считаю незначительным, при сравнимом размере обьектника. С чем из этого вы не согласны ?


В упомянутых мной ветках я много высказывался по поводу того, с чем согласен и не согласен. Вкратце, я не согласен с применением выводов, основанных на чужой практике. Слепым применением, заметьте.

K>Кстати, могу предложить еще более интересный небезопасный код копирования строки:


K>
K>{
K>    int i = 0;
K>    while(dst[i] = src[i]) { ++i;}
K>}
K>


K>Вопрос на засыпку — когда такой вариант окажется лучше ?


Например, когда у нас нет operator *() и operator ++() для итераторов набора. Может быть, по критериям производительности... Надо конкретную ситуацию смотреть. Сколь я помню, для строк такая конструкция менее оптимальна, чем с указателями и постинкрементом.

ГВ>>Главное, что "разобрался и выучил". То, что "хочется видеть" что-то там — дело десятое. Это совсем не повод запрещать окружающим это самое что-то использовать.


K>Почему не повод ? Теми или иными путями, но разброд и шатание всегда приводят к увеличению времени на выполнение работы, а это одна из главных характеристик процесса разработки. Баланс между единообразием кода, легкостью работы с ним у максимально широкой аудитории, и пристрастиями програмиста все же должен поддерживаться, а разрешение использовать все, что захочется, от баланса очень далеко.


Одно другому не противоречит. Не путайте разброд и шатание вообще и отсутствие именно идеологических запретов. Запреты по сугубо техническим причинам вполне имеют право на существование.
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[21]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 11:55
Оценка:
Здравствуйте, alcotras, Вы писали:

ГВ>>Если эти самые "остальные" мотивируют свои трудности необходимостью изучить инструмент, то это сугубо их личные проблемы. Инструмент надо знать и уметь.

A>...ровно на столько насколько это надо для выпуска и поддержки продукта.

Как минимум.
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[19]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 11:55
Оценка:
Здравствуйте, alcotras, Вы писали:

ГВ>>А на поддержку, значит, традиционно приглашаем новичков. Следовательно, любой код должен быть ориентирован на новичков. Так?

A>Именно! Задачи кода — 1. реализовывать бизнес-функции максимально полно

Программы состоят не только из "бизнес"-кода.

A>2. быть как можно проще в поддержке.


Это достигается структурированием самого кода, а не кастрацией инструмента.

A>Так что использование выкрутасов типа виртуального наследования в реальном проекте ИМХО что художника из Строгановки приглашать покрасить забор.


Плохое ИМХО, что я ещё могу сказать?
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[19]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 11:55
Оценка:
Здравствуйте, alcotras, Вы писали:

ГВ>>Раз-другой прочтут — запомнят. Я не понимаю, неужели C++ настолько неподъёмен, что мозги перетрудятся от чтения документации?

A>700 страниц ISO стандарта, между прочим. И в реальных проектах не думаю, что больше 10 % всех наворотов используется.

Не знаю, как оно в реальных, а вот в настоящих проектах дела обстоят совсем не так. А в самых настоящих всё ещё сложнее.
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[20]: Блин, ну откуда столько криворуких?
От: alcotras  
Дата: 12.07.06 12:11
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


ГВ>>>А на поддержку, значит, традиционно приглашаем новичков. Следовательно, любой код должен быть ориентирован на новичков. Так?

A>>Именно! Задачи кода — 1. реализовывать бизнес-функции максимально полно

ГВ>Программы состоят не только из "бизнес"-кода.


A>>2. быть как можно проще в поддержке.


ГВ>Это достигается структурированием самого кода, а не кастрацией инструмента.


а чем плоха с т.з. бизнеса кастрация инструмента? Ведь уменьшается риск посадить трудноотлавливаемую ошибку. Какие тут минусы?
Re[21]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 14:55
Оценка:
Здравствуйте, alcotras, Вы писали:

A>>>2. быть как можно проще в поддержке.

ГВ>>Это достигается структурированием самого кода, а не кастрацией инструмента.
A>а чем плоха с т.з. бизнеса кастрация инструмента? Ведь уменьшается риск посадить трудноотлавливаемую ошибку. Какие тут минусы?

Мы уже начали обсуждать бизнес? Я что-то пропустил?

А с другой стороны, риск посадить трудноотлавливаемую ошибку за счёт кастрации инструмента ещё не понятно как сопоставим, например, с риском посадить трудноотлавливаемую ошибку из-за состязаний в многопоточной программе. Так что, одно абстрактное рассуждение супротив другого.

И с третьей стороны. Это любимый приём офисных демагогов типа менеджеров среднего звена (уж сколько я их насмотрелся...), оправдывать непонятно-почему-сделанные-шаги абстрактными "интересами бизнеса". Впрочем, это уже так, вырвалось...
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[23]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 14:59
Оценка:
Здравствуйте, kittown, Вы писали:

K>Вообще же, самый правильный подход — писать код наиболее каноническим способом, чтобы это не значило, т.к. код пишется не для прямой трансляции в машкод, а для восприятия оптимизатором. Чем более знаком код оптимизатору, тем лучше результат.


Кстати, пример с итераторами и постинкрементами уж куда как каноничен. Практически, копия ARM-овского варианта.
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[25]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.07.06 15:03
Оценка:
Здравствуйте, Дарней, Вы писали:

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


A>>Так я все-таки не пойму, в чем заключается выпендреж. Если кто-то из разработчиков не понимает конструкции *src++, то это именно его нужно бить по голове резиновой дубинкой.


Д>Объясняю, за что надо бить.

Д>1. Это copy-paste распространенной реализации паттерна копирования

Вот на вскидку тоже самое без copy&paste — на все случаи программирования.

template<typename T>
bool IsTerm(T val);

template<class OutIt, class InIt>
inline void CopyTerm(OutIt dest, InIt src)
{
    while(!IsTerm(*dest++ = *src++));
}

inline bool IsTerm(char c)
{
  return !c;
}


Д>2. Этот код крайне небезопасен. Напоминаю — в точности такой же кусок кода обошелся MS в миллионы долларов убытков, не говоря уже о потере репутации.


MS-у, вероятно, обошёлся в миллионы долларов не сам код, а то, что где-то было реализовано неправомерное предположение о допустимости отсутствия контроля длины передаваемых данных.
<< Под музыку: Аквариум — Из Калинина В Тверь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[24]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 12.07.06 16:02
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


K>>Вообще же, самый правильный подход — писать код наиболее каноническим способом, чтобы это не значило, т.к. код пишется не для прямой трансляции в машкод, а для восприятия оптимизатором. Чем более знаком код оптимизатору, тем лучше результат.


ГВ>Кстати, пример с итераторами и постинкрементами уж куда как каноничен. Практически, копия ARM-овского варианта.


Каноничен для человека, воспитанного Страуструпом. А если этот код будет пытаться понять не Сишник(такое, кстати, бывает) — ему прийдется много думать, в отличии от CopyTo(source, dest)
Re[22]: Блин, ну откуда столько криворуких?
От: alcotras  
Дата: 12.07.06 16:09
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


A>>>>2. быть как можно проще в поддержке.

ГВ>>>Это достигается структурированием самого кода, а не кастрацией инструмента.
A>>а чем плоха с т.з. бизнеса кастрация инструмента? Ведь уменьшается риск посадить трудноотлавливаемую ошибку. Какие тут минусы?

ГВ>Мы уже начали обсуждать бизнес? Я что-то пропустил?


А к нему все сводится, к пошлому получению денег с клиента. Если т-ко код не пишется для самовыражения. И ограничение вполне себе понятное и правильное — писать так, чтобы код могли поддерживать не т-ко 5 гуру, но и 500 мартышек.
Re[26]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 01:18
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>По первому пункту — формулировка "copy-paste" в данном контексте вообще непонятна.


а чего непонятного то? Реализацию надо запихать в функцию и использовать везде, где она подходит, вместо того чтобы каждый раз писать одно и то же.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[26]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 01:22
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Вот на вскидку тоже самое без copy&paste — на все случаи программирования.


это уже лучше. Хотя force inline — это моветон, да и возможность копировать между двумя произвольными типами странновато выглядит.

ГВ>MS-у, вероятно, обошёлся в миллионы долларов не сам код, а то, что где-то было реализовано неправомерное предположение о допустимости отсутствия контроля длины передаваемых данных.


Что в лоб, что по лбу — результат один.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[5]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 01:25
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Верно. Знание одного принципа виртуального наследования избавляет от необходимости знать сотню деталей.


Это не принцип, это хак. Ну да это уже отдельный вопрос.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[27]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 01:50
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>MS-у, вероятно, обошёлся в миллионы долларов не сам код, а то, что где-то было реализовано неправомерное предположение о допустимости отсутствия контроля длины передаваемых данных.


Д>Что в лоб, что по лбу — результат один.


Дело не в результате, дело в причинах. Непосредственная причина — вылет за пределы буфера. А вот привести к этому могло то, что в не правильном месте разрешили бесконтрольное копирование. То есть, предположили что-то из серии: "такой длины данных никогда не случится". Согласись, что это уже несколько иная причина, чем просто "бесконтрольное копирование".
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[6]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 01:50
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Верно. Знание одного принципа виртуального наследования избавляет от необходимости знать сотню деталей.

Д>Это не принцип, это хак. Ну да это уже отдельный вопрос.

Что???? Или у нас уже любое знание — хак?
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[26]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 01:57
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Вывод: не надо тащить на поддержку C++-ных проектов кого попало.


Вывод: писать надо так, чтобы было понятно. А не так, чтобы выпендриться.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[28]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 01:57
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Дело не в результате, дело в причинах. Непосредственная причина — вылет за пределы буфера. А вот привести к этому могло то, что в не правильном месте разрешили бесконтрольное копирование. То есть, предположили что-то из серии: "такой длины данных никогда не случится". Согласись, что это уже несколько иная причина, чем просто "бесконтрольное копирование".


Ну всё, опять свою волынку завел.
Переполнение может произойти в любом месте, рано или поздно, по тем или иным причинам.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[20]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 02:24
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Не знаю, как оно в реальных, а вот в настоящих проектах дела обстоят совсем не так. А в самых настоящих всё ещё сложнее.


что значит "настоящих"?
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[21]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 04:06
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Не знаю, как оно в реальных, а вот в настоящих проектах дела обстоят совсем не так. А в самых настоящих всё ещё сложнее.

Д>что значит "настоящих"?

Это была шутка в ответ на очередные "реальные" наблюдения, которые подтверждаются совершенно точными числовыми оценками из ряда: 1%, 5%, 10%, 30%, 70%, 99% (дальше точность растёт!), 99.9%, 99.99%, 99.99(9)%.
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[29]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 04:06
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Переполнение может произойти в любом месте, рано или поздно, по тем или иным причинам.


Да я с этим не спорю. Просто не нужно забывать, что за переполнением буфера может стоять банальное головотяпство проектировщиков. Само по себе копирование строк не виновато.
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[8]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 04:06
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Что???? Или у нас уже любое знание — хак?

Д>Нет, не любое.
Д>Хак — это, как известно, красивое и изящное техническое решение, которое приводит к множеству других красивых и изящных технических решений.

Источник такого определения можно?
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 04:37
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Источник такого определения можно?


не помню, попробуй погуглить
ты решил устроить очередной "дзен-дубизм"?
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[30]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 04:45
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Да я с этим не спорю. Просто не нужно забывать, что за переполнением буфера может стоять банальное головотяпство проектировщиков. Само по себе копирование строк не виновато.


Ага. Главное, найти на кого свалить.
Если уж у разработчика так сильно свербит замутить чего-нибудь небезопасное, пусть обвешает его ассертами и юнит-тестами со всех сторон. А если он этого не делает, значит — он просто безответственный дурак.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[10]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 04:57
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Источник такого определения можно?

Д>не помню, попробуй погуглить

Не я же на него ссылаюсь. Так что, ты и гугли.
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[29]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 04:57
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Странный у тебя какой-то вывод. Если код не понятен "не Сишнику", то значит — это выпендрёж. ИМХО, справедливый вывод здесь: нечего "не Сишнику" делать на поддержке "сишных" проектов. И уж тем более нечего ему делать на поддержке проектов на C++.

Д>не бывает "сишников" и "не-сишников", бывают только "просто программисты".

В контексте этой дискуссии такое обобщение неправомерно.

Д>А разводить лишние непонятности в программе — это от дури и желания выпендриться.


По поводу удалённой оценки умственных способностей и прочих психологических диагнозов, я вот тут
Автор: Геннадий Васильев
Дата: 11.07.06
высказался.
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[31]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 04:59
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Да я с этим не спорю. Просто не нужно забывать, что за переполнением буфера может стоять банальное головотяпство проектировщиков. Само по себе копирование строк не виновато.

Д>Ага. Главное, найти на кого свалить.

Не-а. Главное, не на кого свалить, а найти причину. Она может быть в проектировании, может быть в кодировании или ещё где-то.
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[30]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 06:06
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>По поводу удалённой оценки умственных способностей и прочих психологических диагнозов, я вот тут
Автор: Геннадий Васильев
Дата: 11.07.06
высказался.


очень умелый перевод стрелок, молодец
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[26]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 13.07.06 07:22
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


ГВ>>>Кстати, пример с итераторами и постинкрементами уж куда как каноничен. Практически, копия ARM-овского варианта.

J>>Каноничен для человека, воспитанного Страуструпом. А если этот код будет пытаться понять не Сишник(такое, кстати, бывает) — ему прийдется много думать, в отличии от CopyTo(source, dest)

ГВ>Вывод: не надо тащить на поддержку C++-ных проектов кого попало.


А шо делать, жисть есть жисть
Re[22]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 13.07.06 07:26
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>А с другой стороны, риск посадить трудноотлавливаемую ошибку за счёт кастрации инструмента ещё не понятно как сопоставим, например, с риском посадить трудноотлавливаемую ошибку из-за состязаний в многопоточной программе. Так что, одно абстрактное рассуждение супротив другого.


Легко сопоставим. Решение обоих значительно зависит от скорости разбирательства в коде и времени, оставшегося после знакомства с ним. Конечно, если кастрировать язык с ущербом для этой характеристики, то это только повредит.
Re[30]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 13.07.06 07:36
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

Пиши как хочешь, никто не запрещает. Только другим не рассказывай, что "так и надо" и "это круто".
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[30]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 13.07.06 07:40
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

Д>>не бывает "сишников" и "не-сишников", бывают только "просто программисты". А разводить лишние непонятности в программе — это от дури и желания выпендриться.


АК>Если следовать этой логике, то предлагается отказаться:


АК>- от оператора ?, т.к. этот непонятный элемент присутствует только в С и отсутствует в других языках;

АК>- от оператора switch, т.к. "просто программист" может не понимать, что означает отсутствие break после очередной ветки case;
АК>- от оператора for, т.к. его гибкая трехсекционная организация может быть непонятна "просто программисту";
АК>- от перегрузки фукнций, т.к. множество функций с одинаковым названием, несомненно, вносят "лишние непонятности";
АК>- ...

АК>Список можно продолжать. Особенно если определиться с той гранью, которая отличает "дурь и желание выпендриться" от "нормального стиля программирования". Какие будут предложения по определению этой грани?


Главное, следить за балансом пользы/вреда. Для каких-то вещей достаточно потребовать, чтобы их было мало (что такое мало, обычно вопросов не возникает), а для оставшихся попросить быть готовым предоставить обоснование с одобрением непосредственного руководителя. Все перечисленное — общее место, оно разбирается во время изучения C и перехода к C++, и потом распространяется на остальные языки, если там такие фичи есть. Пока еще эт этого ставшего традиционным порядка язучения языков не отошли. Вот когда отойдут, тогда ваш вопрос может оказаться не столь риторическим.

С другое стороны, что мешает запретить триграфы ? Вы, например, хорошо помните, что это такое ?

Mikhail
Re[31]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 13.07.06 08:17
Оценка:
Здравствуйте, kittown, Вы писали:

K>Здравствуйте, Александр Каширин, Вы писали:


АК>>Список можно продолжать. Особенно если определиться с той гранью, которая отличает "дурь и желание выпендриться" от "нормального стиля программирования". Какие будут предложения по определению этой грани?


K>Главное, следить за балансом пользы/вреда. Для каких-то вещей достаточно потребовать, чтобы их было мало (что такое мало, обычно вопросов не возникает), а для оставшихся попросить быть готовым предоставить обоснование с одобрением непосредственного руководителя.

K>...
K>С другое стороны, что мешает запретить триграфы ? Вы, например, хорошо помните, что это такое ?

Совершенно согласен. Надо только понимать, где тот баланс пользы и вреда. Если решение этого вопроса отдано на усмотрение непосредственного руководителя — то я согласен и с этим решением.

Да, собственно, мой предыдущий ответ был скорее на тему "просто программистов не си-шников", и я хотел показать, что "просто программисту" в любом случае предстоит стать "си-шником", чтобы разбираться в С-шных проектах. Что Дарней опровергает
Re[33]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 13.07.06 09:46
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Вместо того, чтобы написать одну функцию копирования и использовать, люди занимаются фигней


Трудно не согласиться. Особенно если речь идет о каком-то обозримом количестве функций. (Кстати, функция, заменяющая код этого примера, существует испокон веков и называется strcpy).

Однако я думал, что речь идет не о конкретной функции копирования буфера, а о применении инкрементов указателей прямо в выражении с разыменованием указателя. А таких применений бесконечно много: на все случаи жизни функций не напишешься.

У кого-то тут видел интересную подпись: "Любая проблема дизайна может быть решена добавлением нового абстрактного слоя, кроме проблемы слишком большого количества абстрактных слоев" Как бы с функциями не напороться на подобную ситуацию.
Re[6]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 13.07.06 12:51
Оценка:
Здравствуйте, Privalov, Вы писали:

Д>>пожалуй, так оно и есть. Обычная история о сапожнике, который взялся пироги печь.

P>Скорее, взялся возглавить сапожное производство — там от него избавиться намного сложнее.

Т.е. бывший программист, взявшийся возглавить процесс разработки, это плохо?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[29]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 14:49
Оценка:
Здравствуйте, kittown, Вы писали:

ГВ>>Странный у тебя какой-то вывод. Если код не понятен "не Сишнику", то значит — это выпендрёж. ИМХО, справедливый вывод здесь: нечего "не Сишнику" делать на поддержке "сишных" проектов. И уж тем более нечего ему делать на поддержке проектов на C++.


K>Читать все равно бывает нужно. Типичная ситуация, когда приходится прыгать с языка на язык, и выучивать новый за несколько дней в той мере, чтобы поддерживать проект. С одной стороны, все детали за это время не изучишь. С другой стороне, при аккуратном написании этих знаний достаточно для решения задачи. Так зачем все усложнять ?


Неправильный вывод. Это означает, что поддержка программы требует определённой квалификации сопровождающего программиста. С этой работой, конечно, управится и новичок, но только ему придётся чуть подольше почитать мануалы.

А то мы так докатимся, что "лучше, проще и яснее" писать malloc/free и lock/unlock чем пользоваться деструкторами. Ясен пень, тут же мануалы читать надо. За шаблоны вообще лучше промолчу.

K>C++ — только один из кучи языков, с которыми приходится иметь дело, и в последнее время мне с ним дело иметь не приходится.


И что с того? А мне приходится. И избыточно упрощать код в расчёте на то, что я отдам его первоклассникам у меня нет ровным счётом никакой мотивации.

K>Вон, на следующей неделе придется с места в карьер изучать .NET и поддерживать проект. Не впервой, провусь. Другим на предыдущей работе давали задачку писать парсер XML. Писали, успешно. Попутно изучали XML.


Ну что же, рад за всех вас.
<< Под музыку: Аквариум — Бессмертная Сестра Хо >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[30]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 13.07.06 15:16
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

K>>Читать все равно бывает нужно. Типичная ситуация, когда приходится прыгать с языка на язык, и выучивать новый за несколько дней в той мере, чтобы поддерживать проект. С одной стороны, все детали за это время не изучишь. С другой стороне, при аккуратном написании этих знаний достаточно для решения задачи. Так зачем все усложнять ?


ГВ>Неправильный вывод. Это означает, что поддержка программы требует определённой квалификации сопровождающего программиста. С этой работой, конечно, управится и новичок, но только ему придётся чуть подольше почитать мануалы.


Опять 25. Повторяю то, что уже говорил, другими словами.

Берем неквалифицированного программиста с книжкой в руках. Даем ему сложный и простой код одинаковой функиональности. Первый он поправит, допустим, за полчаса, а второй за десять минут. Возьмем программиста высокой квалификации. Сложный код он будет править минут минут пять, а простой — две минуты. При одинаковой функциональности. Вопрос, зачем в таких условиях писать сложный код ?

Эти условия соответствует большинству попадавшихся мне реальных ситуаций. Профессионалу высокой квалификации сложный код точно так же не нужен, как и начинающему. Исключение — воинствующие эстеты, которым нравятся красивости, но которые при этом время не считают.

ГВ>А то мы так докатимся, что "лучше, проще и яснее" писать malloc/free и lock/unlock чем пользоваться деструкторами. Ясен пень, тут же мануалы читать надо. За шаблоны вообще лучше промолчу.


Простота и доступность каждой фичи оценивается исходя из практики, а не берется с потолка. Деструкторы — проще, чем malloc/free, особенно если запретить невиртуальные деструкторы. А без шаблонов в основном коде жить вполне можно, оставив их только в библиотеках. Хотя любителям монолитных приложений этого не понять.

K>>C++ — только один из кучи языков, с которыми приходится иметь дело, и в последнее время мне с ним дело иметь не приходится.


ГВ>И что с того? А мне приходится. И избыточно упрощать код в расчёте на то, что я отдам его первоклассникам у меня нет ровным счётом никакой мотивации.


Значит займетесь чем-то другим, а засабмиченный вами код может оказаться откачен. Никаких проблем или претензий, просто качество кода имеет вполне определенное средство измерения — степень соответствия предьявляемым требованиям. Если ваш код требованиям компании не соответствует, значит, он некачественен, вне зависимости от вашей субьективной его оценки.

Mikhail
Re[32]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 13.07.06 16:20
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

K>>Берем неквалифицированного программиста с книжкой в руках. Даем ему сложный и простой код одинаковой функиональности. Первый он поправит, допустим, за полчаса, а второй за десять минут. Возьмем программиста высокой квалификации. Сложный код он будет править минут минут пять, а простой — две минуты...


АК>Не, я бы сказал, что простой — 10 минут Просто потому что его больше


Основная часть простого кода просто скипается за ненадобностью вносить в него изменения или разбираться в нем. И наоборот, если попадается мудреный компактный код, то приходится делать его некомпактным, иначе трудно изменять. В результате обьем работы по изменениям, несмотря на меньший исходный код, оказывается больше. В частности, регулярно приходилось разламывать компактные if-ы с множеством условий в одном месте, изничтожать многочисленные return и оставлять один, и тому подобное, иногда даже добавлять буленовые флаги, как в приводившемся тут примере. Если же условия были бы разбиты на вложенные if-ы изначально, анализировать и разбирать пришлось бы меньше.

Что до темплейтов и особенно частичной специализации и похожих на них фич, то из-за них постоянно приходилось лезть в сорсы. Есть ситуации, когда вывод о работоспособности кода делается после запуска тестов, а есть ситуации, когда это недостаточно убедительно и надо проследить всю логику обработки конкретного типа запроса, включая альтернативные ветки. В последнем случае чем проще код, тем лучше.

Если нужны красивые фичи, то для этого есть более другие языки — Erlang, OCaml. Там они родные. А в C++ висят словно заплатки на старом штопаном кафтане и только мешают.

Mikhail
Re[32]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 13.07.06 16:28
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

K>>[...] Возьмем программиста высокой квалификации. Сложный код он будет править минут минут пять, а простой — две минуты...


АК>Не, я бы сказал, что простой — 10 минут Просто потому что его больше


Вот! Как раз в этом-то и дело.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[33]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 14.07.06 07:25
Оценка:
Здравствуйте, kittown, Вы писали:

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


Мне как раз показалось наоборот: в приведенном примере с булевскими флагами код значительно сложнее для анализа и хуже структурирован.

K>Есть ситуации, когда вывод о работоспособности кода делается после запуска тестов, а есть ситуации, когда это недостаточно убедительно и надо проследить всю логику обработки конкретного типа запроса, включая альтернативные ветки. В последнем случае чем проще код, тем лучше.


Насколько мне известно, тестирование как раз и придумано потому, что человек не в состоянии безошибочно проанализировать поведение программы на основании code review — он все равно чего-то не заметит. Так "может в консерватории что-то подправить"? (с) М.Жванецкий Я имею в виду, может тест-кейсы переработать и дополнить?
Re[2]: Блин, ну откуда столько криворуких?
От: SergeyBi  
Дата: 14.07.06 07:55
Оценка:
Здравствуйте, ilya_ny, Вы писали:

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


_>... "откуда столько криворуких?", "перцы", "персонажи", "мне с таким мучатся до конца проекта" (попробуй "мучиться"), ... "я говорю твердое нет"

_>ты что хотел этим сообщением донести? какой ты способный архитектор и понимаешь "основы ооп" ?

_>от твоего снобизма просто воротим. вот поэтому и не идут к тебе


DB>>Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать.



_>видят, наверное, люди что за "перец" с ними беседует, чувствуют что "будут мучиться с таким до конца проекта" и поэтому говорят ему "тведое нет"



Извините, а Вы пробовали собеседовать людей? Я вот пробовал. И зп мы им обещали ВЫШЕ среднего. Только 80% кандидатов полностью неадекватны. Так что честно говоря я не понимаю почему все набросились на автора поста.
Re[8]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 14.07.06 08:38
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

P>>>Скорее, взялся возглавить сапожное производство — там от него избавиться намного сложнее.

E>>Т.е. бывший программист, взявшийся возглавить процесс разработки, это плохо?
ГВ>Обобщать нельзя, но зачастую ситуация напоминает "потеряли хорошего программиста и получили паршивого менеджера".

+1.
Постоянно слышу, что, мол, только бывший хороший программист может понять других программистов, а посему только бывший программист может стать хорошим менеджером.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 14.07.06 08:43
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Обобщать нельзя, но зачастую ситуация напоминает "потеряли хорошего программиста и получили паршивого менеджера".

Д>Но еще хуже, когда хороший менеджер превращается в никудышного тим лида или например архитектора.

Такое случается крайне редко, практически не случается никогда.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[32]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 14.07.06 09:26
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Александр Каширин очень точно подметил особенность простого кода. Вы никогда не сталкивались с проектами на десяток мегабайт очень-очень простого кода, где зависимости проявляются в самых неожиданных местах?


Встречался. Но обьем кода совсем не мешал. Мой любимый метод навигации по коду — полнотекстовый поиск нужных идентификаторов по каталогу с сорсами. Часто приходится использовать и более точные инструменты поиска и навигации, но это уже по результатам полнотекстового поска, иногда с использованием резулярных выражений и только по частям идентификаторов.

ГВ>Да я тоже как-то не ратую за красоты ради красот. Просто наперёд трудно знать, что именно потребуется из механизмов C++. Потому мне и кажется глупостью превентивный запрет на что-то, мотивированный борьбой с "красотами ради красот". То есть механизм языка здесь неправомерно приравнивается к "красивостям", только и всего.


Ситуация: есть код, есть опыт доработки этого кода, известно время, необходимое для каждого дополнительного улучшения; известно, что это время в данном проекте незначительно по сравнению со временем проработки планируемого обьема фич и внешних взаимодействий. Ситуация практически идеальна. Вопрос, зачем разрешать дополнительные фичи, если ни одного серьезного показателя это не улучит (поскольку они и так на максимуме), а ухудшить может вполне ?

ГВ>>>А то мы так докатимся, что "лучше, проще и яснее" писать malloc/free и lock/unlock чем пользоваться деструкторами. Ясен пень, тут же мануалы читать надо. За шаблоны вообще лучше промолчу.


K>>Простота и доступность каждой фичи оценивается исходя из практики, а не берется с потолка. Деструкторы — проще, чем malloc/free, особенно если запретить невиртуальные деструкторы.


ГВ>Даже в сугубо инлайновых классах тоже нужно запрещать невиртуальные деструкторы? Это чтобы у любого класса была VMT или ещё зачем-то?


Это затем, чтобы не забыли сделать virtual destructor тогда, когда надо. В библиотечных классах можно сделать исключение. "Сугубо инлайновые классы" туда вполне просятся. Фактически, отказ от виртуального деструктора — это предварительная оптимизация, а она уместна по большей части именно в библиотеках. На редкие исключения можно и комментариев нагородить с более плотным ревью.

K>>А без шаблонов в основном коде жить вполне можно, оставив их только в библиотеках. Хотя любителям монолитных приложений этого не понять.


ГВ>Да ну? А RAII-обёртки как же?


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

K>>Значит займетесь чем-то другим, а засабмиченный вами код может оказаться откачен. [...]


ГВ>А с чего вы взяли, что я пойду работать в такую компанию, а если и пойду, то буду нарушать установленные в ней правила?


Про первую часть — потому что это все мелочи и едва ли играли бы роль при выборе работы. Про вторую ничего сказать не могу.

Mikhail
Re[34]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 14.07.06 09:42
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

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


АК>Мне как раз показалось наоборот: в приведенном примере с булевскими флагами код значительно сложнее для анализа и хуже структурирован.


Там — да, не вопрос. Но в реальном коде бывает. Дело в большом размере if-а, большом числе и глубине вложенных if-ов с наличием логики на множестве разных веток, и в конечном счете в большом числе мест, где оказывается идентичный код, который можно выполнить сразу перед выходом из главного if-а. Такой код можно вынести и выполнять по boolean-у. Обычно выглядит логично.

K>>Есть ситуации, когда вывод о работоспособности кода делается после запуска тестов, а есть ситуации, когда это недостаточно убедительно и надо проследить всю логику обработки конкретного типа запроса, включая альтернативные ветки. В последнем случае чем проще код, тем лучше.


АК>Насколько мне известно, тестирование как раз и придумано потому, что человек не в состоянии безошибочно проанализировать поведение программы на основании code review — он все равно чего-то не заметит. Так "может в консерватории что-то подправить"? (с) М.Жванецкий Я имею в виду, может тест-кейсы переработать и дополнить?


Эти две вещи друг друга взаимно дополняют. Тесткейсы — средство для нормальной реализации, в которой могут быть ошибки. Начиная с какого-то момента приходится временно отложить тесткейсы в сторону и лезть разгребать нечто странное, во что превратился код после кучи срочных багфиксов, накопившихся за несколько лет. Ручной анализ — средство для ремонта изрядно "проржавевшей" реализации, текущее применение которой не соответствует условиям, для которых дизайнился первоначальный вариант, и которая из-за многочисленных прикрученых хаков и частичных доработок начинает выдавать странные трудноповторимые баги.
Re[10]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 14.07.06 10:23
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Такое случается крайне редко, практически не случается никогда.


а по моим наблюдениям, (плохие) менеджеры сплошь и рядом тянут на себя обязанности, в которых абсолютно ничего не смыслят
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[35]: Блин, ну откуда столько криворуких?
От: Eugeny__ Украина  
Дата: 14.07.06 18:35
Оценка:
Здравствуйте, kittown, Вы писали:

K> Ручной анализ — средство для ремонта изрядно "проржавевшей" реализации, текущее применение которой не соответствует условиям, для которых дизайнился первоначальный вариант, и которая из-за многочисленных прикрученых хаков и частичных доработок начинает выдавать странные трудноповторимые баги.


Блин, столько такого кода уже "восстановил" (по той же аналогии с химией — ржавчина тоже восстанавливается). Уже и опыт немалый в этом есть — кривой код приводить в состояние рабочего. Без документации. Без связи с разработчиками. Без ТЗ. Интересно, мне пригодится этот опыт в нормальных конторах? Впрочем, каюсь, скрипя сердце, писал и костыли к коду, когда время не позволяло поставить все на ноги другимим средствами...
ПЫСЫ А хочется-то все равно писать нормально, с нуля, чистенько. Эх, вот отпуск отгуляю — меняю место жительства и работу...
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[33]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 14.07.06 22:43
Оценка:
Здравствуйте, kittown, Вы писали:

ГВ>>Александр Каширин очень точно подметил особенность простого кода. Вы никогда не сталкивались с проектами на десяток мегабайт очень-очень простого кода, где зависимости проявляются в самых неожиданных местах?

K>Встречался. Но обьем кода совсем не мешал. Мой любимый метод навигации по коду — полнотекстовый поиск нужных идентификаторов по каталогу с сорсами. Часто приходится использовать и более точные инструменты поиска и навигации, но это уже по результатам полнотекстового поска, иногда с использованием резулярных выражений и только по частям идентификаторов.

Вопрос в том, сколько времени уйдёт на эту самую навигацию.

ГВ>>Да я тоже как-то не ратую за красоты ради красот. Просто наперёд трудно знать, что именно потребуется из механизмов C++. [...]


K>Ситуация: есть код, есть опыт доработки этого кода, известно время, необходимое для каждого дополнительного улучшения; известно, что это время в данном проекте незначительно по сравнению со временем проработки планируемого обьема фич и внешних взаимодействий. Ситуация практически идеальна. Вопрос, зачем разрешать дополнительные фичи, если ни одного серьезного показателя это не улучит (поскольку они и так на максимуме), а ухудшить может вполне ?


Вагон неправильных рассуждений.

Во-первых, для каждого дополнительного улучшения наперёд всё знать невозможно.

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

В-третьих, если проект спокойно сопровождается без использования "фич" C++, то вообще бессмысленно приводить его в качестве иллюстрации здесь. Я вовсе не пытался утверждать, что виртуальное наследование, скажем, нужно использовать всегда-повсеместно-во-что-бы-то-ни-стало.

ГВ>>>>А то мы так докатимся, что "лучше, проще и яснее" писать malloc/free и lock/unlock чем пользоваться деструкторами. Ясен пень, тут же мануалы читать надо. За шаблоны вообще лучше промолчу.

K>>>Простота и доступность каждой фичи оценивается исходя из практики, а не берется с потолка. Деструкторы — проще, чем malloc/free, особенно если запретить невиртуальные деструкторы.
ГВ>>Даже в сугубо инлайновых классах тоже нужно запрещать невиртуальные деструкторы? Это чтобы у любого класса была VMT или ещё зачем-то?
K>Это затем, чтобы не забыли сделать virtual destructor тогда, когда надо. В библиотечных классах можно сделать исключение. "Сугубо инлайновые классы" туда вполне просятся. Фактически, отказ от виртуального деструктора — это предварительная оптимизация, а она уместна по большей части именно в библиотеках. На редкие исключения можно и комментариев нагородить с более плотным ревью.

Мотивация понятна: "чтобы не забыли сделать virtual destructor тогда, когда надо". Иными словами: "на всякий случай". Кстати, некогда я слышал о таком же "на всякий случай", но звучало это примерно так: "всё наследование должно быть виртуальным, все методы должны быть виртуальными". Не находите забавным?

K>Приведите пример обертки, которую нельзя загнать в библиотеку, и для которой нужны темплейты.


Хорошо, с этим согласен пока, обёртки имеет смысл отгонять в библиотеки.

K>Еще, взоможно, я неточно выразился — имелось в виду определение новых шаблонов, а не применение уже имеющихся.


В прикладном коде вполне могут специализироваться библиотечные шаблоны. Это считать созданием новых шаблонов или нет? Всё-ж таки, специализация — это не самая простенькая фича...
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[36]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 15.07.06 09:25
Оценка:
Здравствуйте, Eugeny__, Вы писали:


E__>Блин, столько такого кода уже "восстановил" (по той же аналогии с химией — ржавчина тоже восстанавливается). Уже и опыт немалый в этом есть — кривой код приводить в состояние рабочего. Без документации. Без связи с разработчиками. Без ТЗ.


А мне нравится "восстанавливать" — почти детективное расследование иногда получается.
Re[6]: Блин, ну откуда столько криворуких?
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 16.07.06 08:58
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Если на просьбу написать, хоть и простое, но надежное, масштабируемое, расширяемое и поддерживаемое приложение, человек отвечает, что кучу решений этого задания можно найти в интернете, то я уже начинаю сомневаться в том, что он выполнит мою просьбу (причем по всем четырем критериям сразу). А это значит, что он просто не представляет себе, что от него требуется.


А я вообще считаю, что интервью — это не только способ оценить кандидата, но и оценить работодателя. Если интервьюер задает вопросы, основываясь на случайной выборке из справочной литературы, вопросы неинтересны и не претендуют на то, чтобы бросить вызов моему интеллекту (желательно именно интеллекту, а не памяти, причем той его части, которая, все-таки связана с разработкой ПО), это означает, что что он несерьезно подошел к вопросу подбора персонала (или, по крайней мере, его взгляды на этот процесс существенно отличаются от моих) и его команда наверняка состоит из случайных людей (или людей, который не разделяют моих принципов). В таком окружении я, вероятно, не смогу полноценно развиваться профессионально, а это приведет к потере уважения к себе, времени, энтузиазма, не говоря уже о деньгах (когда придет время менять работу). Несколько сотен баксов в месяц не стоят того.

При выборе работодателя применимы те же подходы, что и при выборе работника (луче упустить хорошего, чем получить плохого; благо, рыночная коньюктура позволяет так рассуждать). Это даже более важно из-за эксклюзивного характера отношений. С другой стороны, этого добиться проще: работодателей не так много и можно найти какую-то информацию. И в процессе сбора информации интервью занимает непоследнее место.

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

АК>Значит максимум, что с ним можно сделать после принятия на работу — это начинать его учить на позиции Junior. Однако из его амбиций следует, что студентом он быть не намерен.


Если человеку стыдно признаться, что он чего-то не знает, это очень плохой признак. Я считаю, что не знать не стыдно. Стыдно смириться со своей невежественностью. Всего знать невозможно, и осознание этого факта неминуемо приводит к необходимости увеличения командного взаимодействия и концепции непрерывного обучения.

Но в примере с этим гипотетическим кандидатом, описываемое поведение вовсе не является примером проявления амбиций. Это, скорее, проявление гордыни. Если бы кандидат сказал, что он готов расшибиться в лепешку, чтобы через полгода посредством самосовершенствования стать senior, вот это настоящие амбиции, которые можно только приветствовать.
Re[7]: Блин, ну откуда столько криворуких?
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 16.07.06 10:02
Оценка:
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>А говорят, что Шаляпина тоже в хор не брали... А Энштейн был троешником...


AWW>Да что там они, сколько раз меня, по молодости на работу не брали... Говорили, что я чего-то там не умею... Я правда один раз потом тоже их на работу не взял... Но уже чисто по злобе....


Да, ну уж если Вас (!) не брали, то у Шаляпина с Энштейном тем более никаких шансов, конечно же, не было...
Re[9]: Блин, ну откуда столько криворуких?
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 16.07.06 10:13
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, Александр Каширин, Вы писали:


АК>>О! Прекрасное заключение мысли! А разве мы рассматриваем варианты, когда ищем работу в фирме, в которой не очень-то и хотелось бы работать? Я такие предложения фильтрую еще на этапе первого звонка от HR или заменяющего его менеджера


Д>В пределах досягаемости нет ни одной компании, где "очень хотелось бы работать". А переезжать я пока не собрался


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

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

Поиск работы по принципу "где меньше напрягают на собеседовании" скорее всего приведет Вас не в лучшее место.
Re[4]: Блин, ну откуда столько криворуких?
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 16.07.06 10:40
Оценка:
E>>Меня всегда умиляли собеседователи, делающие акцент на строгую теорию. Итак, начнем

LVV>Меня вообще удивляет — зачем на собеседовании чего-то спрашивать по профессии... Гораздо правильнее оценить кандидата на предмет уживаемости в коллективе, оценить его лидерские или нелидерские качества... А по професси все сразу станет ясно, если взять его на испытательный срок — хотя б и на две недели всего...

LVV>Помнится, мне в первый день работы дали написать реальную прогу на коболе (ну контора на нем работала... , который я сдавал тока в институте... Я написал — начальник был в полном ауте... Он не мог поверить, что я с листа накатал реально работающую прогу на малознакомом языке...
LVV>Естественно, взяли на постоянку без всяких вопросов...

LVV>И в собеседовании — ну сразу видно, кидает кандидат понты или нормальный чел, который уживется в коллективе и реально поможет проекту...


Тезис о том, что кухарка может управлять государством не стоит распространять на работу в сфере разработки ПО. Кандидат должен продемонсрировать профессиональные навыки с учетом позиции, на которую он претендует (в нашем отделе, например, знание C++ является необязательным на позицию Junior, но, при этом, совершенно необходимо глубокое знание для кандидата на позицию Senior, хотя первый может достаточно быстро превратиться во второго). Давать ответственную позицию неопытному (в требуемой области; хотя в ряде случаев можно "зачесть" опыт в других областях) кандидату не только опасно (работодатель лишается рычага воздействия в случае возникновения проблем), но и подрывает мотивацию к саморазвитию.

Навык коллективной работы — это важный профессиональный (нетехнический) навых. Я согласен, что достаточно часто ошибочно игнорируются нетехнические навыки и качества кандидата (такие как умение найти общий язык с людьми, умение изложить свои идеи, умение понять чужие идеи, инициативность, целеустремленность и т.п.), но отказываться от оценки технических навыков также нерационально.
Re[3]: Блин, ну откуда столько криворуких?
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 16.07.06 11:13
Оценка:
Здравствуйте, egaron, Вы писали:

E>Очень согласен с тобой. Опять разгорелся флейм "тупые кандидаты" vs "умные работодатели". Если вы такие умные, то почему такие бедные ? Ну не хотите — не берите тупое быдло, которое почему-то не знает в совершенстве ООП и не хочет работать у вас за 300 баксов (утрирую но предполагаю что ситуация из этого расклада)


Между прочим, ошибочные предположения — это один из неиссякаемых источников ошибок. Обычно лучше разобраться, является ли это предположение надежным (а еще лучше — фактом) прежде чем начинать кодировать.

E>Меня всегда умиляли собеседователи, делающие акцент на строгую теорию. Итак, начнем


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

E>Вот сейчас специально запустил поиск по проекту слова "virtual". Не поверишь — сие слово найдено только в комментариях, в проекте нет ни одной виртуальной функции. Как по-твоему живет и существует наш крупный заграничный проект, за котороый заказчик платит неплохие деньги ? всей команде надо убить себя об стену.


Можно пойти дальше и писать код исключительно для машины Тьюринга. Заказчика можно убедить тем, что на машине Тьюринга можно решить любую алгоритмическую задачу (и это математически доказанный факт). При этом можно радикально сократить затраты на рабочую силу, ведь с машиной тьюринга могут разобраться дети начиная с класса примерно 6-го. При этом можно не опасаться выхода Turing Framework очередной версии из-за которой сотрудников придется переучивать.

E>Да, мало того — из разговоров коллег выясняю, что многие не знают джаваскрипта и успешно пишут приложения, многие толком не знают что такое постбэк и тоже успешно пишут, многие веб-разработчики (!) вообще понятия не имеют как виртуальный каталог на ИИСе настроить. И все пишут и надо скзаать успешно. И я бы вовсе не назвал этих людей глупыми — они пишут вполне грамотный код (я если честно сам удивляюсь иногда как)


К сожалению (или к счастью), общепризнанных стандартов качества кода не существует. Для некоторых грамотный код это то, что компилируется. Другие пишут про это книги. Что русскому хорошо, то немцу — смерть

E>Ведь в реальности вся эта лабуда, типа изысков ООП, виртуальных деструкторов и паттернов, и даже виртуальных функций, почти не используется в реальных проектах. ах да, я забыл — вы такие проекты называете "убогими формочками", но тем не менее за эти формочки заказчик платит деньги, и немалые.


Ну конечно, реальным пацанам зачем паттерны? Главное лавэ срубить, да побольше!
Re[3]: Блин, ну откуда столько криворуких?
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 16.07.06 15:09
Оценка:
Здравствуйте, _DAle_, Вы писали:

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


K>>Почитал ветку выборочно, у мня такое впечатление возникло, что россия это будущая индия. Мы превращаемся в индусов. Слежу за школьными и студенческими олимпиадами (тк сам все это прошел в свое время), уровень задач из года в год все ниже и ниже, на форуме самого сильного в россии по программированию сообщества РСДН "инженера" начали кричать, что не надо знать алгоритм сортировки, можно с инета "закопипастить". Что творится в университетах, это просто плакать хочется.


_DA>Не согласен с тем, что уровень задач на олимпиадах падает. Отдельные соревнования — не показатель. Просто, например, на NEERC, видимо, решили, что пусть лучшие команды решают по 10-12 задач, а не по 4-5, как это было когда-то, и задачи стали в среднем проще. А вообще жаловаться на низкий олимпиадный уровень в России в этом году уж точно нельзя: ACM ICPC выиграл Саратовский ГУ, TopCoder Open 2006 выиграл Петр Митричев, впереди IOI


Не говоря уж о том, что в финале из 12 финалистов 5 бы ли представители нашего региона. Такого, по моему, вообще никогда не было. И это при том, что другие регионы, в особенности китайцы, тоже здорово прогрессируют.

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

Кто-то тратит время на то, чтобы обсудить работодателей, которые по своей глупости и бездарности просят отсортировать массив (ведь всем же известно, что это никому не понадобиться, более того, это знать даже вредно потому что может дрогнуть рука и вместо использования стандартной библиотеки появиться несколько строк кода), а кто-то на то, чтобы в этих самых алгоритмах (или еще чем-то полезном) разобраться.
Re[2]: вопрос по ООП
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 16.07.06 15:32
Оценка:
Здравствуйте, ilya_ny, Вы писали:

_>кстати, я только что вспомнил как и мне как-то сказали, что я ооп не знаю


_>

_>собеседование.. 3 мужика
_>1.
_>один нарисовал квадратик, другой взял у него бумажку, подумал немного, и рядом подрисовал прямоугольничек и спращивает : "что от чего порождено ? а нарисуй-ка нам классы!"
_>я говорю, что квадратик порожден от прямоугольничка, на что третий мужичек сразу и говорит : "а не фига вы, молодой человек, ооп не знаете"
_>после этого третий ничего не произнес до самого конца собеседования.


Сдается мне, что от Вас хотели добиться понимания LSP. Это достаточно важный принцип, но это далеко не критерий понимания ООП вообще. К тому же ему несложно научить. По моему личному мнению, это необязательное знание в начале испытательного срока и весьма желательное — в конце (сразу оговорюсь, что это применительно к нашей команде; у других может быть своя специфика). С другой стороны, это все же отрицательный фактор (или, по крайней мере, не положительный) и он может сыграть в совокупности с другими, вероятно, более серьезными факторами.
Re[10]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 17.07.06 01:13
Оценка:
Здравствуйте, SeRya, Вы писали:

SR>Если Вы меняете работу не потому что осознаете, что вам это действительно нужно, а просто так, то это характеризует Вас с отрицательной стороны и сильно снижает шанс попасть в контору, где "очень хотелось бы работать" когда такая появиться.


Откуда такой странный вывод? Я то как раз стараюсь не менять работу без серьезных причин.

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


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

SR>Поиск работы по принципу "где меньше напрягают на собеседовании" скорее всего приведет Вас не в лучшее место.


Нет, ты не понял. На собеседовании пусть напрягают, если по делу. Но делать "тестовые задания" на неделю объемом я не буду. Просто потому, что ценю свое время.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[36]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 17.07.06 07:06
Оценка:
Здравствуйте, Eugeny__, Вы писали:

E__>Блин, столько такого кода уже "восстановил" (по той же аналогии с химией — ржавчина тоже восстанавливается). Уже и опыт немалый в этом есть — кривой код приводить в состояние рабочего. Без документации. Без связи с разработчиками. Без ТЗ. Интересно, мне пригодится этот опыт в нормальных конторах?


И да и нет. Скилл крайне полезный, в любой конторе периодически накалываешься на груду подобной ржавчины. Но на нем одном каши не сваришь, долго на такой позиции (больше года-дполутора) сидеть без смысла. Срок — субьективная оценка времени на предельное отточение скилла.

E__>ПЫСЫ А хочется-то все равно писать нормально, с нуля, чистенько. Эх, вот отпуск отгуляю — меняю место жительства и работу...


Для этого надо пробивной скилл, для обоснования начальству. Абсолютно трезвый подход к одним проектам (дизайн-дока-саппорт), бывает, соседствует с более классическим в отношении других (закодь сегодня как-нибудь, а завтра хоть трава не расти, да и не грузись, все равно другого девелопера посадим).
Re[11]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 17.07.06 07:33
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Нет, ты не понял. На собеседовании пусть напрягают, если по делу. Но делать "тестовые задания" на неделю объемом я не буду. Просто потому, что ценю свое время.


Невнимательно читаешь: тестовое задание не на неделю, а на 2-3 часа дизайна и 2-3 часа реализации. Формулировка, с которой мне, как кандидату, приходилось сталкиваться: "Мы надеемся, что в ближайшую неделю Вы сможете найти максимум 6 часов для выполнения нашего тестового задания".
Re[34]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 17.07.06 07:42
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>>>Александр Каширин очень точно подметил особенность простого кода. Вы никогда не сталкивались с проектами на десяток мегабайт очень-очень простого кода, где зависимости проявляются в самых неожиданных местах?

K>>Встречался. Но обьем кода совсем не мешал. Мой любимый метод навигации по коду — полнотекстовый поиск нужных идентификаторов по каталогу с сорсами. Часто приходится использовать и более точные инструменты поиска и навигации, но это уже по результатам полнотекстового поска, иногда с использованием резулярных выражений и только по частям идентификаторов.

ГВ>Вопрос в том, сколько времени уйдёт на эту самую навигацию.


Меньше (с). Я же не из любви к искусcтву так ищу. Возьмем сразу крайний случай — сколько у вас будет потеряно времени на исследование эффектов изменения какой-то переменной, которое описано в комментарии, расположенном в сорсе, где сама переменная не появляется ? В комментарии, понятно, и названия переменной нет, упомянуто представленное ей понятия, часть имени которого есть в имени переменной. Чтобы ничего такого не упустить, проводится сплошной поиск, а потом в найденном почти сразу видно нужное. Гораздо быстрее, чем если искать иными способами. В общем, полнотекстовый поиск с регэкспами — одна из важнейших фич code browser-а.

Один из наиболее простых примеров — найти закомментаренное применение того или иного метода.

ГВ>>>Да я тоже как-то не ратую за красоты ради красот. Просто наперёд трудно знать, что именно потребуется из механизмов C++. [...]


K>>Ситуация: есть код, есть опыт доработки этого кода, известно время, необходимое для каждого дополнительного улучшения; известно, что это время в данном проекте незначительно по сравнению со временем проработки планируемого обьема фич и внешних взаимодействий. Ситуация практически идеальна. Вопрос, зачем разрешать дополнительные фичи, если ни одного серьезного показателя это не улучит (поскольку они и так на максимуме), а ухудшить может вполне ?


ГВ>Во-первых, для каждого дополнительного улучшения наперёд всё знать невозможно.


Можно знать с достаточной точностью, которая по мере выполнения проектов повышается. Именно так и ведется планирование.

ГВ>Во-вторых, мы обсуждаем правомерность как раз первоначального запрета, потому вопрос о необходимости его снятия пока не стоит.


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

ГВ>Мотивация понятна: "чтобы не забыли сделать virtual destructor тогда, когда надо". Иными словами: "на всякий случай". Кстати, некогда я слышал о таком же "на всякий случай", но звучало это примерно так: "всё наследование должно быть виртуальным, все методы должны быть виртуальными". Не находите забавным?


Не нахожу. Я видел код студентов, видел код индусов. Вижу, что отсутствие виртуального дестраутора по умолчанию реально создает несравнимо больше проблем, чем пользы. У тех, что уже не студенты, он просто всегда есть. В общем, гайдлайн про виртуальные деструкторы выстрадан персонально.

Про виртуальное наследование — оно слишком мудрено. Сделали бы как в Java с интерфейсами вместо множественного и виртуального наследования (пусть даже с той же реализацией внутри), было бы куда понятнее.

K>>Еще, взоможно, я неточно выразился — имелось в виду определение новых шаблонов, а не применение уже имеющихся.


ГВ>В прикладном коде вполне могут специализироваться библиотечные шаблоны. Это считать созданием новых шаблонов или нет? Всё-ж таки, специализация — это не самая простенькая фича...


Зависит от типичности использования и пользы от него. Все, что можно за-typedef-ить и спрятать в шареные хидеры, относительно приемлемо. В хидерах.

Mikhail
Re[12]: Блин, ну откуда столько криворуких?
От: Дарней Россия  
Дата: 17.07.06 07:58
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Невнимательно читаешь: тестовое задание не на неделю, а на 2-3 часа дизайна и 2-3 часа реализации. Формулировка, с которой мне, как кандидату, приходилось сталкиваться: "Мы надеемся, что в ближайшую неделю Вы сможете найти максимум 6 часов для выполнения нашего тестового задания".


Даже в таком случае не стал бы. Ну если только компания сильно уж выдающаяся.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[35]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.07.06 14:07
Оценка:
Здравствуйте, kittown, Вы писали:

ГВ>>Вопрос в том, сколько времени уйдёт на эту самую навигацию.


K>Меньше (с). Я же не из любви к искусcтву так ищу. Возьмем сразу крайний случай — сколько у вас будет потеряно времени на исследование эффектов изменения какой-то переменной, которое описано в комментарии, расположенном в сорсе, где сама переменная не появляется ? В комментарии, понятно, и названия переменной нет, упомянуто представленное ей понятия, часть имени которого есть в имени переменной. Чтобы ничего такого не упустить, проводится сплошной поиск, а потом в найденном почти сразу видно нужное. Гораздо быстрее, чем если искать иными способами. В общем, полнотекстовый поиск с регэкспами — одна из важнейших фич code browser-а.


K>Один из наиболее простых примеров — найти закомментаренное применение того или иного метода.


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

ГВ>>>>Да я тоже как-то не ратую за красоты ради красот. Просто наперёд трудно знать, что именно потребуется из механизмов C++. [...]


K>>>Ситуация: есть код, есть опыт доработки этого кода, известно время, необходимое для каждого дополнительного улучшения; известно, что это время в данном проекте незначительно по сравнению со временем проработки планируемого обьема фич и внешних взаимодействий. Ситуация практически идеальна. Вопрос, зачем разрешать дополнительные фичи, если ни одного серьезного показателя это не улучит (поскольку они и так на максимуме), а ухудшить может вполне ?


ГВ>>Во-первых, для каждого дополнительного улучшения наперёд всё знать невозможно.

K>Можно знать с достаточной точностью, которая по мере выполнения проектов повышается. Именно так и ведется планирование.

Для определённого круга изменений — да, но не для всего вообще.

ГВ>>Во-вторых, мы обсуждаем правомерность как раз первоначального запрета, потому вопрос о необходимости его снятия пока не стоит.

K>Я не знаю что вы обсуждаете, но "правомерность" как таковую я вообще не обсуждаю, т.к. бред.

Тогда что вы обсуждаете? Насколько я понял, вы пропонируете ограниченям в использовании "фич" C++.

K>Руководители проекта абсолютно безусловно вправе разрешать-запрещать что угодно из фич языка в зависимости от нужд проекта и своего взгляда на них. Их действия ни в какой ситуации не могут быть неправомерны. Они могут быть лишь полезными или не полезными для проекта.


Это не аргумент. Потому что начальство можно и должно "пинать". В том числе и РП-ов. Или начальник — это "вообще закон"? Для сведения: начальник — всего лишь коллега с другой работой, он тоже может ошибаться. Завтра ему взбредёт в голову, что работать нужно по стойке "смирно" и тоже подчиняться "патамушташеф"?

ГВ>>Мотивация понятна: "чтобы не забыли сделать virtual destructor тогда, когда надо". Иными словами: "на всякий случай". Кстати, некогда я слышал о таком же "на всякий случай", но звучало это примерно так: "всё наследование должно быть виртуальным, все методы должны быть виртуальными". Не находите забавным?


K>Не нахожу. Я видел код студентов, видел код индусов. Вижу, что отсутствие виртуального дестраутора по умолчанию реально создает несравнимо больше проблем, чем пользы. У тех, что уже не студенты, он просто всегда есть. В общем, гайдлайн про виртуальные деструкторы выстрадан персонально.


Так может быть, дело в том, что специалистов несравнимо меньше, чем... э... вы поняли?

K>Про виртуальное наследование — оно слишком мудрено. Сделали бы как в Java с интерфейсами вместо множественного и виртуального наследования (пусть даже с той же реализацией внутри), было бы куда понятнее.


Какое есть, такое есть. Я озвучил только то, что некогда слышал — этих брожений вокруг C++ всегда тьма-тьмущая.

K>>>Еще, взоможно, я неточно выразился — имелось в виду определение новых шаблонов, а не применение уже имеющихся.


ГВ>>В прикладном коде вполне могут специализироваться библиотечные шаблоны. Это считать созданием новых шаблонов или нет? Всё-ж таки, специализация — это не самая простенькая фича...


K>Зависит от типичности использования и пользы от него. Все, что можно за-typedef-ить и спрятать в шареные хидеры, относительно приемлемо. В хидерах.


Понятно.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[36]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 17.07.06 14:46
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Да я не оспариваю приемлемость такого способа поиска. Просто в большом количестве исходников сложнее рыться, чем в малом.


А я про то, что от характера исходников это зависит несравнимо больше, чем от размеров. Хорошие рыхлые исходники листаются настолько быстрее, что повышенный обьем легко компенсируется, по сравнению с теми же исходниками, записанными компактно. Что уж говорить о головоломных фичах. На каждое правило найдется исключение, но тенденция такова.

ГВ>>>Во-вторых, мы обсуждаем правомерность как раз первоначального запрета, потому вопрос о необходимости его снятия пока не стоит.

K>>Я не знаю что вы обсуждаете, но "правомерность" как таковую я вообще не обсуждаю, т.к. бред.

ГВ>Тогда что вы обсуждаете? Насколько я понял, вы пропонируете ограниченям в использовании "фич" C++.


Да, но как уже упоминали, это относится к т.н. "основной массе кода". Мудреный код выносится в места, которым уделяется обособленное внимание. Скажем, в библиотеки. Еще такой тюнинговый код попадается в боттлнеках, при нормальном девелопере — с кучей комментариев-варнингов вокруг.

K>>Не нахожу. Я видел код студентов, видел код индусов. Вижу, что отсутствие виртуального дестраутора по умолчанию реально создает несравнимо больше проблем, чем пользы. У тех, что уже не студенты, он просто всегда есть. В общем, гайдлайн про виртуальные деструкторы выстрадан персонально.


ГВ>Так может быть, дело в том, что специалистов несравнимо меньше, чем... э... вы поняли?


При текущем состоянии дел значительная часть "квалификации" специалистов состоит в мастерстве хождения босиком по битому стеклу. А хотелось бы сначала вымести его метлой и ходить в ботинках.

Я думаю, что в c++ надо было бы сделать квалификатор класса, запрещающий наследование, а при его отсутствии сделать деструктор виртуальным безальтернативно. Таким образом были бы исключены классы-наследники с невиртуальным деструктором, но польза от них весьма сомнительна.

K>>Про виртуальное наследование — оно слишком мудрено. Сделали бы как в Java с интерфейсами вместо множественного и виртуального наследования (пусть даже с той же реализацией внутри), было бы куда понятнее.


ГВ>Какое есть, такое есть. Я озвучил только то, что некогда слышал — этих брожений вокруг C++ всегда тьма-тьмущая.


Я студентам про него рассказываю под соусом "смотрите, какая дичь еще бывает, с которой в нормальных фирмах вам возиться не придется", на примере хитрого даймонда из c++ faq lite. Чтобы, если вдруг увидят на собеседовании, не называли некомпилируемым кодом.
Re[2]: Блин, ну откуда столько криворуких?
От: priboy  
Дата: 17.07.06 16:10
Оценка:
Здравствуйте, DmitryMS.

5 Баллов.
Re[18]: Блин, ну откуда столько криворуких?
От: fmiracle  
Дата: 19.07.06 10:00
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


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

Бред какой-то. Советую постпать — все и пройдет
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: Блин, ну откуда столько криворуких?
От: Eurispheus Россия  
Дата: 19.07.06 15:37
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


Из чего вы сделали вывод о "выгоде" от безответственных и непорядочных сотрудников?
Я предпочту порядочного и ответственного непорядочному и безответственному, вот и всё.
Причем, ответственного буду стараться удержать уровнем компенсации.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 19.07.06 19:05
Оценка:
Здравствуйте, Eurispheus, Вы писали:

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


E>Из чего вы сделали вывод о "выгоде" от безответственных и непорядочных сотрудников?


Они не обладают конкурентными преимуществами по сравнению с другими. Соответственно, могут претендовать на меньшую компенсацию. Я согласен, что "выгода" тут сомнительная.

E>Я предпочту порядочного и ответственного непорядочному и безответственному, вот и всё.

E>Причем, ответственного буду стараться удержать уровнем компенсации.

А какова разница в компенсациях?
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: Блин, ну откуда столько криворуких?
От: LuciferMoscow Россия  
Дата: 19.07.06 21:04
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

E>>Ведь в реальности вся эта лабуда, типа изысков ООП, виртуальных деструкторов и паттернов, и даже виртуальных функций, почти не используется в реальных проектах.

АК>Смелое заявление. Особенно насчет виртуальных деструкторов. Если класс хоть от чего-то наследован, то не применять виртуальный деструктор — это высшая степень безграмотности. (Прошу не рассказывать мне о случаях, когда внутри класса нет ни одной виртуальной функции, а данные состоят только из элементарных типов: даже если это так, то я смотрю на будущее и допускаю появление таких элементов внутри класса при расширении функциональности программного продукта).
Это неверно. В таком случае деструктор может быть открытым и виртуальным или закрытымм и невиртуальным(Вроде, Саттер(с) )
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[5]: Блин, ну откуда столько криворуких?
От: Александр Каширин  
Дата: 20.07.06 09:54
Оценка:
Здравствуйте, LuciferMoscow, Вы писали:

LM>Здравствуйте, Александр Каширин, Вы писали:


E>>>Ведь в реальности вся эта лабуда, типа изысков ООП, виртуальных деструкторов и паттернов, и даже виртуальных функций, почти не используется в реальных проектах.

АК>>Смелое заявление. Особенно насчет виртуальных деструкторов. Если класс хоть от чего-то наследован, то не применять виртуальный деструктор — это высшая степень безграмотности. (Прошу не рассказывать мне о случаях, когда внутри класса нет ни одной виртуальной функции, а данные состоят только из элементарных типов: даже если это так, то я смотрю на будущее и допускаю появление таких элементов внутри класса при расширении функциональности программного продукта).
LM>Это неверно. В таком случае деструктор может быть открытым и виртуальным или закрытымм и невиртуальным(Вроде, Саттер(с) )

Интересно, как предлагается грамотно уничтожать объект с невиртуальным закрытым деструктором, скажем, в таком случае:



class A
{
protected:
    ~A()
    {
        // do something specific
    }
};

class B : public A
{
protected:
    unsigned char* buffer;

    // something that can dynamically allocate buffer

public:
    B() : buffer(NULL) {}   
    ~B() 
    {
        if(buffer)
            delete [] buffer;
    }
};

class FactoryA
{
public:
    static A* getInstance() = 0;
};

class FactoryB
{
public:
    static A* getInstance()
    {
        return new B;
    }
};


int main()
{
    A* a = FactoryB::getInstance();

    // how to clean up here???

    return 0;
}


ИМХО, это типичный пример использования определенного круга задач ООП (в частности, полиморфизм). И как в данном случае обойтись без виртуального деструктора?
Re[6]: Блин, ну откуда столько криворуких?
От: LuciferMoscow Россия  
Дата: 26.07.06 20:50
Оценка:
Здравствуйте, Александр Каширин, Вы писали:
E>>>>Ведь в реальности вся эта лабуда, типа изысков ООП, виртуальных деструкторов и паттернов, и даже виртуальных функций, почти не используется в реальных проектах.
АК>>>Смелое заявление. Особенно насчет виртуальных деструкторов. Если класс хоть от чего-то наследован, то не применять виртуальный деструктор — это высшая степень безграмотности. (Прошу не рассказывать мне о случаях, когда внутри класса нет ни одной виртуальной функции, а данные состоят только из элементарных типов: даже если это так, то я смотрю на будущее и допускаю появление таких элементов внутри класса при расширении функциональности программного продукта).
LM>>Это неверно. В таком случае деструктор может быть открытым и виртуальным или закрытымм и невиртуальным(Вроде, Саттер(с) )
АК>Интересно, как предлагается грамотно уничтожать объект с невиртуальным закрытым деструктором, скажем, в таком случае:
<skipped>
АК>ИМХО, это типичный пример использования определенного круга задач ООП (в частности, полиморфизм). И как в данном случае обойтись без виртуального деструктора?
Согласен. У каждого правила есть свои исключения.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re: Блин, ну откуда столько криворуких?
От: StanislavK Великобритания  
Дата: 27.07.06 06:49
Оценка:
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.

Когда все плохо, то обычно дело в яицах
Re[6]: Блин, ну откуда столько криворуких?
От: Ael США  
Дата: 27.07.06 17:47
Оценка:
Здравствуйте, borisman3, Вы писали:

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


_O_>>>Многие, кстати, не способны написать сортировку.

xog>>Зачем ее писать если есть стандартные способы реализации ?

B>Ну уж извините, сортировку пузырем написать должен каждый. Ибо помнить прадедов .


B>ОФФТОП мне часто приходится сортировать пузырем, т.к. далеко не везде есть готовые стандартные библиотечные реализации реализации.


Если уж какую-то одну помнить, то почему именно бабблсорт, а не квик или мердж сорт? Или уж на худой конец инсерт, кот. легче запомнить. Зачем помнить бабблсорт?


Due to its simplicity, the bubble sort is often used to introduce the concept of an algorithm to introductory programming students. However, some researchers such as Owen Astrachan have gone to great lengths to disparage bubble sort and its continued popularity in computer science education, recommending that it no longer even be taught.[1] The Jargon file, which famously calls bogosort "[t]he archetypical perversely awful algorithm", also calls bubble sort "the generic bad algorithm".[2] Don Knuth, in his famous The Art of Computer Programming, concluded that "the bubble sort seems to have nothing to recommend it, except a catchy name and the fact that it leads to some interesting theoretical problems", some of which he discusses therein.
Re[7]: Блин, ну откуда столько криворуких?
От: Pyromancer  
Дата: 27.07.06 18:04
Оценка:
Здравствуйте, Ael, Вы писали:

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


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


_O_>>>>Многие, кстати, не способны написать сортировку.

xog>>>Зачем ее писать если есть стандартные способы реализации ?

B>>Ну уж извините, сортировку пузырем написать должен каждый. Ибо помнить прадедов .


B>>ОФФТОП мне часто приходится сортировать пузырем, т.к. далеко не везде есть готовые стандартные библиотечные реализации реализации.


Ael>Если уж какую-то одну помнить, то почему именно бабблсорт, а не квик или мердж сорт? Или уж на худой конец инсерт, кот. легче запомнить. Зачем помнить бабблсорт?


Часто приходится сортировать пузырём?Ужос
На самом деле практически единственный случай, когда это оправдано это если входной массив отличается от отсортированого на один элемент. То есть добавили один элемент или что-то изменилось и его позиция должна смениться, тогда да, за один проход всё отсортируется, за линейное время.
А применять пузырь часто и везде признак кривизны рук ->
Re[8]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 28.07.06 07:44
Оценка:
P>На самом деле практически единственный случай, когда это оправдано это если входной массив отличается от отсортированого на один элемент.

Не единственный. Используется внутри эффективных реализаций квиксорта, когда дело доходит до сортировки совсем небольших массивов.
Re[9]: Блин, ну откуда столько криворуких?
От: Pyromancer  
Дата: 28.07.06 19:04
Оценка:
Здравствуйте, jhfrek, Вы писали:

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


P>>На самом деле практически единственный случай, когда это оправдано это если входной массив отличается от отсортированого на один элемент. То есть добавили один элемент или что-то изменилось и его позиция должна смениться, тогда да, за один проход всё отсортируется, за линейное время.

P>>А применять пузырь часто и везде признак кривизны рук ->

J>Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.


А через пару месяцев программу кто-нибудь расширит и будет 10000 элементов, вот ведь здорово получится
Re[10]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 01.08.06 15:33
Оценка:
Здравствуйте, Pyromancer, Вы писали:

J>>Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.

P>А через пару месяцев программу кто-нибудь расширит и будет 10000 элементов, вот ведь здорово получится

Ну врятли откроют 10000 планет, вращающихся вокруг Солнца
Re[11]: Блин, ну откуда столько криворуких?
От: Pyromancer  
Дата: 01.08.06 17:54
Оценка:
Здравствуйте, jhfrek, Вы писали:

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


J>>>Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.

P>>А через пару месяцев программу кто-нибудь расширит и будет 10000 элементов, вот ведь здорово получится

J>Ну врятли откроют 10000 планет, вращающихся вокруг Солнца


Ну если у вас уже планеты новые появляются, исчезают или меняются регулярно и их приходится сортировать то ещё 10000 планет не является чем-то невозможным
Re[12]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 01.08.06 18:31
Оценка:
Здравствуйте, Pyromancer, Вы писали:

J>>Ну врятли откроют 10000 планет, вращающихся вокруг Солнца


P>Ну если у вас уже планеты новые появляются, исчезают или меняются регулярно и их приходится сортировать то ещё 10000 планет не является чем-то невозможным


А догадаться что планеты — это первое что пришло мне в голову как пример постоянства количества?
Re[3]: Блин, ну откуда столько криворуких?
От: Fib  
Дата: 01.03.07 08:50
Оценка:
Здравствуйте, DmitryElj, Вы писали:

DE>Здравствуйте, Дарней, Вы писали:


Д>>PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.


DE>У меня такое ощущение, что эти вопросы задаются исключительно с целью занизить предлагаемую зарплату на собеседовании Чтобы всегда можно было задать "сложный" вопрос типа "а какой GUID у IXMLDomDocument" (для программеров), или "серийный ключ Винды" (для сисадминов), или "IP-адрес сайта Майкрософт" (для web-девелоперов) а затем со знанием собственного превосходства сказать "ну на такую зарплату вы явно не подходите, можем предложить в 2 раза ниже"


Это точно! Но вполне возможно, что они ждут ответа, типа, а зачем мне запоминать всю эту ерунду, когда можно найти там-то, там-то и там-то. и реализовать вот таким способом... и если все это звчит здраво, работодатель оценит ответ
Re[11]: Блин, ну откуда столько криворуких?
От: Smetanin Россия  
Дата: 02.03.07 04:35
Оценка:
Здравствуйте, jhfrek, Вы писали:

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


J>>>Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.

P>>А через пару месяцев программу кто-нибудь расширит и будет 10000 элементов, вот ведь здорово получится

J>Ну врятли откроют 10000 планет, вращающихся вокруг Солнца


А зачем планет? Следующий программист просто не нарушая общности добавит в массив вместе с планетами все их спутники, кометы, исскусственные спутники и вообще все, что летает в Солнечной системе. Вуаля.
May the source be with you!
Re[12]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 02.03.07 08:06
Оценка:
Здравствуйте, Smetanin, Вы писали:

J>>Ну врятли откроют 10000 планет, вращающихся вокруг Солнца

S>А зачем планет? Следующий программист просто не нарушая общности добавит в массив вместе с планетами все их спутники, кометы, исскусственные спутники и вообще все, что летает в Солнечной системе. Вуаля.

Хм, а строгая типицация на что? Да и не надо наследовать все что летает от планеты
Re[11]: Блин, ну откуда столько криворуких?
От: Вячеслав Россия  
Дата: 02.03.07 09:02
Оценка:
Здравствуйте, AmSpb, Вы писали:

AS>Это наверное такие шаманские слова, как то: "соц. пакет", "фитнес", "хороший корпоративный дух". Но я предпочитаю деньги заместо слов


Есть ещё куча фишек из разряда т.н. "тимдебилдинга" о которых будут рассказывать уже работающие, это из того же разряда. Но действует на молодых и глупых, те кто постарше и семейные, обычно работу ищут сравнивая финансовые выгоды и режим работы по времени.
Re[17]: Блин, ну откуда столько криворуких?
От: Вячеслав Россия  
Дата: 02.03.07 09:19
Оценка:
Здравствуйте, Александр Каширин, Вы писали:

АК>Здравствуйте, egaron, Вы писали:


E>>Ты предлагаешь каждый раз, попадая в плохо платящую контору, тотчас же писать заявление ?

E>>и получать
E>>1.1.1. Лишниюю запись в трудовой книжке, потрящей твою трудовую биографию и характеризующей как летуна
E>>1.1.2. поиск новой работы со всеми "плюсами" — нервы с выбором варианта, езда по собеседованиям, время, потраченное на выполнения тестовых (при том все время поиска вам никто ничего не платит)
E>>+ потеря отпуска

АК>Во-первых, я лично не считаю лишнюю запись в трудовой книжке порчех биографии и характеристикой как летуна.

АК>А во-вторых, при увольнении с предыдущего места работы вы получаете компенсацию неиспользованного отпуска, которую вполне можно для себя посчитать как оплату того времени, которое вы затратили на поиск новой работы. А кроме того, при смене места работы вполне можно себе отпуск устроить — кто же будет возражать?

Полностью согласен. Перестало что-то удовлетворять — заявление.
По себе замечал, найти работу можно легко, просто нужно немного терпения, из-за того, что то чего хочется нечасто появляется.
А по поводу трудовой У меня она исписана почти полностью за последние 8 лет и это в основном переводы внутри одной конторы и её переименований и что?
И кстати, есть такое мнение, что трудовые скоро отменяться (через несколько лет), вместо нее будут использоваться данные пенсионного фонда. Во всяком случае готовится соответствующий законопроект.
Re[18]: Блин, ну откуда столько криворуких?
От: dmur Россия  
Дата: 03.03.07 11:23
Оценка:
Здравствуйте, Вячеслав, Вы писали:
В>И кстати, есть такое мнение, что трудовые скоро отменяться (через несколько лет), вместо нее будут использоваться данные пенсионного фонда. Во всяком случае готовится соответствующий законопроект.
Лучше почитай сам закон.
http://www.consultant.ru/popular/pensia/
Страховая и накопительная часть пенсии зависят от страхового стажа.

В страховой стаж включаются периоды работы и (или) иной деятельности, которые выполнялись на территории Российской Федерации лицами, указанными в части первой статьи 3 настоящего Федерального закона, при условии, что за эти периоды уплачивались страховые взносы в Пенсионный фонд Российской Федерации.

... << RSDN@Home 1.2.0 alpha rev. 668>>
Re[2]: Блин, ну откуда столько криворуких?
От: Polynik Leto Ниоткуда  
Дата: 03.03.07 13:05
Оценка:
Здравствуйте, Дарней, Вы писали:

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


Д>хотел бы я знать, что ты понимаешь под "основами ООП"


Д>PS у меня есть один знакомый, который не понимает толком разницы между виртуальными и невиртуальными функциями. Точнее, раньше не понимал Но при этом он пишет вполне качественный код — во всяком случае, намного лучше многих других наших коллег


Д>PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.


Мой излюбленный вопрос — чем отличается виртуальный деструктор от не виртуального. Именно в С++ это достаточно важно, а писать хорошие алгоритмы можно совершенно без знания ОПП например на perl. Какие я программки шаманил — никому не разобрать, даже мне через месяц . Но некоторым минимумом знаний (хотябы чтобы начать) специалист должен обладать, а главное уметь их корректно применить в данном случае если хочет писать на C++ надо знать азы ОПП.
Re: Блин, ну откуда столько криворуких?
От: Polynik Leto Ниоткуда  
Дата: 03.03.07 13:09
Оценка:
Здравствуйте, DaBro, Вы писали:

DB>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.

DB>Обычный кандидат не знает самых основ ООП но зато уже готов быть архитектором, получать больше чем самые квалифицированные разработчики из числа моих знакомых и уже успел поуправлять командой программистов (что же это за команда то была?). И это при том что ко мне такие перцы попадают из рук архитектора проекта и если я скажу да то мне потом с таким персонажем мучатся до конца проекта. Поэтому я естественно говорю твердое нет. Те же кто подходит для наших нужд в подавляющем большинстве не приходят работать. И я даже не знаю почему — мне об этом не говорят. Может нашего работодателя жаба душит? И вроде далеко не последняя софтверная контора...
DB>Чегож так мало хороших программистов то у нас.

ХОРОШИХ специалистов(не только программистов) ВСЕГДА мало. Есть такой закон Старджона — "90% всего что есть на свете — дерьмо" А кто это такой пряморукий изыскался? ))
Re[9]: Блин, ну откуда столько криворуких?
От: Polynik Leto Ниоткуда  
Дата: 03.03.07 13:23
Оценка:
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>Здравствуйте, Pyromancer, Вы писали:


P>>Если за всем лезть в интернет то когда же работать? И вообще, найдёт такой чудо-рабоник с незахламлённым мозгом в интернете реализацию пузырьковой сортировки студента первого курса Васи Пупкина и влепит её в проект, мозг-то незахламлён лишними знаниями даже названий алгоритмов сортировки.


КЛ>Вот и проверять нужно не знание конкретного алгоритма (даже если человек знает пузырьковую сортировку, не факт, что он сможет корректно написать алгоритм отсечения), а умение пользоваться справочными средствами (MSDN, Интернет), умение найти необходимый алгоритм и умение его правильно адаптировать.


Ну да тут далеко можно зайти — балансировка бинарного дерева и т.д. У меня целая книга — "Основные алгоритмы на ...". Полезная вещь но на память я процентов 20% из нее знаю и то потому что часто применял. А с другой стороны гуглов на работу тоже не хочется брать. Вообще подбор кадров сложное дело. По моему главные качества это желание(мотивированное правильно), целеустремленность, интеллект и добросовестность. А это можно проверить только дав человеку какое-нибудь задание и проверив результаты. Как мы дерево по плодам его оцениваем ...
Re[5]: Блин, ну откуда столько криворуких?
От: Tiamer  
Дата: 12.03.07 08:10
Оценка:
А затем, что некоторые перцы используют обычный поиск для сортированного массива вместо бинарного, только потому, что
не знают чем они отличаются. Или в теле цикла делают штук пять сортировок(так я же поменял два элементика! надо снова сортировать..) для огромных массивов там где можно обойтись
и без этого. Или... Вообщем я лично за то чтобы уж если человек использует что-то то хоть примерно нужно знать
как оно работает внутри.
Re[4]: вопрос по ООП
От: olegkr  
Дата: 12.03.07 12:50
Оценка:
Здравствуйте, Ушастый Ёж, Вы писали:

УЁ>Знать 5 базовых принципов ООП просто обязательно.

О! Уже пять! И какой из них пятый? На самом деле принципов ООП побольше будет и не всегда понятно, какие из них базовые и сколько их вообще.
Re[33]: Блин, ну откуда столько криворуких?
От: NikeByNike Россия  
Дата: 12.03.07 15:25
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, Александр Каширин, Вы писали:


АК>>Да, собственно, мой предыдущий ответ был скорее на тему "просто программистов не си-шников", и я хотел показать, что "просто программисту" в любом случае предстоит стать "си-шником", чтобы разбираться в С-шных проектах. Что Дарней опровергает


Д>С++ слишком часто превращают в птичий язык, вот что я хочу сказать. Пример с мегаупакованным циклом копирования — один из ярких примеров. Вместо того, чтобы написать одну функцию копирования и использовать, люди занимаются фигней


Нормальные люди используют memcpy или =, а не самопальные велосипеды.
После прочтения ветки даже страшно спрашивать про Ваше отношение к boost и stl, в контексте выпендрежа, понимаемости и т.п.
Нужно разобрать угил.
Re[19]: Блин, ну откуда столько криворуких?
От: NikeByNike Россия  
Дата: 12.03.07 21:09
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Из чего вы сделали вывод о "выгоде" от безответственных и непорядочных сотрудников?

E>Я предпочту порядочного и ответственного непорядочному и безответственному, вот и всё.
E>Причем, ответственного буду стараться удержать уровнем компенсации.

А здесь есть интересный момент, если этот порядочный и ответственный в какой-то момент решит отчалить из фирмы по причине допустим недостаточного уровня компенсации (ну допустим решили не спешить переплачивать), то он сразу становится непорядочным и безответственным, недостойным этой самой компенсации
Нужно разобрать угил.
Re[9]: Блин, ну откуда столько криворуких?
От: NikeByNike Россия  
Дата: 12.03.07 21:14
Оценка:
Здравствуйте, jhfrek, Вы писали:

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


P>>На самом деле практически единственный случай, когда это оправдано это если входной массив отличается от отсортированого на один элемент. То есть добавили один элемент или что-то изменилось и его позиция должна смениться, тогда да, за один проход всё отсортируется, за линейное время.

P>>А применять пузырь часто и везде признак кривизны рук ->

J>Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.


хм, std::sort?
Нужно разобрать угил.
Re[10]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 13.03.07 07:06
Оценка:
Здравствуйте, NikeByNike, Вы писали:


J>>Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.


NBN>хм, std::sort?


Хм, а кроме С++ языков нет?
Re[11]: Блин, ну откуда столько криворуких?
От: NikeByNike Россия  
Дата: 13.03.07 09:04
Оценка:
Здравствуйте, jhfrek, Вы писали:

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



J>>>Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.


NBN>>хм, std::sort?


J>Хм, а кроме С++ языков нет?


Вроде в этом топике обсуждаем именно С++

А потом — какие такие другие языки? Какие-то распостраненные языки не имеют функций сортировки?
Нужно разобрать угил.
Re[12]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 13.03.07 09:48
Оценка:
Здравствуйте, sc, Вы писали:

sc>По моему в каждом языке есть стандарные для этого языка ф-ции/классы/методы сортировки. Например питон:


например питон — это тоже не все языки равно как и численный массив — это не все массивы.
Re[12]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 13.03.07 09:56
Оценка:
Здравствуйте, NikeByNike, Вы писали:

J>>Хм, а кроме С++ языков нет?

NBN>Вроде в этом топике обсуждаем именно С++

из начального сообщения топика это не следует

NBN>А потом — какие такие другие языки? Какие-то распостраненные языки не имеют функций сортировки?


Ассемблер , и не говори что он не распространен. Дельфи, кстати, тоже
Re[13]: Блин, ну откуда столько криворуких?
От: sc Россия  
Дата: 13.03.07 16:26
Оценка:
Здравствуйте, jhfrek, Вы писали:

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


sc>>По моему в каждом языке есть стандарные для этого языка ф-ции/классы/методы сортировки. Например питон:


J>например питон — это тоже не все языки равно как и численный массив — это не все массивы.


да это вроде бы список был, и следующий код это подтверждает:
>>> b = ['abc', 'aaz', 3, 0.003]
>>> b.sort()
>>> b
[0.0030000000000000001, 3, 'aaz', 'abc']

прекрасно сортирует список из разных типов!
ассемблер — это и не язык, а мнемоники команд процессора
дельфи, скорее всего там есть ф-ции сортировки, я уже не помню, но чувствую что должны быть
в остальных судя по всему сортировка есть.
Re[14]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 14.03.07 06:50
Оценка:
Здравствуйте, sc, Вы писали:

sc>в остальных судя по всему сортировка есть.


Ну видишь, как тебе повезло что во всех языках, на которых ты программируешь, есть сортировка
Re[12]: Блин, ну откуда столько криворуких?
От: _Morpheus_  
Дата: 16.03.07 11:25
Оценка:
Здравствуйте, Smetanin, Вы писали:

J>>>>Ага, понадобилось мне отсортировать массив из 10 элементов — мне квиксорт мутить? Я че быстрее вспомню — то и напишу.

P>>>А через пару месяцев программу кто-нибудь расширит и будет 10000 элементов, вот ведь здорово получится

J>>Ну врятли откроют 10000 планет, вращающихся вокруг Солнца


S>А зачем планет? Следующий программист просто не нарушая общности добавит в массив вместе с планетами все их спутники, кометы, исскусственные спутники и вообще все, что летает в Солнечной системе. Вуаля.


когда добавлять будет должен не забыть добавить новую сортировку
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[8]: Блин, ну откуда столько криворуких?
От: kost-BebiX Украина http://fedorastones.blogspot.com
Дата: 18.03.07 22:23
Оценка:
Здравствуйте, krasin, Вы писали:

K>На ВМиК МГУ, на ряде кафедр уже четыре года подряд читается курс по .net


КПИ ФИВТ . Pascal. Попытался заикнуться про нечто C++ — был отослан далеко-далеко.
Зато на факультте ТЭФ — учат C++ (сволочи, лучше б у них училсо). Причем препад явно шарящий, рассказывает без откровенных лаж и по делу (а не как нам аля "ООП — это как девушки...").
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Если программист в рабочее время играет, значит —
либо у него мало работы и большая зарплата,
либо у него много работы и маленькая зарплата.
Re[9]: Блин, ну откуда столько криворуких?
От: kost-BebiX Украина http://fedorastones.blogspot.com
Дата: 18.03.07 23:52
Оценка:
Здравствуйте, borisman3, Вы писали:

B>Не трожь пузыря! У этого метода есть свои сильные стороны (например, предсказуемость времени выполнения).


А мне вот пузырь тоже оч нравится просто благодаря всяким там его оптимизациям и гибридам
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Если программист в рабочее время играет, значит —
либо у него мало работы и большая зарплата,
либо у него много работы и маленькая зарплата.
Re[7]: Блин, ну откуда столько криворуких?
От: kost-BebiX Украина http://fedorastones.blogspot.com
Дата: 18.03.07 23:53
Оценка:
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>И не надо знать. Ненужное захламление мозга. Проблема-то на пару минут поиска в Интернете.


Хорошо. А чем нужно захламлять?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Если программист в рабочее время играет, значит —
либо у него мало работы и большая зарплата,
либо у него много работы и маленькая зарплата.
Re[4]: Блин, ну откуда столько криворуких?
От: kost-BebiX Украина http://fedorastones.blogspot.com
Дата: 18.03.07 23:53
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Многие, кстати, не способны написать сортировку.


На одном из флеш-мобов где надо было вспоминать школу и писать мелом на асфальте формулы математики, физики и т.п. я написал quicksort
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Если программист в рабочее время играет, значит —
либо у него мало работы и большая зарплата,
либо у него много работы и маленькая зарплата.
Re[5]: Блин, ну откуда столько криворуких?
От: Glоbus Украина  
Дата: 19.03.07 08:05
Оценка:
Здравствуйте, xog, Вы писали:

_O_>>Многие, кстати, не способны написать сортировку.

xog>Зачем ее писать если есть стандартные способы реализации ?

А зачем уметь читать? Есть же аудиокнижки
Удачи тебе, браток!
Re[9]: Блин, ну откуда столько криворуких?
От: Ux  
Дата: 20.03.07 08:11
Оценка:
Здравствуйте, kost-BebiX, Вы писали:

KB>КПИ ФИВТ . Pascal. Попытался заикнуться про нечто C++ — был отослан далеко-далеко.


Кафедра ВТ? Уже, вроде, на Линукс и БСД перешла. Кроме Бузовского естественно.

Я только после получения диплома смог серьёзно заняться С++. Сейчас занимаюсь Линукс + С.

KB>Зато на факультте ТЭФ — учат C++ (сволочи, лучше б у них училсо). Причем препад явно шарящий, рассказывает без откровенных лаж и по делу (а не как нам аля "ООП — это как девушки...").


Гордыня главнейший из грехов человечества. Это я про преподавателей.
Re[10]: Блин, ну откуда столько криворуких?
От: kost-BebiX Украина http://fedorastones.blogspot.com
Дата: 21.03.07 00:13
Оценка:
Здравствуйте, Ux, Вы писали:
(скип)

Да, именно ВТ. Да, именно Бузовский. Он, кстати, в больнице сейчас, проблемы какие-то со здоровьем, поэтому заменяют разные люди.

Паскаль у нас — святая святых. Поэтому лексикон матов у меня пополнился неплохо за последние дни индусописания (проектирую — все красиво, все вкусно. реализация -... ну все равно криво оно как-то...)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Если программист в рабочее время играет, значит —
либо у него мало работы и большая зарплата,
либо у него много работы и маленькая зарплата.
Re[13]: Блин, ну откуда столько криворуких?
От: ironwit Украина  
Дата: 11.04.07 10:16
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Здравствуйте, Александр Каширин, Вы писали:



АК>>Я попытаюсь объяснить на примере... Предположим, что у нас есть два юнита: парень и девушка Оба юнита можно замечательно

L>Хм.. пример, конечно, интересный, но есть одно но — данная конкретная девушка и данный конкретный парень вовсе не разрабатывались для создания пары (о, как звучит!). Вот тут и понадобится последующая шлифовка-притирка, если пара таки создастся.

класс visiter ?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Я не умею быть злым, и не хочу быть добрым.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.