Автор Тема: Обратный парадокс Блаба.  (Прочитано 11350 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Обратный парадокс Блаба.
« : Февраль 22, 2011, 12:09:23 pm »
На этой неделе вторник это маленькая пятница, так что...
Цитировать
...обратный парадокс Блаба заключается в том, что, казалось бы, программист должен приобрести более широкий кругозор и начать смотреть на вещи шире и сбалансированнее, но вместо этого он становится нетерпимее и почему-то приобретает практически религиозную уверенность, что все, кто пишет не на Y (а особенно программисты на Х) испытывают невыносимые страдания, программируя на своих языках. По определению. Что во всех этих языках ничего хорошего нет и быть не может, а если и есть, то оно не стоит отсутствия в них Главной Фичи языка Y. Да, и все программисты не на Y записываются в Блаб-программисты.

Любая проблема этих языков немедленно объявляется огромной, из-за которой у программистов вместо стука клавиш раздается лишь скрежет зубовный, а по ночам они плачут в клавиатуру, ибо времени для сна дома у них не остается. Методы обхода проблемы игнорируются. Любая проблема языка Y, напротив, не считается проблемой, так как наличие Главной Фичи любые эти проблемы перевешивает, ну и методы обхода проблемы тоже есть.

Что если в этих языках есть нечто, позволяющее эмулировать Главную Фичу, то оно по определению убого и сравниться с "настоящей" Главной Фичей вообще никак не может, независимо от уровня приближения эмуляции к оригиналу. При этом они готовы мириться с отсутствием в их любимом языке Y какой-нть экзотической фичи языка Z, но решительно отказывают программистам на языке Х в таком же праве мириться с отсутствием в нем Главной Фичи, даже при наличии эмуляции или ортогональных способов решения задач, которые решает эта фича — те немедленно объявляются Блаб-программистами, в самом уничижительном смысле этого слова, а их способы — убогими костылями.

А если кто-то из программистов на языке Х вдруг скажет, что у него с языком Х проблем нет, то он в лучшем случае издевательски объявляется исключительно и уникально удачливым человеком, а в худшем — просто лжецом. Если программист на языке Х говорит, что хорошо понимает проблемы и достоинства своего языка и ценность Главной Фичи, но тем не менее остается программировать на языке Х, то Y-программисты дружно выражают сомнение в его мыслительных способностях — ведь он не дает достаточного веса фиче языка Y! Она ведь у него не перевешивает плюсы языка Х! Посчитано неправильно! Ни о каком уважении к его решению и речь быть не может.

Под раздачу попадают заодно и работодатели Х-программистов: они объявляются в лучшем случае — грязно обманутыми гнусными Х-программистами, а в худшем — просто слабоумными, не видящими немерянного рулеза Главной Фичи языка Y и того огромного экономического эффекта, который она произведет (затраты на перевод существующих систем, отсутствие достаточного количества программистов на рынке, нестабильность версий нового языка, особенности окружения, из-за которых переход на язык вообще невозможен, обычно просто не учитываются).
...
P.S. Когда этот программист изучит язык Z и уверует в него, горькая участь языка Х постигнет и язык Y. Причем чудесным образом аргументы оппонентов, ранее отбрасывавшиеся, вдруг начинают работать. Пока они не коснутся языка Z, естественно.

Оригинал: http://www.rsdn.ru/forum/philosophy/3864060.flat.aspx
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Валерий Лаптев

  • Jr. Member
  • **
  • Сообщений: 58
    • Просмотр профиля
Re:Обратный парадокс Блаба.
« Ответ #1 : Февраль 22, 2011, 06:13:36 pm »
Рискну предположить, что в среде программистов в качестве "бананов" выступают такие вот "фичи". Естественно, программер, отказывающийся от "банана", выглядит идиотом... :)
Так же как в среде бизнесменов "бананом" может быть милионная сделка, и бизнесмен, отказавшийся от такой сделки - выглядит идиотом в глазах бизнесменов... :)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Обратный парадокс Блаба.
« Ответ #2 : Февраль 22, 2011, 07:24:59 pm »
Да нет. Это ж клинический, крайний случай описан.

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

Валерий Лаптев

  • Jr. Member
  • **
  • Сообщений: 58
    • Просмотр профиля
Re:Обратный парадокс Блаба.
« Ответ #3 : Февраль 23, 2011, 05:40:55 am »
Я ж и говорю: большинство - это молодые бандарлоги...  ;D

DIzer

  • Гость
Re:Обратный парадокс Блаба.
« Ответ #4 : Февраль 23, 2011, 06:50:25 am »
Да нет. Это ж клинический, крайний случай описан.

Отказ от высокоуровневых абстракций всегда делается ради чего-то. Например имеет смысл понижать уровень используемого языка ради быстродействия (если оно критично и если оно повышается при отказе от механизма абстрагирования). И это все понимают (кто не страдает этим самым обратным парадоксом Блаба, а таких таки большенство).
Не очень понятно сочетание - "уровень используемого языка"- это эквивалент  "дополнительных конструкций языка" общего плана в задачах, где это не является необходимым? крайний случай ( I=I+++J )?

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Обратный парадокс Блаба.
« Ответ #5 : Февраль 23, 2011, 11:39:56 am »
Я ж и говорю: большинство - это молодые бандарлоги...  ;D
Не, большенство как раз вменяемо, но вот громко кричащих (с обоих сторон) слышно лучше, и поэтому кажется что их много :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Обратный парадокс Блаба.
« Ответ #6 : Февраль 23, 2011, 12:11:41 pm »
Не очень понятно сочетание - "уровень используемого языка"- это эквивалент  "дополнительных конструкций языка" общего плана в задачах, где это не является необходимым? крайний случай ( I=I+++J )?
Уровень языка, это наличие механизмов построения абстракций из предметной области. Чем больше возможностей, простора, язык нам предоставляет для введения терминов из нужной нам предметной области (где предметная область -- произвольная), тем выше уровень оного языка.

У каждого языка есть некий диапазон уровне на котором программист там может работать. Например у С++ этот диапазон больше чем у Java, причем явовский диапазон, по моему скромному мнению, полностью поглощается С++. Т.е. С++ и более высокоуровневый язык нежели Java и более низкоуровневый одновременно.

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