169 похожих чатов

Почему народ так бомбит с Александра Гранина, автора продвинутой книги

по Haskell? Ответ, на мой взгляд, очень прост. Бомбят приверженцы вполне определенной философии: философии превосходства академического Haskell. Это всевозможные восторженные новички в Haskell, авторы PhD по Computer Science, любители тащить в Haskell Category Theory, ненавистники мейнстрима и прочие их коллеги. Возможно бывшие, пришедшие уже в Haskell, но точно люди с соответствующим бэкграундом.

Их бомбит от того, что дерзкий молодой человек, взял и сломал максиму, на которой держится их уютный мир и стабильный заработок. Максима следующая: «мы тут двигаем прогресс, а эти ваши мейнстримные практики тухлого яйца не стоят». Вся их картина мира годами создавалась на постулате, что хаскеллист – это главное лицо в программировании, что разработку надо начинать с математики и самое главное для успеха – это впечатлить других своей крутостью. А чтобы больше впечатлить, надо что? Правильно, больше писать заумных материалов. До сих пор можно встретить кучу прохладных историй про то, как какой-то там человек пошёл и написал мозговыносящую библиотеку на Type Family, и теперь он самый крутой и успешный. Их рассказывают познавшие магию на типах патриархи неокрепшим юным падаванам. Лирический герой в этих историях неизменно пробивается из никому неизвестного парня в хозяина жизни исключительно благодаря своему могучему интеллекту и теории категорий (зачёркнуто) математике. И на этом вот образе паразитирует огромный мир Haskell.

И тут приходит молодой человек и в своих материалах говорит о том, что хаскеллисты – это токсичные нарушители границ, что их работа ему как практику не нужна, и что в целом у него всё окей и он совершенно не готов помогать им заниматься их теорией типов и прочими переусложненными техниками. Он говорит, что понимание потребности – это проблема разработчика и чтобы создать что-то ценное, нужно не бежать писать пейперы, а исследовать, разбираться в клиенте и понимать его. Желательно экологично и необременительно для него самого.

Эта совершенно другая максима: «не впечатлить, а быть полезным бизнесу». Она полностью разворачивает весь подход к выстраиванию проектов в компании. Она обращена на изучение клиента и использование готовых практик, а не на попытки впарить матан, надеясь, что клиент сдастся. И конечно она рушит весь тот фундамент, который старательно выстраивают хаскеллисты, зарабатывающие очки в сообществе на желании всех быть такими же умными как они.

И тут, повторюсь, молодой человек этот фундамент рушит одной книгой в Manning Publications. Конечно у сообщества бомбануло. Не способные вынести эту кошмарную для них правду они начали докапываться до слов, до интонаций, до тона оф войса, гыгыкать, оскорблять и обесценивать парня. Но за этим, конечно, настолько явно виднеется банальное «вывсёврёти этовсёнитак, нитак, нитак!», что хочется их пожалеть. Обесценивание это – не более чем реакция на то, что цена этих слов оказалась для них слишком высока. Собственно говоря это и есть их цена как специалистов и экспертов. Но она не оказалась – вдруг – настолько низкой, что вызвала технический дефолт. Нет, она всегда была такой. Просто сейчас нашёлся мальчик (а точнее мальчик), который сказал:

«а Хаскель-то голый!»

https://www.facebook.com/story.php?story_fbid=6356095417764279&id=100000916516744&m_entstream_source=permalink

2 ответов

16 просмотров

Lambda Calculus Meets Borrowing

Да так любой тролль с двача тебе скажет. Каждому верить?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта