Re[16]: труд программера переоценен
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 30.12.05 12:13
Оценка:
Здравствуйте, Gorbatich, Вы писали:

A>>И что? Не спрашивали же про соседей справа и слева. A>подразумевается ВСЕХ соседей. Сосед 1.

G>Тут ясновидящих, телепатов и прочих медиумов нет. И кем же это подразумевается?
Математикой за первый курс.
Слово "всех" достаточно часть пропускается в математических определениях где используется множественое число.
Да и в матане точку не перестают считать экстремумом из-за того что она на конце отрезка.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[12]: труд программера переоценен
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 30.12.05 12:16
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Ну вот, почти договорились.


Pzz>А теперь представьте себе, что Вы по каким-то причинам вынуждены

Pzz>работать с последовательностью, которую два раза туда-сюда не пробежишь.
Pzz>Например, это не последовательность целых чисел, а последовательность
Pzz>товарных вагонов, и пробег по последовательности означает физическое их
Pzz>перемещение. А мазута (для тепловоза) у Вас конечное количество. Будет
Pzz>Ваш алгоритм работать с такой последовательностью?

Все проще есть такая штука как istream_iterator, он только forward.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[18]: труд программера переоценен
От: A_l_e_x_e_y Россия  
Дата: 30.12.05 12:51
Оценка:
Здравствуйте, Трофимов, Вы писали:
A__>>А вообще по поводу уточнения задания... Я просто достаточно с этим шишек набил. Не всегда творчество приносит пользу. При наличии неких разночтений всегда лучше уточнить у заказчика. Иначе потом придётся делать всё заново так, как ему это нравится.
Т>Всякие заказчики бывают. Когда я к одному приставал с вопросами, он мне отвечал: да хрен знает, ты сам что-нибудь придумай, а мы посмотрим. А когда я предъявлял, слышал: Вот! Вот так точно не надо!

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

ЗЫ. В вашем случае согласование с заказчиком таки было проведено.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Re[14]: труд программера переоценен
От: Pzz Россия https://github.com/alexpevzner
Дата: 31.12.05 00:32
Оценка: +1
Glоbus wrote:
>
> Pzz>Пусть это оценивают знатоки C++
>
> Pzz>Я к их числу не принадлежу...
>
> Не понял — а как же вы, уважаемый, оцениваете решения, предложенные
> кандидатами?

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

1. Я просил подсчитать локальные максимумы в массиве. Не в C++'ном
контейнере, а именно в массиве. Т.е., задание понято неверно.

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

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

Интересно, что человеку, который ничего не понимает в C++'ных
итераторах, но хоть немного понимает в алгоритмах, это бросается в глаза
сразу. Из этого можно сделать вывод, что компутерная наука еще не
достигла такого состояния, когда можно собирать программы из готовых
компонентов, не задумываясь, что у этих компонентов внутри (и достигнет
ли? Не является ли идея компонентного программирования вредной иллюзией?).

4. На ту же тему — Вам нужно уметь отматывать последовательность назад
(--last_it). Не для всякой последовательности это возможно или легко, и
это тоже совершенно избыточное требование.

5. Насколько я понял, val_it должен ссылаться на текущий элемент
последовательности, prev_it — на предыдущий, и next_it — на следующий за
ним. Однако prev_it Вы инкрементируете только один раз, в самом начале.

6. У Вас слишком много переменных, без которых можно было бы обойтись.
Вы заводите переменную nCurr, только для того, чтобы (неправильно!)
контролировать, когда Вы можете инкрементировать prev_it, и переменную
last_it, чтобы контролировать, докуда можно инкрементировать next_it.
Обе эти переменные излишни, и только усложняют код.

7. Ваша программа сломается на последовательности из одного элемента:
++next_it вначале программы сделает next_it равным end_it, после чего Вы
попробуете воспользоваться значением *next_id.

8. Вообще, Ваше решение чрезмерно усложнено. Такой код трудно понимать,
и трудно поддерживать.
Posted via RSDN NNTP Server 2.0
Re[25]: труд программера переоценен
От: Pzz Россия https://github.com/alexpevzner
Дата: 31.12.05 00:40
Оценка:
Vogul wrote:
>
> Pzz>if( a[i-1] < a[i] && a[i] > a[i+1] ) ...
>
> Pzz>И далее совершенно естественно возникает вопрос о диапазоне i, в котором
> Pzz>определены a[i-1] и a[i+1].
>
> А потом, как уже говорили, возникает вопрос о поведении алгоритма на
> границах.
> Допустим, что и на границах алгоритм должен находить максимумы,
> следовательно значения за пределами массива равны минус бесконечность.
> Если рассматривать приращения, то, в этом случае, достаточно лишь
> определить на границах любое отрицательное приращение.

С границами все равно ничего не получится сделать, кроме как явно с ними
разбираться. Это происходит 1) из-за ограниченности диапазона целых
чисел в компутере 2) отсутствия специальных значений для плюс/минус
бесконечности (INT_MAX и INT_MIN не являются такими значениями).

Мне кажется, для Вас переход от массива целых чисел к непрерывной
числовой прямой совершенно естественнен. Для меня же он совершенно
противоестественнен.

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

> Pzz>Вообще говоря, выгоднее бежать по массиву до тех пор, пока разность

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

Да, я чуть было не употребил слово "производная", и специально переписал
свое рассуждение без него. Это было Ваше влияние!

>>> Заметьте, что

>>>
>>> a[i+1] — a[i] > 0 тождественно a[i] < a[i+1]
>>>
>>> это как раз и поводит четкую математическую основу под решение задачи, а
>>> такая основа придает уверенность в правильности решения.
>
> Pzz>Заметил, но для меня это совершеннейшая тавтология
>
> Это тавтология до тех пор, пока мы рассмотриваем одномерный массив целых
> чисел.

Все равно, не понимаю.
Posted via RSDN NNTP Server 2.0
Re[12]: труд программера переоценен
От: Pzz Россия https://github.com/alexpevzner
Дата: 31.12.05 01:01
Оценка:
Anatolix wrote:
>
>>> Маленькая поправка: ВСЮ разработку выводят компании у которых написание
>>> софта не основная ключевая компетенция,
>>> не вопрос отдать всю бухгалтерию и бизнес приложения. Ни одна компания
>>> не отдаст в oursource свою ключевую компетенцию.
>>> Google или Microsoft никогд разработку не заоутсорсят. (Google
>>> попыталась, но не аутсорсом, а сделав свой R&D центр в индии.
>>> По достоверным слухам потерпела неудачу)
>
> Pzz>Опровергающий пример: Skype пишет небольшая команда в Эстонии.
>
> Skype с самого начала в эстонии писался как и kazaa, кроме того это не
> аусторс, а вполне себе офис компании skype, просто не в США.

Это был опровергающий пример к Вашим рассуждениям о Google.

Я думаю, такая модель будет практиковаться все больше и больше: компания
американская, а core team сидит где-нибудь в России или Индии.
Действительно, это надо отличать от outsource. Работать в такой компании
гораздо приятнее, чем в аутсорсинговой.
Posted via RSDN NNTP Server 2.0
Re[23]: труд программера переоценен
От: Olegator  
Дата: 31.12.05 16:53
Оценка: 8 (1) +9
Здравствуйте, Gorbatich, Вы писали:

G>Не допускается проявление грубого или неуважительного...

G>указывать на орфографические и синтаксические ошибки и т. д.

ИМХО, глупое правило, по крайней мере в такой формулировке. Я бы предложил изменить так:

...указывать на орфографические и синтаксические ошибки в грубой форме запрещается.


Иногда просто раздражают орфографические ошибки (не опечатки). И по мне так лучше, чтобы мне указали, и я потом всю жизнь правильно писал, чем соблюдать ханженскую политкорректность. Хоть грамотность повысится у посетителей.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[5]: труд программера переоценен
От: Xentrax Россия http://www.lanovets.ru
Дата: 01.01.06 07:46
Оценка: 1 (1) +1
Здравствуйте, olegkr, Вы писали:

M>>1. Аутсорсить в Индию/Китай

M>>2. Аутсорсить в Россию
M>>3. Не аутсорсить вообще, т.е. разрабатывать софт у себя в Европе/США.

M>>Назовите мне причины по которым заказчик выберет вариант #2?


O>Вариант 3 отпадает по простой причине — даже при одинаковой зарплате расходы на одного девелопера в европе выше в разы. Причины — высокие налоги, социалка, тот же офис, инфраструктура. Кроме того, хорошие местные девелоперы в той же Англии чуть-ли не поголовно сидят в консалтерах, а консалтеры стоят дорого, очень дорого.



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

Поэтому пока московской зарплате еще далеко даже до зарплаты низкоквалифицированных западных кадров, беспокоиться за аутсорсинг не надо.
Re[22]: труд программера переоценен
От: Gorbatich  
Дата: 01.01.06 20:26
Оценка:
Здравствуйте, Pzz, Вы писали:

Давайте завершим наш спор. "Правильную" версию программы в студию!!!
Re[23]: труд программера переоценен
От: Pzz Россия https://github.com/alexpevzner
Дата: 01.01.06 22:03
Оценка:
Gorbatich wrote:
>
> Давайте завершим наш спор. "Правильную" версию программы в студию!!!

Ну вот, например:

http://rsdn.ru/forum/?mid=1568364
Автор: Vogul
Дата: 29.12.05
Posted via RSDN NNTP Server 2.0
Re[13]: труд программера переоценен
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 02.01.06 16:43
Оценка:
Здравствуйте, Pzz, Вы писали:

>> Pzz>Опровергающий пример: Skype пишет небольшая команда в Эстонии.

>>
>> Skype с самого начала в эстонии писался как и kazaa, кроме того это не
>> аусторс, а вполне себе офис компании skype, просто не в США.

Pzz>Это был опровергающий пример к Вашим рассуждениям о Google.


Pzz>Я думаю, такая модель будет практиковаться все больше и больше: компания

Pzz>американская, а core team сидит где-нибудь в России или Индии.
Pzz>Действительно, это надо отличать от outsource. Работать в такой компании
Pzz>гораздо приятнее, чем в аутсорсинговой.

К этому идём. Посмотрите на Акронис, SW-Soft, Аэлиту и шароварные компании вообще. Сама компания "американская", а разработка в стране. Имхо, это абсолютно правильная модель: разработкой занимаются классные местные технари, а компания создаётся вне российской юрисдикции (то есть уходит от проблем с государством, плохими законами, стабильным загниванием страны и т.п.). Только это не аутсорс, а скорее вынос головного отделения за океан. Не надо путать эти две схемы
----------------------------------------------------------------------------------------------
Rentaguru
Re[14]: труд программера переоценен
От: Pzz Россия https://github.com/alexpevzner
Дата: 02.01.06 17:03
Оценка:
Слава Шевцов wrote:
>
> Pzz>Я думаю, такая модель будет практиковаться все больше и больше: компания
> Pzz>американская, а core team сидит где-нибудь в России или Индии.
> Pzz>Действительно, это надо отличать от outsource. Работать в такой компании
> Pzz>гораздо приятнее, чем в аутсорсинговой.
>
> К этому идём. Посмотрите на Акронис, SW-Soft, Аэлиту и шароварные
> компании вообще. Сама компания "американская", а разработка в стране.
> Имхо, это абсолютно правильная модель: разработкой занимаются классные
> местные технари, а компания создаётся вне российской юрисдикции (то есть
> уходит от проблем с государством, плохими законами, стабильным
> загниванием страны и т.п.). Только это не аутсорс, а скорее вынос
> головного отделения за океан. Не надо путать эти две схемы

Я имел ввиду другой вариант: не вынос головного отделения в US, а "внос"
девелоперского отделения в Россию. Т.е., когда компания "на самом деле"
американская.

В одну из перечисленных Вами компаний я ходил поговорить про работу. Мне
не понравилось: оплата полусерая, отпуск урезанный по сравнению с
КЗОТом, плохое душное помещение для программистов (у меня там голова
почти сразу выключилась), никаких гарантий в случае увольнения. Если
учесть, что до того я работал в нормальной американской компании,
которая не пытается поиметь своих работников по мелочи, то разница очень
чувствуется.

Думаю, по мере того, как все больше иностранных компаний будут открывать
у нас свои центры разработки, ситуация на рынке труда будет становиться
более цивилизованной.
Posted via RSDN NNTP Server 2.0
Re[15]: труд программера переоценен
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 02.01.06 17:43
Оценка:
Здравствуйте, Pzz, Вы писали:

>> Pzz>Я думаю, такая модель будет практиковаться все больше и больше: компания

>> Pzz>американская, а core team сидит где-нибудь в России или Индии.
>> Pzz>Действительно, это надо отличать от outsource. Работать в такой компании
>> Pzz>гораздо приятнее, чем в аутсорсинговой.
>>
>> К этому идём. Посмотрите на Акронис, SW-Soft, Аэлиту и шароварные
>> компании вообще. Сама компания "американская", а разработка в стране.
>> Имхо, это абсолютно правильная модель: разработкой занимаются классные
>> местные технари, а компания создаётся вне российской юрисдикции (то есть
>> уходит от проблем с государством, плохими законами, стабильным
>> загниванием страны и т.п.). Только это не аутсорс, а скорее вынос
>> головного отделения за океан. Не надо путать эти две схемы

Pzz>Я имел ввиду другой вариант: не вынос головного отделения в US, а "внос"

Pzz>девелоперского отделения в Россию. Т.е., когда компания "на самом деле"
Pzz>американская.

Такого, скорее всего, не будет — Anatolix объяснил почему. Он классный специалист в этом вопросе. Компании лучше пригласить программиста к себе на базу, чем иметь удалённых высококлассных специалистов: другой дух, другая инфраструктура, другие стимулы. Посмотрите на Google и Paypal: в обеих техническую часть проекта возглавляли русские. Но ни первый, ни второй не стали выносить центр разработки в Россию даже с учётом того, что в 1998-2000 гг. в России была очень низкая зарплата, а у них в Силиконовой долине очень высокая и им требовались действительно классные разработчики с математическими способностями.

Если же кто-то и будет выносить разработку, то только разработку, где не требуется больших знаний и умений. А на этом секторе рынка Бангалор бьёт Россию по всем параметрам: менеджмент, стоимость человеко-часа, знание английского.
----------------------------------------------------------------------------------------------
Rentaguru
Re: труд программера переоценен
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 02.01.06 23:25
Оценка: 3 (1) +1
Здравствуйте, zhora, Вы писали:

Z>вот какая дискуссия возникла на нижегородском форуме программистов

Z>http://www.nn.ru/biz/forum/software/?do=read&amp;thread=177602&amp;topic_id=3004991
Z>для справки Калачев- руководитель одной из крупнейших аутсорсинговых компаний Н Новгорода

Рост зарплат — это всё фигня. Гораздо интереснее, как они собираются выстраивать внутренние градации зарплат. Будет внутри фирмы, скажем, 15-кратная вилка для специалистов или нет? Менеджеров в расчёт не брать, руководителей проектов — тоже.

Просто, если разница в з/п супер-пупер квалифицированого специалиста и вчерашнего студента будет 1,5-2 раза, то тогда можно стонать о "переоцененности" сколько влезет, ничего не изменится.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[17]: труд программера переоценен
От: EM Великобритания  
Дата: 03.01.06 14:03
Оценка:
Здравствуйте, Anatolix, Вы писали:

A>Да и в матане точку не перестают считать экстремумом из-за того что она на конце отрезка.


Иногда перестают — в "матане" при указании границ отрезка используются квадратные \ круглые скобки для указания того, принадлежат ли границы отрезку или нет.
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Re[16]: труд программера переоценен
От: ggg  
Дата: 03.01.06 15:47
Оценка: :)
СШ>Посмотрите на Google и Paypal: в обеих техническую часть проекта возглавляли русские.

Про Google можно подробнее? Неужели С. Бирна можно всерьез русским считать
Или, по-твоему, "русскость" — это с рождения, в крови так сказать, и никакими иноземными образованиями и университетами это не изменить
Re[17]: труд программера переоценен
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 03.01.06 16:18
Оценка:
Здравствуйте, ggg, Вы писали:

СШ>>Посмотрите на Google и Paypal: в обеих техническую часть проекта возглавляли русские.


ggg>Про Google можно подробнее? Неужели С. Бирна можно всерьез русским считать


Брин родился и вырос в Москве, в США он обучался в университете.

ggg>Или, по-твоему, "русскость" — это с рождения, в крови так сказать, и никакими иноземными образованиями и университетами это не изменить


"Каждый вправе определять и указывать свою национальную принадлежность. Никто не может быть принужден к определению и указанию своей национальной принадлежности." Откуда цитата?
----------------------------------------------------------------------------------------------
Rentaguru
Re[18]: труд программера переоценен
От: sigsegv  
Дата: 03.01.06 16:30
Оценка:
Слава Шевцов wrote:
> Здравствуйте, ggg, Вы писали:
>
> СШ>>Посмотрите на Google и Paypal: в обеих техническую часть проекта возглавляли русские.
>
> ggg>Про Google можно подробнее? Неужели С. Бирна можно всерьез русским считать
>
> Брин родился и вырос в Москве, в США он обучался в университете.

"вырос" до 6, что-ли, лет. Да, это, конечно, решает.

--
SKV
Posted via RSDN NNTP Server 2.0
Re[10]: труд программера переоценен
От: Epsilon Россия  
Дата: 03.01.06 16:42
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>DMVB wrote:

>>
>> Pzz>А Вы сами попробуйте решить, а я скажу Вам, сколько Вы сделали ошибок
>> А какие в основном ошибки? Выходы за границы?

Pzz>Ну, кто-то должен рискнуть предложить свою версию для дальнейшего

Pzz>обсуждения

Только сильно не пинайте

#include <stdio.h>

#define N 25

unsigned int MATRIX[N] =     {
    1, 3, 6, 4, 5,
    6, 7, 8, 10, 9,
    11, 32, 13, 14, 15,
    16, 17, 48, 19, 20,
    21, 22, 23, 23, 25
};

int main()
{
    unsigned int count_loc_max = 0;

    for (int i = 1; i < N-1; i++)
        if (MATRIX[i] > MATRIX[i-1] && MATRIX[i] > MATRIX[i+1])
        {
            count_loc_max++;
            printf("local max is %d\n", MATRIX[i]);
            i++;
        }

    printf("count of local max: %d\n", count_loc_max);
    return 0;
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Fornit some Fornus
Re[11]: труд программера переоценен
От: Epsilon Россия  
Дата: 03.01.06 17:55
Оценка:
Паньки, кажется я малость притупил.
Извитите меня.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Fornit some Fornus
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.