Индусские программисты и индусский код
-
- Уже с Приветом
- Posts: 713
- Joined: 09 Jul 2002 05:02
- Location: Киев->CA->NY->CA->WA
Индусские программисты и индусский код
Индусский код (в среде программистов 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
А что думает народ по этому поводу?
По другой трактовке, индусский код — жаргонное нарицательное название для программного кода крайне низкого качества, использующего простые, но порочные принципы «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
А что думает народ по этому поводу?
-
- Уже с Приветом
- Posts: 6888
- Joined: 06 Jan 2010 07:13
- Location: Miami Beach, FL
Re: Индусские программисты и индусский код
Однако АйТи отделы ведущих корпораций забиты Вишманатанами и Равиндрами, уж не говоря о количестве аутсорсинга в Бангалор.
А мы "гундим на галёрке".
А мы "гундим на галёрке".
Ordnung muss sein!
-
- Уже с Приветом
- Posts: 713
- Joined: 09 Jul 2002 05:02
- Location: Киев->CA->NY->CA->WA
Re: Индусские программисты и индусский код
Так и есть, негде правды деть. Сейчас даже многие крупные корпорации перенесли свой customer support в Индию и звонишь к примеру в свою кредитную компанию, а там отвечает какой-то Пердиш из Бангалора с характерным акцентом.Leberecht wrote:Однако АйТи отделы ведущих корпораций забиты Вишманатанами и Равиндрами, уж не говоря о количестве аутсорсинга в Бангалор.
А мы "гундим на галёрке".
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Индусские программисты и индусский код
Если менеджер тоже из них, то критиковать за их код чревато.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 5766
- Joined: 25 Feb 2001 10:01
- Location: Силиконовая Долина
Re: Индусские программисты и индусский код
А вы отличаете код, написанный при разработке или добавленный при саппорте (многолетнем)? При саппорте как раз получается так называемый "индусский код" - правка с целью не затронуть ничего, кроме поправляемого места. Чтобы минимальное число строк кода затронуть. Многие разработчики, не знакомые с работой в саппорте этого не могут понять.
one Nation under God, indivisible, with liberty and justice for all
-
- Уже с Приветом
- Posts: 366
- Joined: 06 Jan 2006 23:21
Re: Индусские программисты и индусский код
Джимми-джимми. Ача-ача.
-
- Уже с Приветом
- Posts: 4185
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Индусские программисты и индусский код
ключевое слово здесь "работающий".Yeti wrote:Индусский код (в среде программистов 80х также известен как Glitch) — в самом общем случае, это криво написанный, но каким-то удивительным образом работающий код.
заказчика количество строк интересует в последнюю очередь.
после приведенных примеров вспомнился фильм Я Робот,
где типа ученный рассказывал в самом начале, как программа превращается в самодумающий организм.
Лучшие умы из лучших вузов вот уже не один год бьются над созданием искусственного интеллекта,
имитирующего самостоятельный мозг.
А нужно было лишь всего то съаутсорсить в Бангалор.
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Индусские программисты и индусский код
такой саппорт возможен разве что для мертвого проекта, который больше не разрабатывается. Если он будет дальше развиваться, то с помощью такого "суппорта" он начнет превращаться в обычное мессиво, в котором через какое-то время уже не будет проглядываться ни архитектура, ни логика работы.Teh Instructor wrote:А вы отличаете код, написанный при разработке или добавленный при саппорте (многолетнем)? При саппорте как раз получается так называемый "индусский код" - правка с целью не затронуть ничего, кроме поправляемого места. Чтобы минимальное число строк кода затронуть. Многие разработчики, не знакомые с работой в саппорте этого не могут понять.
Нормальный проект, который развивается и не собирается помирать нужно твердо держать в руках, чтобы он не расползался и новая писанина гармонировала с тем, что уже написано. Иногда это требует того, чтобы разобраться, что происходит с кодом смежным с тем, что сам правишь для того, чтобы bug fix был bug fixом, а не подпоркой
-
- Уже с Приветом
- Posts: 4205
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
Re: Индусские программисты и индусский код
если бы не было индусского кода, то у стартапов и прочих хороших людей не было бы возможностей на рынке.
насколько я вижу развитие ситуации, надо всего лишь стараться оказаться по правильную сторону баррикад.
я лично только за индусский код. и чем его больше, тем лучше.
насколько я вижу развитие ситуации, надо всего лишь стараться оказаться по правильную сторону баррикад.
я лично только за индусский код. и чем его больше, тем лучше.
-
- Уже с Приветом
- Posts: 9560
- Joined: 26 Mar 2011 23:02
- Location: Russia -> Orlando, FL
Re: Индусские программисты и индусский код
Последний звонивший мне рекрут с булькающим акцентом, такая вся задорная в течение всей беседы, в конце диалога спросила меня, от куда я. Я ответил, что я местный. Нет переспросила она – родом. Мой ответ из России поверг её в уныние.
Мне кажется, что они начинают догадываться, что мы их недолюбливаем.
Мне кажется, что они начинают догадываться, что мы их недолюбливаем.
Человек никогда не бывает так несчастен, как ему кажется, или так счастлив, как ему хочется. (Франсуа де Ларошфуко)
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Индусские программисты и индусский код
Человек, оправдывающий говнокод мифической особенностью саппорта - индус. Независимо от национальностиTeh Instructor wrote:А вы отличаете код, написанный при разработке или добавленный при саппорте (многолетнем)? При саппорте как раз получается так называемый "индусский код" - правка с целью не затронуть ничего, кроме поправляемого места. Чтобы минимальное число строк кода затронуть. Многие разработчики, не знакомые с работой в саппорте этого не могут понять.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Индусские программисты и индусский код
if (true) {
// какой-то код
} else {
// a вот тут чистый profit
}
Сейчас уже не помню когда и зачем, но как-то раз мне попался кусок кода где подобное было достаточно оправдано.
Помню только свое удивление этим фактом.
// какой-то код
} else {
// a вот тут чистый profit
}
Сейчас уже не помню когда и зачем, но как-то раз мне попался кусок кода где подобное было достаточно оправдано.
Помню только свое удивление этим фактом.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Индусские программисты и индусский код
Скорей всего заготовка с целью заменить потом true на реальное условие. Более экзотическое абиснение - не портить метрики: если считается, сколько кода добавлено, сколько изменено, а сколько удалено, могут не хотеть комментить временно неработающий код - по разным причинамМальчик-Одуванчик wrote: Сейчас уже не помню когда и зачем, но как-то раз мне попался кусок кода где подобное было достаточно оправдано.
Помню только свое удивление этим фактом.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 5766
- Joined: 25 Feb 2001 10:01
- Location: Силиконовая Долина
Re: Индусские программисты и индусский код
Или там было настоящее условие, но его заменили на безусловное исполнение. То что оказалось в "неисполняемой" ветке менять не стали, чтобы не было конфликта при мердже. И так все и осталось на века.АццкоМото wrote: Скорей всего заготовка с целью заменить потом true на реальное условие.
one Nation under God, indivisible, with liberty and justice for all
-
- Уже с Приветом
- Posts: 11475
- Joined: 20 Nov 2000 10:01
- Location: Escondido, CA
Re: Индусские программисты и индусский код
Или там была какая-то нетривиальная логика, которая оказалось временно не нужна, но немедленно полностью удалять ее не захотели, чтобы в будущем не нужно было копаться в логах version control system и ее искать.Teh Instructor wrote:То что оказалось в "неисполняемой" ветке менять не стали, чтобы не было конфликта при мердже.
Протоукр
-
- Уже с Приветом
- Posts: 2305
- Joined: 14 Apr 1999 09:01
- Location: Ural->CA
Re: Индусские программисты и индусский код
agrippina wrote:Джимми-джимми. Ача-ача.
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
-
- Уже с Приветом
- Posts: 10708
- Joined: 22 Jul 2006 20:19
Re: Индусские программисты и индусский код
a я видал код еще лучшеАццкоМото wrote:Скорей всего заготовка с целью заменить потом true на реальное условие. Более экзотическое абиснение - не портить метрики: если считается, сколько кода добавлено, сколько изменено, а сколько удалено, могут не хотеть комментить временно неработающий код - по разным причинамМальчик-Одуванчик wrote: Сейчас уже не помню когда и зачем, но как-то раз мне попался кусок кода где подобное было достаточно оправдано.
Помню только свое удивление этим фактом.
while (true) {
.....
}
с выходами через брейк.
Пречем между открывающей и закрывающей скобкой было где то экрана три вложенных if
Код естественно индусский. JavaScript.
Мужик написавший его сидит на этом скрипте 9 лет...
Каждые две недели получает благодарность в корпоративном мыле рассылаемом всей работникам..
-
- Уже с Приветом
- Posts: 11475
- Joined: 20 Nov 2000 10:01
- Location: Escondido, CA
Re: Индусские программисты и индусский код
А вообще интересно.
Если сравнивать население раннего рабочего возраста (20-40), в Индии в этой категории где-то в 6-7 раз больше народа, чем в России. Говорит по-английски в Индии маленький процент. (Может, 10-20%?) В России процент хорошо знающих английский тоже сравним.
Тем не менее, по H1B визам индусы опережают русских стабильно как минимум в 50 раз. Пишут, что в 2008 и 2009 Россию по числу одобренных петиций опередили такие гиганты компьютерной индустрии, как Турция и Венесуэла, и практически догнал Непал. Для 2009 года называются числа в 103 тысячи виз для Индии, 2200 для Турции, 1800 для Венесуэлы, 1400 для России и 1200 для Непала.
Если сравнивать население раннего рабочего возраста (20-40), в Индии в этой категории где-то в 6-7 раз больше народа, чем в России. Говорит по-английски в Индии маленький процент. (Может, 10-20%?) В России процент хорошо знающих английский тоже сравним.
Тем не менее, по H1B визам индусы опережают русских стабильно как минимум в 50 раз. Пишут, что в 2008 и 2009 Россию по числу одобренных петиций опередили такие гиганты компьютерной индустрии, как Турция и Венесуэла, и практически догнал Непал. Для 2009 года называются числа в 103 тысячи виз для Индии, 2200 для Турции, 1800 для Венесуэлы, 1400 для России и 1200 для Непала.
Протоукр
-
- Уже с Приветом
- Posts: 2924
- Joined: 01 Apr 2004 04:22
Re: Индусские программисты и индусский код
получается, что нормальных програмистов и в России неплохо кормят, зачем им еше куда-то ехать.Hamster wrote:А вообще интересно.
Если сравнивать население раннего рабочего возраста (20-40), в Индии в этой категории где-то в 6-7 раз больше народа, чем в России. Говорит по-английски в Индии маленький процент. (Может, 10-20%?) В России процент хорошо знающих английский тоже сравним.
Тем не менее, по H1B визам индусы опережают русских стабильно как минимум в 50 раз. Пишут, что в 2008 и 2009 Россию по числу одобренных петиций опередили такие гиганты компьютерной индустрии, как Турция и Венесуэла, и практически догнал Непал. Для 2009 года называются числа в 103 тысячи виз для Индии, 2200 для Турции, 1800 для Венесуэлы, 1400 для России и 1200 для Непала.
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Индусские программисты и индусский код
И что вам тут не понравилось? В чём проблема?adda_ wrote:a я видал код еще лучше
while (true) {
.....
}
с выходами через брейк.
Я понимаю, что for (;;) более идиоматичен, но сути это не меняет.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Индусские программисты и индусский код
Нет там проблемы... может, читаемость, определить выход из цикла немного напряжно.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 5766
- Joined: 25 Feb 2001 10:01
- Location: Силиконовая Долина
Re: Индусские программисты и индусский код
я так понял имелось ввиду множество выходов через break, причем внутри вложенных условий, и само тело цикла был на несколько экрановM. Ridcully wrote: И что вам тут не понравилось? В чём проблема?
one Nation under God, indivisible, with liberty and justice for all
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Индусские программисты и индусский код
Дабы поддержать тему, мой любимый пример кода (за константу не ручаюсь, так же как и не уверен в этнической принадлежности автора (или, скорее всего, авторов)):
x = 42;
if (x != 42) {
x = 42;
}
x = 42;
if (x != 42) {
x = 42;
}
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Индусские программисты и индусский код
И глаеное, что никакого performance penalty не будет. Компилятор просто выкинет проверку в if и уберет блок с elseМальчик-Одуванчик wrote:if (true) {
// какой-то код
} else {
// a вот тут чистый profit
}
Сейчас уже не помню когда и зачем, но как-то раз мне попался кусок кода где подобное было достаточно оправдано.
Помню только свое удивление этим фактом.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Индусские программисты и индусский код
Что-то мне очень трудно представить себе мердж конфликт из-за удаления кодаTeh Instructor wrote:Или там было настоящее условие, но его заменили на безусловное исполнение. То что оказалось в "неисполняемой" ветке менять не стали, чтобы не было конфликта при мердже. И так все и осталось на века.АццкоМото wrote: Скорей всего заготовка с целью заменить потом true на реальное условие.
Мат на форуме запрещен, блдж!