Oleg Glushchenko ([info]_under_score_) wrote,
@ 2008-05-16 19:50:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
шовинистическое
Каким-то везением все проведенные в Штатах десять лет я успешно избегал знакомства с легендарным кодом, ассоциируемым с руками представителей пресловутого полуострова. Более того, за напыщенное "индюки", оброненное в русскоязычной компании, мне порой хотелось просто давать в морду. Из чувства международного братства.

Теперь же, выйдя на новый проект, написанный консультантами, изрядная часть которых приехала из соответствующей южной страны, я почувствовал себя теряющим соответствующий аспект девственности. После десятой по счету увиденной конструкции "if (...) return false; else return true;", порожденной, если верить истории, предоставленной системой контроля версий, скромным трудягой с именем Раджив или Рамеш, остается молча вздыхать и радоваться наличию в скорбной нашей .NET-жизни FxCop'а и Resharper'а.

А впрочем, за "индюков" давать в морду все равно неплохо бы. Потому что как профессионализм, так и снобизм - понятия все-равно интернациональные.



(Post a new comment)


[info]ivan_ghandhi
2008-05-17 12:31 am UTC (link)
Я так понимаю, что у нас принципиально разное образование в области логики. Для нас сокращение логического выражения - естественное действие, как два байта переслать. Для них же это усложняет программу. То есть, подробно расписанное громоздкое логическое выражение, с ифами, внутренними ифами, и промежуточными ретёрнами - это для них нормально. Возможно, в Индии логике не учат, а учат философии (ну или они сами учатся); и поэтому то, что мы привыкли описывать в виде предиката, они привыкли описывать в виде разбиения на случаи.

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

В частности, идея, что множество пар с неповторяющимися ключами и Map - это совершенно одно и то же, совершенно чужда индийскому мышлению. Кстати, а вообще, если так поспрошать вокруг - кто какие канонические изоморфизмы признаёт за само собой разумеющиеся? Ведь даже и в Хаскеле с этим туго. Нету их.

Зато у них социальные скилзы есть, а у нас нету, не обучены.

Но в результате русские программисты - самые лучшие в мире. Если б только не были такими мудаками, в большинстве своём.

(Reply to this)(Thread)


[info]_under_score_
2008-05-17 12:50 am UTC (link)
Тут надо заметить, что на уровне .NET IL (ну или джавовского class) никакой разницы между "if (A) return true; else return true;" и "return A;" уже не будет, и если программист настаивает, что ему первый вариант нагляднее и понятнее, то у меня не найдется убойных контраргументов. Потому что "от такого кода хочется блевать" - не аргумент.

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

Да, ну и про гениальность русских программистов - не знаю, может, это применимо к Западному побережью; на Восточном трех из четырех программистов, рукам и головам которых можно и нужно завидовать, будуть звать Джон, Билл и Боб.

(Reply to this)(Parent)(Thread)


[info]ivan_ghandhi
2008-05-17 02:31 am UTC (link)
У нас в джаве есть аргумент. Открываешь книжку Блока, тыкаешь носом.

Боб... иду во вторник на SVPG, скалу мы там изучаем; мимо едет Боб на велике; спрашиваю - идёшь? А он: я на scala user group еду. О как!

(Reply to this)(Parent)


[info]itman
2008-05-17 02:55 am UTC (link)
Насколько я понял из Вашей заметки, то речь шла все-таки о конструкциях вида:
if (A) return false: else return true
Их надо переписать не в виде return A, а в виде
return NOT A
Согласно замечанию Влада, они не любят упрощать логические выражения, даже в таких простых случаях.

(Reply to this)(Parent)(Thread)


[info]_under_score_
2008-05-17 11:58 am UTC (link)
Их надо переписать не в виде return A, а в виде
return NOT A

Тянет на диссертацию :)

(Reply to this)(Parent)


[info]4gott
2008-05-17 04:46 am UTC (link)
За обеими руками.....
особенно верны последние две фразы.....
и к сожаленю относится не к программистам тоже :(((

(Reply to this)(Parent)


[info]anspa
2008-05-17 05:16 am UTC (link)
Не могу не сказать про индостан - у них имеется гораздое количество таких же лохов, и снобов, как и у нас. А вот то что атавизм абстрактного мышления у многих ихних программистов потерялся в процессе эволюции или недообучения - оставим это предложение недосказанным.

И еще - очень хотелось бы посмотреть как андер будет давать кому-то в морду. Чисто из соображений любви к искусству. :) Я бы даже наверное на видео-пленку заснял, можно даже постановочное видео, вай нот.

(Reply to this)(Thread)


[info]_under_score_
2008-05-17 11:55 am UTC (link)
А ты, анспочка, сколько раз на перекладинке подтягиваешься? :)

(Reply to this)(Parent)(Thread)


[info]anspa
2008-05-17 12:52 pm UTC (link)
это ты мне, дорогой, угрожаешь теперь? :) госсподи.. один какой-то сраный индус превратил милейшего человека в мизантропа. прав Лужин, прав. бросать надо этот программизм дурацкий.. до добра не доведет.

(Reply to this)(Parent)(Thread)


[info]_under_score_
2008-05-17 02:04 pm UTC (link)
это ты мне, дорогой, угрожаешь теперь?
Ты, анспуш, что с вечера пил?

(Reply to this)(Parent)(Thread)


[info]anspa
2008-05-17 02:29 pm UTC (link)
А зачем про перекладинку спрашивал? :)

(Reply to this)(Parent)(Thread)


[info]_under_score_
2008-05-17 02:34 pm UTC (link)
затем, что я легкий, но сильный!!!

(Reply to this)(Parent)(Thread)


[info]anspa
2008-05-17 02:40 pm UTC (link)
А я вот раза три если подтянусь.. :) То это ито будет преувеличением.

(Reply to this)(Parent)


[info]luzhin
2008-05-17 04:47 pm UTC (link)
Fucking A!

(Reply to this)(Parent)


[info]ygam
2008-05-17 05:34 pm UTC (link)
http://ygam.livejournal.com/92584.html

(Reply to this)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…