• Базы данных и NoSQL (Гл. 4 книги «Масштабируемые и высокопроизводительные веб-приложения»)
  • Система мониторинга качества московского воздуха
    +16
    Саша, начни с HTML-версии, оптимизированной для мобильных телефонов. Сэкономишь на разработке тучу времени и сил.
  • Тонкости перегрузки методов по константности *this
    +1
    так «можно не пользоваться» или «вылазит то тут, то там»? :)

    для меня было неприятным открытием история про volatile…
  • О монадических технологиях
    0
    реквестирую кстати amqp-клиент для хаскелля

    github, anyone?
  • О монадических технологиях
    0
    исправил PDF, спасибо!

    ну слава богу, ни плесневелого, ни гнилого, в этом тексте нет!
    вот придумают люди сравнение.
  • О монадических технологиях
    0
    я не про вообще минусы — против них я ничего не имею

    я про конкретно минусы моих замечаний к блог-посту lisp-univ-etc.blogspot.com/2009/11/blog-post.html, который якобы «всё понятно объясняет»

  • О монадических технологиях
    +4
    ну мне самому такой текст очень бы пригодился год назад.

    я уж не стал бы нос воротить.
  • О монадических технологиях
    –1
    структурировать понимание
  • О монадических технологиях
    +2
    > Но люди будут учиться по статьям и книгам, которые им понятны.

    ага. потом они будут лечиться по статьям которые им понятны (из газеты московский комсомолец).

    потом они будут развивать науку по учебникам, которые им понятны (всю современную физику — в топку!)

    ну в общем тоже позиция.
  • О монадических технологиях
    +2
    прошу минусующего мои комментарии к этому блог-посту рассказать, ЗАЧЕМ он это делает :-\

  • О монадических технологиях
    +1
    я не понимаю — то есть Вам все равно, что статья, из которой Вам «стало лучше понятно, что такое монады» — переполнена непониманием?

    все равно она «лучше», чем то, что написано сверху?
  • О монадических технологиях
    +1
    зачем???
  • О монадических технологиях
    +2
    > Принято говорить, что, в целом, язык ленивый, а вся неленивость/энергичность (eagerness) находится (так и хочется сказать, заточЕна) внутри монад. Но дело в том, что любая Haskell-программа находится внутри монады IO. В итоге оказывается, что ленивыми в Haskell являются только чистые функции, а все вычисления (в понимании программистском), которых, на самом деле, большая часть — все равно остаются энергичными.

    запредельная каша в голове, увы :(

    я ж не обижаюсь, правда. здесь действительно написана каша.

    при том что центральный тезис статьи (про то что монада — это стратегия вычисления) в общем верный.
  • О монадических технологиях
    +1
    > То, что в других языках представляет из себя единую ткань вычислений, в рамках Haskell разделено на 2 класса: чистые (обычные функции) и «грязные» (монады).

    это не так

    > Это приводит к разделению (дублированию) синтаксиса

    это не так. синтаксический сахар do здесь нерелевантен — некоторый монадический код легче пишется без него.

    > На практике же введение дополнительных правил приводит к тому, что появляется определенный предел выразительности языка и близости его к предметной области.
    > концепция монады, монадного трансформера и т.д. неимоверно далеки от любой предметной области, которая встречается при программировании, а абстрагировать их средствами Haskell не удастся.

    удивительные высказывания! просто удивительные. особенно поражает изобилие примеров, демонстрирующих ход мысли, ага.

    > Более того, само понятие вычисления, которое в других языках остается имплицитным, в Haskell'е достается на поверхность. Именно с этим, по-моему, связанны частые претензии к преувеличенной сложности Haskell программ.

    угу. давайте оставим вычисление имплицитным, и будем искать race conditions и deadlocks до посинения.

    > (вот, в С не было стратегии вычисления Exception, а в С++ появилась :)

    как это не было?
  • О монадических технологиях
    0
    а, я кажется туплю.

    std::pair<T, T> solve действительно можно передать int в качестве T.

    да
  • О монадических технологиях
    0
    так это не совсем Embedded DSL

    напишите функцию to_integer(), там будет обход AST и превращения типа case '/': return x / y; case '*': return x * y;

    речь-то шла о том, что хаскель даёт доступ непосредственно к своему собственному AST.

    хаскельное решение ближе к языку.
  • О монадических технологиях
    0
    > Практического смысла в Haskell пока почти нет никакого.

    угу. лет через пятнадцать в очередном дистрибутиве PHP всё это появится, и Вы начнете этим пользоваться да нахваливать. Лямбду вам уже подогнали, не прошло и 30 лет.

    Это называется «вечно плестись в хвосте». :)
  • О монадических технологиях
    +1
    я мог бы ответить на этот вопрос, но так как всё, что я скажу, можно прочитать где-нибудь в другом месте — то делать этого я не буду

    ну и опять же, понимания читателю не добавлю.
  • О монадических технологиях
    +2
    это говорит мне человек, написавший 1500 комментариев на Хабре? :)
  • О монадических технологиях
    0
    ну это уже вообще ПТУ какое-то

    для полного счастья мне не хватает тут комментария «чё очки нацепил, умный самый?»

    дааа, ребята… :-(
  • О монадических технологиях
    0
    ну полиморфизмы разные бывают

    я аналогов полиморфизму через typeclassы в других языках найти не могу

    в презентации Augustsson'а есть примеры, слайд 26 и 48
  • О монадических технологиях
    –1
    ох господи, что за напасть!

    ещё один вопрос из преисподней!
  • О монадических технологиях
    +1
    по-моему, мотивационная часть статьи находится в точности в её начале:

    Однако, мне кажется, что важно было бы озвучить, что всё то, что сейчас скрывается под именем «монада» — само по себе достаточно спутанно в плане педагогики и евангелизма. [...]
    Монады в настоящий момент являются миру как сложный ком из исторически обусловленных причин, проблем, решений, технических возможностей и теоретических основ (как алгебраических, так и аспектов теории вычислений).
    Все эти наслоения можно (и нужно) расщепить
  • О монадических технологиях
    +1
    да ладно, мы не в детском саду.

    так я не понимаю Вашей когнитивной стратегии — Вы по всем изучаемым вопросам ждёте, чтобы изложение было «структурированным, логически связным, наконец «филологически целостным». »?

    Вы понимаете, что при этом обрекаете себя на вечное нахождение в арьергарде?
  • О монадических технологиях
    –3
    ну и отлично

    желающие штурмовать тем не менее всегда находятся.

    да и тёлки им дают получше ;)
  • О монадических технологиях
    +5
    я, к сожалению, забыл предупредить, видимо, что этот текст написан для уровня (наверное) Upper-Intermediate (но по стандартам, здесь сложившимся — Ultra-High Advanced).

    Если Вам дать книгу «Физика полупроводников», Вы же не станете говорить «книга написана непонятно! Что это за зоны Бриллюэна?! Что это за неопределенность Гейзенберга?!!! Устраните неопределенность, а потом учите!», не правда ли?

    Да, этот текст предполагает достаточно существенное знакомство с проблематикой и вообще желание в ней самостоятельно разобраться.

    Clean — это язык программирования, почитайте про него. Значение аббревиатуры ЕМНИП можно найти на sokr.ru. Чтобы узнать, что такое экосистема языка, надо попрограммировать на нём с годик. Проблемы с вводом-выводом — обычные для чистых строгих ленивых функциональных языков: почитайте, что это такое — ничего плохого от этого не случится, а случится только хорошее :)

    Вполне возможно, что Вам просто никогда не понадобится ничего из того, что здесь упоминается. Это нормально. Я протестую только против подхода, что любой текст должен быть немедленно понятен.
  • О монадических технологиях
    +7
    я с сожалением констатирую, что похоже, многие на Хабре привыкли находиться в положении птенцов с широко раскрытыми клювиками, в который заботливые родители вкладывают небольшие полупережеванные кусочки пищи.

    Вы действительно постоянно ощущаете себя в общеобразовательной школе, со всеми сопутствующими обстоятельствами?

    Я нигде не говорил, что это такой специальный туториал, начинающийся со слов «Здравствуй, малыш! Ты, наверное, замечал, что в последнее время твой компилятор стал часто ругаться особенно страшными и длинными словами! Давай-ка вместе споём песенку про грибок, а потом попробуем разобраться, что же это за такая штука-то — continuation passing style!» :)

    мне остаётся лишь надеяться, что здесь ещё можно встретить людей, готовых самостоятельно жарить себе мясо и запивать его превосходным вином.
  • О монадических технологиях
    –2
    я не очень понимаю постановку вопроса

    одни люди ездят в Турцию по системе All Included, другие — штурмуют восьмитысячники.

    действительно, после прочтения неприукрашенного отчета о штурме пятитысячника первые в очередной раз укрепятся в мысли, что их выбор совершенно безопасен и неутомителен.

    Но ведь штурмовать — интереснее, разве нет?
  • О монадических технологиях
    +1
    интересно при этом, что высшего образования у меня нет.
  • О монадических технологиях
    0
    в Вашем вопросе так много нарушений логических уровней (по Бейтсону), что я даже не знаю, как на него ответить… :)
  • О монадических технологиях
    +2
    я не знаю что там про пропаганду, но Вас же (я надеюсь) не удивляет, что математика состоит как из арифметики, так и из топосов Гротендика? :)
  • О монадических технологиях
    +2
    покажите несколько постов на Хабре, которые Вам кажутся понятными

    поучусь ;)
  • О монадических технологиях
    0
    это примерно полтора года изучения вопроса, около 1000 прочитанных страниц.

  • Аудит системы контроля версий, ч. I
    0
    вы говорите про «использование» веток

    я говорю про их концептуальную структуру

    поэтому у вас получается длинная увлекательная история про горнопроходческий щит, которая к моему тезису не имеет ни какого отношения

  • Аудит системы контроля версий, ч. I
    0
    бдыщь
    бдыщь бдыщь

  • Аудит системы контроля версий, ч. I
    0
    я осознал безнадёжную неадекватность Subversion только после того, как понял устройство репозитория Git

    к сожалению, я не знаю ни одного текста, в котором это устройство обсуждалось бы в чистом виде, без примешивания туда вопросов workflow.

  • Аудит системы контроля версий, ч. I
    0
    блин
    отвечаю ерунду и на ерунду

    у вас опять нарушение логических уровней

    вы говорите про «использование» веток

    я говорю про их концептуальную структуру

    мой длинный тупой комментарий отзываю

  • Аудит системы контроля версий, ч. I
    0
    > А если серьёзно — при пользовании любой системы максимальные плюсы и простоту
    > использования получаешь, вставая на точку зрения её проектировщиков, и действуя в
    > рамках предлагаемой ими логической модели.

    этот тезис верен только при одном дополнительном условии: «нельзя изучать альтернативы»

    слава богу, в 2008 году это не так

    и изучив альтернативы, мы чётко понимаем, что отсутствие выделенных понятий ветки и тэга — это проблема в Subversion

    изнутри конечно оно может и не казаться проблемой

    «у нас так спокон веку делают»

    но при этом теряется возможность осознать, какой handicap ты на себя (возможно) навесил

  • Аудит системы контроля версий, ч. I
    0
    если проблему назвать бонусом — от этого она не перестанет быть проблемой

    поэтому дальше я комментарий читать не буду

    время экономлю

  • Аудит системы контроля версий, ч. I
    0
    и вот ещё одно нарушение логических уровней

    что значит «папка на диске».

    нет такой вещи, как «папка на диске».

    есть специальный inode с некоторыми флагами + формат хранения direntries

    тогда этот псевдопарадокс становится хоть как-то валидным