Почему функциональное программирование такое сложное
Я несколько раз начинал читать статьи и серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.
Самым непонятным и зубодробительным оказалось, наверное, Теория Категорий. Я освоился в ней только с третьего подхода. В первые два раза я честно все прочитал, кажется понял, но т.к. никакой связки с реальной жизнью она не имела, то спустя неделю она благополучно полностью выветривалась.
Попытки использовать как-то в работе изученные концепции разбивались о полное непонимание, как применить полученное глубокое знание. Ведь, напомню, что парадигму ФП (где-то удобнее, где-то не очень, но) можно использовать практически в любом ЯП, совсем необязательно для этого изучать условный Хаскель. Читать дальше → http://amp.gs/WhJT
Я несколько раз начинал читать статьи и серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.
Самым непонятным и зубодробительным оказалось, наверное, Теория Категорий. Я освоился в ней только с третьего подхода. В первые два раза я честно все прочитал, кажется понял, но т.к. никакой связки с реальной жизнью она не имела, то спустя неделю она благополучно полностью выветривалась.
Попытки использовать как-то в работе изученные концепции разбивались о полное непонимание, как применить полученное глубокое знание. Ведь, напомню, что парадигму ФП (где-то удобнее, где-то не очень, но) можно использовать практически в любом ЯП, совсем необязательно для этого изучать условный Хаскель. Читать дальше → http://amp.gs/WhJT
Хабр
Почему функциональное программирование такое сложное
Я несколько раз начинал читать статьи из серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление».
Настройка удаленной работы для начинающих: синхронизация файлов и предоставление доступа http://amp.gs/WhHj
Хабр
Настройка удаленной работы для начинающих: синхронизация файлов и предоставление доступа
Рассматриваем преимущества и недостатки перехода на платформы удаленного сотрудничества, моменты, которые стоит учесть перед внедрением, сравниваем между собой...
[recovery mode] К вопросу об Апофении, Телегонии и Путешествиях во времени (и функции с _ в начале)
В 1958 году немецкий нейропсихолог Клаус Конрад ввел термин «апофения» (от лат. apophene — высказывать суждение, делать явным; термин восходит к текстам религиозных откровений, где означает знание, достигаемое вне процесса познания), подразумевая под ним свойство психики, заключающегося в способности видеть взаимосвязи в бессмысленных или случайных фактах или данных и находить смысл в совпадениях. Иллюзия осмысленной связи. Наш мозг постоянно ищет закономерности, но зачастую допускает ошибки и возникает иррациональное желание видеть закономерности там, где их нет. Своеобразное желание подчиняться совпадениям и случайностям. Это и называют апофенией. В математической статистике – это стандартная ошибка первого рода.
Непряхин Н. «Я манипулирую тобой»
Почему я вспомнил об этом термине, особенно на IT ресурсе? Потому что поиск взаимосвязей среди разрозненных фактов во время отладки программ — один из основных факторов, определяющих её успешность. Ряд случайных неточностей в работе, каждая из которых никак не показывает причины своего возникновения и не влияет на работу программы в целом может казаться хаотичным. Однако, если попытаться найти между ними взаимосвязь то можно решить сразу массу проблем одной строчкой кода… Или убедиться, что взаимосвязь — не что иное, как игры разума, порождение фантазии разработчика. Читать дальше → http://amp.gs/Whbn
В 1958 году немецкий нейропсихолог Клаус Конрад ввел термин «апофения» (от лат. apophene — высказывать суждение, делать явным; термин восходит к текстам религиозных откровений, где означает знание, достигаемое вне процесса познания), подразумевая под ним свойство психики, заключающегося в способности видеть взаимосвязи в бессмысленных или случайных фактах или данных и находить смысл в совпадениях. Иллюзия осмысленной связи. Наш мозг постоянно ищет закономерности, но зачастую допускает ошибки и возникает иррациональное желание видеть закономерности там, где их нет. Своеобразное желание подчиняться совпадениям и случайностям. Это и называют апофенией. В математической статистике – это стандартная ошибка первого рода.
Непряхин Н. «Я манипулирую тобой»
Почему я вспомнил об этом термине, особенно на IT ресурсе? Потому что поиск взаимосвязей среди разрозненных фактов во время отладки программ — один из основных факторов, определяющих её успешность. Ряд случайных неточностей в работе, каждая из которых никак не показывает причины своего возникновения и не влияет на работу программы в целом может казаться хаотичным. Однако, если попытаться найти между ними взаимосвязь то можно решить сразу массу проблем одной строчкой кода… Или убедиться, что взаимосвязь — не что иное, как игры разума, порождение фантазии разработчика. Читать дальше → http://amp.gs/Whbn
Хабр
К вопросу об Апофении, Телегонии и Путешествиях во времени (и функции с _ в начале)
В 1958 году немецкий нейропсихолог Клаус Конрад ввел термин «апофения» (от лат. apophene — высказывать суждение, делать явным; термин восходит к текстам религиоз...
Распределенное обучение и вычисления в сети. Доклад Яндекса http://amp.gs/WvzQ
Хабр
Распределенное обучение и вычисления в сети. Доклад Яндекса
Все эксперты по сетям знакомы с принципом end-to-end, когда специфичные для конкретной задачи фичи реализовываются на конечных нодах, а промежуточные ноды должны...
[Из песочницы] Использование Enum + Associated Values при навигации и передаче данных между экранами в IOS приложениях http://amp.gs/WvxT
Хабр
Использование Enum + Associated Values при навигации и передаче данных между экранами в IOS приложениях
В этом посте мне бы хотелось затронуть извечный вопрос об организации навигации и передачи данных между экранами в IOS приложениях. В первую очередь, я хотел бы...
Банки, бизнес и API: онлайн-хакатон Райффайзенбанка по решениям для малого и среднего бизнеса http://amp.gs/Wvfa
Хабр
Банки, бизнес и API: онлайн-хакатон Райффайзенбанка по решениям для малого и среднего бизнеса
Скоро стартует онлайн-хакатон Райффайзенбанка, и мы приглашаем вас сойтись в командном брейншторме, чтобы создать самые крутые IT-решения. В этой статье не тольк...
[Из песочницы] О декодировании протокола погодных датчиков Oregon Scientific http://amp.gs/Wv9P
Хабр
О декодировании протокола погодных датчиков Oregon Scientific
Лет десять назад как-то по случаю я купил простенькую погодную станцию Oregon Scientific BAR208HG. Радовала она домочадцев достаточно долго, и продолжает радоват...
[Перевод] Необходимый инструмент для каждого дата-сайентиста http://amp.gs/Wv9X
Хабр
Необходимый инструмент для каждого дата-сайентиста
Давайте посмотрим правде в глаза: обучение модели машинного обучения отнимает много времени, даже с учетом развития вычислительной техники за последние несколь...
[Перевод] Отзывчивый веб-дизайн и учёт высоты окна браузера http://amp.gs/WvAB
Хабр
Отзывчивый веб-дизайн и учёт высоты окна браузера
Знаю, что у многих появится вопрос о том, почему у этой статьи такой необычный заголовок. Как связаны «отзывчивый веб-дизайн» и «высота окна браузера»? Пожалуй,...
Как нарисовать холдинг, цепочки владения и посчитать доли КИК http://amp.gs/Wv3T
Хабр
Как нарисовать холдинг, цепочки владения и посчитать доли КИК
В юридической практике корпоративных юристов относительно недавно (несколько лет назад) появилась необходимость составлять и подавать уведомления о контролируемы...
[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) http://amp.gs/WvoV
Хабр
Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта)
Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения...
Насколько актуально машинное обучение в повседневной. Обзор http://amp.gs/Wg8b
Хабр
Насколько актуально машинное обучение в повседневной. Обзор
Трудно представить себе жизнь современного человека без машинного обучения и искусственного интеллекта. Данные технологии создают новые возможности. Например, си...
Шесть степеней свободы: 3D object detection и не только http://amp.gs/WgBm
Хабр
Шесть степеней свободы: 3D object detection и не только
В компьютерном зрении часто приходится работать с двумерными изображениями, и значительно реже - с 3D объектами. Из-за этого многие ML инженеры чувствуют себя не...
[Из песочницы] Перевод: Кто такой Full Stack разработчик? http://amp.gs/Wghl
Хабр
Перевод: Кто такой Full Stack разработчик?
Привет, Хабр! Представляю вашему вниманию перевод статьи "What is a Full Stack developer?" автора Laurence Gellert. Кто такой Full Stack разработчик? Разумно ли...