Индусские программисты и индусский код

User avatar
Yeti
Уже с Приветом
Posts: 713
Joined: 09 Jul 2002 05:02
Location: Киев->CA->NY->CA->WA

Индусские программисты и индусский код

Post by Yeti »

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

По другой трактовке, индусский код — жаргонное нарицательное название для программного кода крайне низкого качества, использующего простые, но порочные принципы «copy-paste», «главное — завалить, а там запинаем», «шапкозакидательство». Также известен как «write only», или (в пику принципу «написано однажды — читается везде») — «написанное однажды — лучше не читать».

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


В результате чего можно встретить подобные шедевры (и это только цветочки!):

if (true) {
// какой-то код
} else {
// a вот тут чистый profit
}
Менее очевидный вариант:


if(var)
{
...
}
else if(!var)
{
...
}
else
{
// чистые деньги
}
И особенно весело получается, когда где-нибудь вверху скромно стоит


...
#define true false
...
Ну и уж совсем замечательно, когда

...
#define true (Math.random()>0.5)
... Поговаривают, что последний пример уже из области какого-то стохастического программирования.

Также аутентичный индусский код пишется на хинди и транслитерируется в C, C++ или Java. По некоторым сведениям, индусский код поют и танцуют, и только потом записывают на хинди. Есть народная примета: если программист поёт и танцует — значит, он написал индусский код.

Также при частой работе с этими «спецами», фраза "The only good Indian is a dead Indian" обрастает новым смыслом.

http://lurkmore.to/%D0%98%D0%BD%D0%B4%D ... 0%BE%D0%B4

А что думает народ по этому поводу?
Leberecht
Уже с Приветом
Posts: 6888
Joined: 06 Jan 2010 07:13
Location: Miami Beach, FL

Re: Индусские программисты и индусский код

Post by Leberecht »

Однако АйТи отделы ведущих корпораций забиты Вишманатанами и Равиндрами, уж не говоря о количестве аутсорсинга в Бангалор.
А мы "гундим на галёрке". :pain1:
Ordnung muss sein!
User avatar
Yeti
Уже с Приветом
Posts: 713
Joined: 09 Jul 2002 05:02
Location: Киев->CA->NY->CA->WA

Re: Индусские программисты и индусский код

Post by Yeti »

Leberecht wrote:Однако АйТи отделы ведущих корпораций забиты Вишманатанами и Равиндрами, уж не говоря о количестве аутсорсинга в Бангалор.
А мы "гундим на галёрке". :pain1:
Так и есть, негде правды деть. Сейчас даже многие крупные корпорации перенесли свой customer support в Индию и звонишь к примеру в свою кредитную компанию, а там отвечает какой-то Пердиш из Бангалора с характерным акцентом.
User avatar
Medium-rare
Уже с Приветом
Posts: 9194
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Индусские программисты и индусский код

Post by Medium-rare »

Если менеджер тоже из них, то критиковать за их код чревато. :pain1:
... and even then it's rare that you'll be going there...
User avatar
Teh Instructor
Уже с Приветом
Posts: 5766
Joined: 25 Feb 2001 10:01
Location: Силиконовая Долина

Re: Индусские программисты и индусский код

Post by Teh Instructor »

А вы отличаете код, написанный при разработке или добавленный при саппорте (многолетнем)? При саппорте как раз получается так называемый "индусский код" - правка с целью не затронуть ничего, кроме поправляемого места. Чтобы минимальное число строк кода затронуть. Многие разработчики, не знакомые с работой в саппорте этого не могут понять.
one Nation under God, indivisible, with liberty and justice for all
agrippina
Уже с Приветом
Posts: 366
Joined: 06 Jan 2006 23:21

Re: Индусские программисты и индусский код

Post by agrippina »

Джимми-джимми. Ача-ача.
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Индусские программисты и индусский код

Post by valchkou »

Yeti wrote:Индусский код (в среде программистов 80х также известен как Glitch) — в самом общем случае, это криво написанный, но каким-то удивительным образом работающий код.
ключевое слово здесь "работающий".
заказчика количество строк интересует в последнюю очередь.

после приведенных примеров вспомнился фильм Я Робот,
где типа ученный рассказывал в самом начале, как программа превращается в самодумающий организм.
Лучшие умы из лучших вузов вот уже не один год бьются над созданием искусственного интеллекта,
имитирующего самостоятельный мозг.
А нужно было лишь всего то съаутсорсить в Бангалор.
Alexandr
Уже с Приветом
Posts: 3647
Joined: 23 May 2010 15:10

Re: Индусские программисты и индусский код

Post by Alexandr »

Teh Instructor wrote:А вы отличаете код, написанный при разработке или добавленный при саппорте (многолетнем)? При саппорте как раз получается так называемый "индусский код" - правка с целью не затронуть ничего, кроме поправляемого места. Чтобы минимальное число строк кода затронуть. Многие разработчики, не знакомые с работой в саппорте этого не могут понять.
такой саппорт возможен разве что для мертвого проекта, который больше не разрабатывается. Если он будет дальше развиваться, то с помощью такого "суппорта" он начнет превращаться в обычное мессиво, в котором через какое-то время уже не будет проглядываться ни архитектура, ни логика работы.
Нормальный проект, который развивается и не собирается помирать нужно твердо держать в руках, чтобы он не расползался и новая писанина гармонировала с тем, что уже написано. Иногда это требует того, чтобы разобраться, что происходит с кодом смежным с тем, что сам правишь для того, чтобы bug fix был bug fixом, а не подпоркой
User avatar
fruit6
Уже с Приветом
Posts: 4205
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Индусские программисты и индусский код

Post by fruit6 »

если бы не было индусского кода, то у стартапов и прочих хороших людей не было бы возможностей на рынке.
насколько я вижу развитие ситуации, надо всего лишь стараться оказаться по правильную сторону баррикад.
я лично только за индусский код. и чем его больше, тем лучше.
User avatar
brrdrr
Уже с Приветом
Posts: 9560
Joined: 26 Mar 2011 23:02
Location: Russia -> Orlando, FL

Re: Индусские программисты и индусский код

Post by brrdrr »

Последний звонивший мне рекрут с булькающим акцентом, такая вся задорная в течение всей беседы, в конце диалога спросила меня, от куда я. Я ответил, что я местный. Нет переспросила она – родом. Мой ответ из России поверг её в уныние.
Мне кажется, что они начинают догадываться, что мы их недолюбливаем. :-)
Человек никогда не бывает так несчастен, как ему кажется, или так счастлив, как ему хочется. (Франсуа де Ларошфуко)
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Индусские программисты и индусский код

Post by АццкоМото »

Teh Instructor wrote:А вы отличаете код, написанный при разработке или добавленный при саппорте (многолетнем)? При саппорте как раз получается так называемый "индусский код" - правка с целью не затронуть ничего, кроме поправляемого места. Чтобы минимальное число строк кода затронуть. Многие разработчики, не знакомые с работой в саппорте этого не могут понять.
Человек, оправдывающий говнокод мифической особенностью саппорта - индус. Независимо от национальности
Мат на форуме запрещен, блдж!
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Индусские программисты и индусский код

Post by Мальчик-Одуванчик »

if (true) {
// какой-то код
} else {
// a вот тут чистый profit
}
Сейчас уже не помню когда и зачем, но как-то раз мне попался кусок кода где подобное было достаточно оправдано.
Помню только свое удивление этим фактом.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Индусские программисты и индусский код

Post by АццкоМото »

Мальчик-Одуванчик wrote: Сейчас уже не помню когда и зачем, но как-то раз мне попался кусок кода где подобное было достаточно оправдано.
Помню только свое удивление этим фактом.
Скорей всего заготовка с целью заменить потом true на реальное условие. Более экзотическое абиснение - не портить метрики: если считается, сколько кода добавлено, сколько изменено, а сколько удалено, могут не хотеть комментить временно неработающий код - по разным причинам
Мат на форуме запрещен, блдж!
User avatar
Teh Instructor
Уже с Приветом
Posts: 5766
Joined: 25 Feb 2001 10:01
Location: Силиконовая Долина

Re: Индусские программисты и индусский код

Post by Teh Instructor »

АццкоМото wrote: Скорей всего заготовка с целью заменить потом true на реальное условие.
Или там было настоящее условие, но его заменили на безусловное исполнение. То что оказалось в "неисполняемой" ветке менять не стали, чтобы не было конфликта при мердже. И так все и осталось на века.
one Nation under God, indivisible, with liberty and justice for all
Hamster
Уже с Приветом
Posts: 11475
Joined: 20 Nov 2000 10:01
Location: Escondido, CA

Re: Индусские программисты и индусский код

Post by Hamster »

Teh Instructor wrote:То что оказалось в "неисполняемой" ветке менять не стали, чтобы не было конфликта при мердже.
Или там была какая-то нетривиальная логика, которая оказалось временно не нужна, но немедленно полностью удалять ее не захотели, чтобы в будущем не нужно было копаться в логах version control system и ее искать.
Протоукр
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: Индусские программисты и индусский код

Post by Albert_al »

agrippina wrote:Джимми-джимми. Ача-ача.
:lol: :ROFL: :Yahoo!:
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
adda_
Уже с Приветом
Posts: 10708
Joined: 22 Jul 2006 20:19

Re: Индусские программисты и индусский код

Post by adda_ »

АццкоМото wrote:
Мальчик-Одуванчик wrote: Сейчас уже не помню когда и зачем, но как-то раз мне попался кусок кода где подобное было достаточно оправдано.
Помню только свое удивление этим фактом.
Скорей всего заготовка с целью заменить потом true на реальное условие. Более экзотическое абиснение - не портить метрики: если считается, сколько кода добавлено, сколько изменено, а сколько удалено, могут не хотеть комментить временно неработающий код - по разным причинам
a я видал код еще лучше
while (true) {
.....
}

с выходами через брейк.
Пречем между открывающей и закрывающей скобкой было где то экрана три вложенных if
Код естественно индусский. JavaScript.
Мужик написавший его сидит на этом скрипте 9 лет...
Каждые две недели получает благодарность в корпоративном мыле рассылаемом всей работникам..
Hamster
Уже с Приветом
Posts: 11475
Joined: 20 Nov 2000 10:01
Location: Escondido, CA

Re: Индусские программисты и индусский код

Post by Hamster »

А вообще интересно.

Если сравнивать население раннего рабочего возраста (20-40), в Индии в этой категории где-то в 6-7 раз больше народа, чем в России. Говорит по-английски в Индии маленький процент. (Может, 10-20%?) В России процент хорошо знающих английский тоже сравним.

Тем не менее, по H1B визам индусы опережают русских стабильно как минимум в 50 раз. Пишут, что в 2008 и 2009 Россию по числу одобренных петиций опередили такие гиганты компьютерной индустрии, как Турция и Венесуэла, и практически догнал Непал. Для 2009 года называются числа в 103 тысячи виз для Индии, 2200 для Турции, 1800 для Венесуэлы, 1400 для России и 1200 для Непала.
Протоукр
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Индусские программисты и индусский код

Post by Ljolja »

Hamster wrote:А вообще интересно.

Если сравнивать население раннего рабочего возраста (20-40), в Индии в этой категории где-то в 6-7 раз больше народа, чем в России. Говорит по-английски в Индии маленький процент. (Может, 10-20%?) В России процент хорошо знающих английский тоже сравним.

Тем не менее, по H1B визам индусы опережают русских стабильно как минимум в 50 раз. Пишут, что в 2008 и 2009 Россию по числу одобренных петиций опередили такие гиганты компьютерной индустрии, как Турция и Венесуэла, и практически догнал Непал. Для 2009 года называются числа в 103 тысячи виз для Индии, 2200 для Турции, 1800 для Венесуэлы, 1400 для России и 1200 для Непала.
получается, что нормальных програмистов и в России неплохо кормят, зачем им еше куда-то ехать. :roll:
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Индусские программисты и индусский код

Post by M. Ridcully »

adda_ wrote:a я видал код еще лучше
while (true) {
.....
}

с выходами через брейк.
И что вам тут не понравилось? В чём проблема?
Я понимаю, что for (;;) более идиоматичен, но сути это не меняет.
Мир Украине. Свободу России.
User avatar
Medium-rare
Уже с Приветом
Posts: 9194
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Индусские программисты и индусский код

Post by Medium-rare »

Нет там проблемы... может, читаемость, определить выход из цикла немного напряжно.
... and even then it's rare that you'll be going there...
User avatar
Teh Instructor
Уже с Приветом
Posts: 5766
Joined: 25 Feb 2001 10:01
Location: Силиконовая Долина

Re: Индусские программисты и индусский код

Post by Teh Instructor »

M. Ridcully wrote: И что вам тут не понравилось? В чём проблема?
я так понял имелось ввиду множество выходов через break, причем внутри вложенных условий, и само тело цикла был на несколько экранов
one Nation under God, indivisible, with liberty and justice for all
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Индусские программисты и индусский код

Post by M. Ridcully »

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

x = 42;
if (x != 42) {
x = 42;
}
Мир Украине. Свободу России.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Индусские программисты и индусский код

Post by Интеррапт »

Мальчик-Одуванчик wrote:if (true) {
// какой-то код
} else {
// a вот тут чистый profit
}
Сейчас уже не помню когда и зачем, но как-то раз мне попался кусок кода где подобное было достаточно оправдано.
Помню только свое удивление этим фактом.
И глаеное, что никакого performance penalty не будет. Компилятор просто выкинет проверку в if и уберет блок с else :umnik1:
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Индусские программисты и индусский код

Post by АццкоМото »

Teh Instructor wrote:
АццкоМото wrote: Скорей всего заготовка с целью заменить потом true на реальное условие.
Или там было настоящее условие, но его заменили на безусловное исполнение. То что оказалось в "неисполняемой" ветке менять не стали, чтобы не было конфликта при мердже. И так все и осталось на века.
Что-то мне очень трудно представить себе мердж конфликт из-за удаления кода
Мат на форуме запрещен, блдж!

Return to “Работа и Карьера в IT”