refresh cnucok 7bit.forum нacлeдuть
  РегистрацияПользователиАдминистраторы и модераторыПоискЧасто задаваемые вопросы На главную

7bit.forum » Общение » Юмор » О прогерах » Привет, незнакомец [войти|регистрация]
Распечатать страницу
Понравилась тема? Поделитесь с друзьями!
Автор
Сообщение « Предыдущая тема | Следующая тема »
Юрик
Юрик - мужик
Его Величество Администратор




Группа: Администраторы

Дата регистрации: 21.06.2004
Сообщения: 3340
Кто?: Выпускник

Репутация пользователя :
+3212 -428 = 2784
Рейтинг сообщения:
+1 -0 = 1
балл   балл

МОИ ФОТКИ!


О прогерах На верх страницы

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

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

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

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

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

О, канадский программист это особый тип. Он ни на минуту не задумываясь, как рыцарь без страха и упрека, бросится фиксить самый свирепый баг китайского кода. Этот Баг живет там уже три года, и китайцы уже четырежды (каждый по разу) сообщали начальству, что он пофиксен. Но Баг каждый раз возвращался, как Бетмен в свой Готхем. Итак, канадский программист сделает то, чего китайцы не рисковали делать в течении трех долгих лет. Он, при помощи дебагера, отследит место, где статическая переменная приняла значение -1 вместо правильного 0, и решительным движением заведет рядом вторую переменную с правильным значением. Баг погибнет в неравной схватке с канадским программистом.

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

Канадский программист смело бросится налаживать все, и станет еще хуже, хотя казалось бы… Эта суета выведет из медитации индуса, который придумает и вовсе гениальное решение — отбранчить код. Согласно его плану, мы теперь будем поддерживать две версии одного и того же кода — одну работающую но с Багом, другую без Бага, но не работающую. Русский программист услышав об этом плане, сломает линейку об стол и дома обзовет жену дурой, но на митинге возразить не решится.

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

(с) Взято с Хабра

__________________
Xριστος ανεστη εκ νεκρων
Θανατω θανατον πατησας.
Και τοις εν τοις μνημασι
Ζωην χαρισαμενος.

29.12.2009 12:52 Юрик оффлайн Искать сообщения : Юрик Добавить Юрик в адресную книгу
APXIM@G
APXIM@G - мужик
Наследный принц Терабайт




Группа: Пользователи Плюс
Проголосуйте за меня!

Дата регистрации: 29.11.2005
Сообщения: 2233
Кто?: Магистр

Репутация пользователя :
+1446 -330 = 1116
Рейтинг сообщения:
+0 -0 = 0
балл   балл

МОИ ФОТКИ!

Предупреждений: 1


На верх страницы

Читал, ещё когда учился в школе и изучал дельфи (тут -2003 год, а сам креатив вроде бы даже из фидо)
Подкину ещё текстик на тему:

Русский код, бессмысленный и беспощадный

Из глубин интернета...

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

Оказалось, я ошибался, может быть куда хуже, я всегда в таких случаях ошибаюсь.

Вот скажем, индус. Ему дали задание - напиши код, который проведет, допустим, прямую от А до Б. И что вы думаете - прямая будет проведена. С использованием всех известных индусу технологий, которых больше, чем позиций в Камасутре. Например, на последней работе данные читались и писались в базу с использованием JDBC, JDO, EJB и Hibernate, иногда одновременно. Что поразительно, все это работало - из точки А в точку Б. Иное дело, если бы вдруг потребовалось провести еще одну прямую, допустим, еще и в точку Ц, тут весь продукт пришлось бы переписывать. Как мосты и тоннели никто не проектирует на многофункциональность, так же и индусский код, сплошная железная дорога без стрелок. Нужно - прокладывай новую, семью всем кормить надо, проектов мало, индусов много.

Хуже индусского кода может быть только код европейский, особенно голландцев или датчан. Это тоже объяснимо, у них источники вдохновения легализованы. Из точки А в точку Б никто никуда не едет, зато есть framework. В котором можно задать plug-in, который конфигурирует другой plug-in, который читает третий plug-in и посылает event четвертому, а тот уже знает, что делать. Через Inversion of Control, так интереснее. Я как-то цитировал одно европейское творчество, и, по-моему, это достойно повторения:

Before describing the configuration aspects of components (...), component types and implementations are described, since it is aspects of the component type that are configured by components - and the configurable aspects are defined by the component type.

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

Но все это - ничто в сравнении с отечественным кодом. В нем из точки А в точку Б прямую, конечно, проведут. Квадратно-гнездовым методом. Я не очень понимаю, что такое квадратно-гнездовой метод, но будет использован именно он. Врагу достанется выжженная земля с одной стороны, и ни пяди ее - с другой. Из А в Б будет проведено столько прямых, что Лобачевский отдыхает. Еще большее количество прямых будет проведено из Б в А, на всякий случай, как в анекдоте - строительство туннеля под Ла Маншем начнется одновременно из Англии и Франции, и продлится пять или десять лет, в зависимости от того, встретятся ли строители посередине. Зато комментариев в коде не будет, потому, что код - лучше любого комментария. С этой же целью всем переменным будут даны имена из учебника по шахматам. Кстати, о шахматах, помните ли вы притчу про их изобретателя, индуса (хе-хе), который в качестве вознаграждения попросил 264-1 зернышек рису? Это индийский подход, он же ламерский, отечественный программист знает, что есть функции стремительнее экспоненты. Если вы подумали "домкрат", то не угадали, домкрат только падает. Зато есть факториал, помните про такое?

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

OutOfMemoryError, говорит компутер. Памяти у него - два гига, и даже Билла Гейтса не приплетешь, сплошной Линукс. Шо за фигня, все посмотрели на сисадмина, строго так, со значением. Сисадмин вздохнул, ударился оземь, обернулся птицей и добавил серверу еще два гигабайта памяти. OutOfMemoryError, повторил компьютер, только теперь уже не сразу, а немного подумав. Тогда все посмотрели на Ди-Би-Эя, еще строже, DBA тоже вздохнул, и урезал базу напополам, до сорока тысяч, от плеча до седла. Потом еще раз. Двадцать тысяч строк в память влезли, им там было уютно, но работать не собирались.

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

То, что я там увидел, словами не описать, ибо слова есть продолжение мыслей, но я все же попытаюсь. Есть такое понятие, сложность алгоритма. Если есть N объектов, а алгоритм работает независимо от их числа, сложность такого алгоритма - константа, и это очень хороший алгоритм. Но все задачи так не решить, поэтому есть алгоритмы, работающие за время, пропорциональное логарифму N, и это тоже хорошо. Хуже, если время работы алгоритма пропорционально N, совсем плохо, если N2, и хуже некуда, если время работы растет, как экспонента от показателя N. М.-ские труженики умудрились преодолеть и этот барьер, в погоне за константной скоростью работы алгоритма они умудрились добиться факториального, N!, потребления памяти.

Идея чрезвычайно проста. Если известно заранее, что будет искаться фраза "мама мыла раму", эти орлы создавали в памяти все возможные пермутации, как то, "мама раму мыла", "мыла раму мама" и так далее. Все эти варианты засовывались в хеш-таблицу, со всеми сопутствующими объектами. Ожидалось, что время поиска в такой таблице - константа, потому, как ищется квадратно-гнездовым методом. Фразы были и по пять, и по восемь слов. Факториал восьми никто не брал? Если брали, положите на место. Тут и двадцать тысяч фраз - достижение, удивительно, что столько влезло.

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

Я хочу другой глобус.

__________________
Pereant amici, dum inimici una intercidant

29.12.2009 13:57 APXIM@G оффлайн Искать сообщения : APXIM@G
§©®!P†_
§©®!P†_ - мужик
Лорд Гигабайт I-степени




Группа: VIP-Пользователи

Дата регистрации: 02.10.2005
Сообщения: 1599
Кто?: Студент

Репутация пользователя :
+2707 -667 = 2040
Рейтинг сообщения:
+0 -0 = 0
балл   балл

Предупреждений: 2


На верх страницы

А-а-а, первое это ад! Crying Big Grin
Простите за занудство, но все можно было бы улучшить введя инспекцию кода, непрерывное интегрирование, проверку кода через тесты и как следствие рефакторинг Big Grin

__________________
- Как продвигается?
- Отлично
- Бюджет превысили?
- Нет
- Нет? оО

29.12.2009 15:26 §©®!P†_ оффлайн Послать письмо §©®!P†_ Искать сообщения : §©®!P†_
shevch
shevch - мужик
Наследный принц Терабайт




Группа: VIP-Пользователи

Дата регистрации: 19.09.2005
Сообщения: 2156
Кто?: Бездельник

Репутация пользователя :
+1544 -203 = 1341
Рейтинг сообщения:
+0 -0 = 0
балл   балл

МОИ ФОТКИ!

Предупреждений: 2


На верх страницы

цитата:
§©®!P†_ пишет
А-а-а, первое это ад! Crying Big Grin
Простите за занудство, но все можно было бы улучшить введя инспекцию кода, непрерывное интегрирование, проверку кода через тесты и как следствие рефакторинг Big Grin

Простите, а зачем?

сказано ведь - оно продается)))

__________________
-ну все люди имеют две стороны, как медали...
-а некоторые многогранны. как стакан

Работай старательно по восемь часов в день - выбьешься в начальство и получишь возможность работать по двенадцать часов в день

30.12.2009 09:14 shevch оффлайн Искать сообщения : shevch Добавить shevch в адресную книгу
Доброе Тепло
Доброе Тепло - мужик
Барон Килобайт II-степени




Группа: Пользователи

Дата регистрации: 25.02.2009
Сообщения: 151
Кто?: Бездельник

Репутация пользователя :
+369 -220 = 149
Рейтинг сообщения:
+0 -0 = 0
балл   балл

МОИ ФОТКИ!

Предупреждений: 4


На верх страницы

цитата:
shevch пишет
цитата:
§©®!P†_ пишет
А-а-а, первое это ад! Crying Big Grin
Простите за занудство, но все можно было бы улучшить введя инспекцию кода, непрерывное интегрирование, проверку кода через тесты и как следствие рефакторинг Big Grin

Простите, а зачем?

сказано ведь - оно продается)))


они не конкурентоспособны. через пол года появится новый игрок с качественным товаром и конец неорганизованной компании Smile

__________________
Мы не имеем права потреблять счастье, не производя его

Сообщение отредактировано 1 раз(а), редактировал Доброе Тепло , 30.12.2009 в 09:51.

30.12.2009 09:50 Доброе Тепло оффлайн Послать письмо Доброе Тепло Искать сообщения : Доброе Тепло
shevch
shevch - мужик
Наследный принц Терабайт




Группа: VIP-Пользователи

Дата регистрации: 19.09.2005
Сообщения: 2156
Кто?: Бездельник

Репутация пользователя :
+1544 -203 = 1341
Рейтинг сообщения:
+0 -0 = 0
балл   балл

МОИ ФОТКИ!

Предупреждений: 2


На верх страницы

Ну вот через пол года они и займутся продуктом... по опыту могу сказать что почти никогда новая фирма не может сделать лучше и дешевле..

__________________
-ну все люди имеют две стороны, как медали...
-а некоторые многогранны. как стакан

Работай старательно по восемь часов в день - выбьешься в начальство и получишь возможность работать по двенадцать часов в день

30.12.2009 17:36 shevch оффлайн Искать сообщения : shevch Добавить shevch в адресную книгу
§©®!P†_
§©®!P†_ - мужик
Лорд Гигабайт I-степени




Группа: VIP-Пользователи

Дата регистрации: 02.10.2005
Сообщения: 1599
Кто?: Студент

Репутация пользователя :
+2707 -667 = 2040
Рейтинг сообщения:
+0 -0 = 0
балл   балл

Предупреждений: 2


На верх страницы

цитата:
shevch пишет
Ну вот через пол года они и займутся продуктом... по опыту могу сказать что почти никогда новая фирма не может сделать лучше и дешевле..


через полгода они уже рынок проепут. я тебе по опыту скажу, что могут

__________________
- Как продвигается?
- Отлично
- Бюджет превысили?
- Нет
- Нет? оО

30.12.2009 18:18 §©®!P†_ оффлайн Послать письмо §©®!P†_ Искать сообщения : §©®!P†_
shevch
shevch - мужик
Наследный принц Терабайт




Группа: VIP-Пользователи

Дата регистрации: 19.09.2005
Сообщения: 2156
Кто?: Бездельник

Репутация пользователя :
+1544 -203 = 1341
Рейтинг сообщения:
+0 -0 = 0
балл   балл

МОИ ФОТКИ!

Предупреждений: 2


На верх страницы

Мне кажется что ты все равно слишком сурово на все это смотришь

__________________
-ну все люди имеют две стороны, как медали...
-а некоторые многогранны. как стакан

Работай старательно по восемь часов в день - выбьешься в начальство и получишь возможность работать по двенадцать часов в день

30.12.2009 18:47 shevch оффлайн Искать сообщения : shevch Добавить shevch в адресную книгу
§©®!P†_
§©®!P†_ - мужик
Лорд Гигабайт I-степени




Группа: VIP-Пользователи

Дата регистрации: 02.10.2005
Сообщения: 1599
Кто?: Студент

Репутация пользователя :
+2707 -667 = 2040
Рейтинг сообщения:
+0 -0 = 0
балл   балл

Предупреждений: 2


На верх страницы

цитата:
shevch пишет
Мне кажется что ты все равно слишком сурово на все это смотришь


не Big Grin я познал это изнутри

__________________
- Как продвигается?
- Отлично
- Бюджет превысили?
- Нет
- Нет? оО

30.12.2009 19:23 §©®!P†_ оффлайн Послать письмо §©®!P†_ Искать сообщения : §©®!P†_
Понравилась тема? Поделитесь с друзьями!
Чтобы отвечать на сообщения и создавать новые темы, необходимо зарегистрироваться. Присоединяйся к нам! :-)
Перейти:

Все вопросы, связанные с деятельностью сайта и форума решаются с руководителем проекта.

powered by [censored] forum
7bit.team © 2001-2016