Clojure на производстве. Зипперы, базы данных, REPL
Продолжение книги, изданной три года назад. Мы продолжим изучать Clojure — замечательный язык с акцентом на неизменяемость и асинхронность.По структуре и изложению книга похожа на первый том. Мы подробно рассмотрим несколько тем, чередуя теорию с практикой. Вас ждут зипперы, базы данных и обширное понятие REPL. Материал рассчитан на продвинутую аудиторию....
Clojure на производстве
Clojure? Это где скобочки и нет типов? На производстве? Всё верно. Книга расскажет о том, как строят боевые системы на этом языке: от простого к сложному, скобка за скобкой.До сих пор информацию о Clojure можно было найти только в книгах на английском и в отдельных статьях в интернете. Ситуация меняется:...
Изучаем квантовые вычисления на Python и Q#
Квантовые компьютеры обеспечивают радикальный скачок в скорости и вычислительной мощи. Совсем скоро могут появиться усовершенствованные научные модели и новые рубежи в криптографии, которые были немыслимы при использовании классических вычислений. Комплект инструментов для квантовой разработки от компании Microsoft и язык Q# предоставляют вам возможность поупражняться в квантовых вычислениях, даже если вы...
Функциональное программирование на C++
Хорошо написанный код легче тестировать и использовать повторно, его проще распараллелить, и он меньше подвержен ошибкам. Владение приемами функционального программирования поможет вам писать код, соответствующий требованиям к современным приложениям, проще выражать сложную логику программ, изящно обрабатывать ошибки и элегантно оформлять параллельные алгоритмы. Язык C++ поддерживает функциональное программирование с использованием шаблонов,...
Elixir в действии
При разработке программного обеспечения для решения критически важных задач огромную роль играет отказоустойчивость. Язык программирования Elixir позволяет создавать быстрые и надежные приложения, будь то крупная распределенная система, набор сервисов для бекенда или простенькое веб-приложение. Элегантный синтаксис Elixir и функциональный образ мышления позволяют достичь простоты в написании, чтении и поддержке кода....
Изображение квантовых процессов
Не имеющие аналогов особенности квантового мира в этой книге объясняются на языке диаграмм – новаторском наглядном методе изложения сложных теорий. Применяемый формализм позволяет выработать интуитивное понимание квантовых особенностей без сложных вычислений – для чтения достаточно базовой математической подготовки. Это чисто диаграммное изложение квантовой теории – плод 10-летних исследований, объединяющий классические...
Программируй на Haskell
Языки программирования зачастую отличаются лишь отдельными элементами: несколько ключевых слов, библиотек или платформенных решений. Haskell формирует абсолютно новую точку зрения. По мнению пионера программного обеспечения Алана Кея, смена парадигмы может дать 80 баллов IQ, и разработчики на Haskell соглашаются с исключительными преимуществами мышления в стиле Haskell: функционального подхода с ориентацией...
Akka в действии
Akka упрощает создание приложений для работы в облаке или на многоядерных устройствах и помогает эффективно использовать все доступные вычислительные мощности. Этот фреймворк предлагает модель программирования на основе акторов, среду выполнения и инструменты поддержки, необходимые для создания масштабируемых приложений. Данная книга знакомит со всеми идеями Akka на действующих примерах. Сначала вы...
Конкурентное программирование на SCALA
Scala – современный, мультипарадигменный язык программирования, позволяющий описывать типичные шаблоны программирования компактнее, выразительнее и безопаснее. Scala прекрасно сочетает в себе черты объектно-ориентированных и функциональных языков. Книга начинается с введения в основы конкурентного программирования в JVM и описания модели памяти в Java, а после демонстрирует основные строительные блоки для реализации конкурентных...
SCALA для нетерпеливых. Второе издание
Написанная для опытных программистов на Java, C++ и C#, которые желают освоить функциональное программирование или язык Scala, книга в сжатой форме знакомит с основными идеями и приемами программирования, что позволяет быстро осваивать их и применять на практике. Это введение в язык особенно хорошо подходит для нетерпеливых пользователей, желающих изучать основы...
Введение в Elixir
Отличное введение в Elixir для людей с практическим складом ума. Авторы сразу переходят к сути и дают прекрасный обзор возможностей языка Elixir, достаточно глубокий, чтобы познакомить читателя с языком и вызвать желание попробовать его. Красивый, мощный и компактный, язык программирования Elixir отлично подходит для изучения функционального программирования, и это практическое...
Проектирование масштабируемых систем в Erlang/ОТР
Реализация надежных и устойчивых к сбоям систем Итак, вам требуется создать масштабируемую и устойчивую к сбоям систему, имеющую требования к высокой доступности. Узнайте, почему платформа Erlang/OTP так известна широтой, глубиной и согласованностью своих возможностей. Это практическое руководство демонстрирует использование языка Erlang и его платформы OTP, состоящей из библиотек, инструментов и...
Чисто функциональные структуры данных
Большинство книг по структурам данных предполагают использование императивного языка программирования, например, С/С++ или Java. Однако реализации структур данных на таких языках далеко не всегда хорошо переносятся на функциональные языки программирования, такие как Стандартный ML, Haskell или Scheme. В этой книге структуры данных описываются с точки зрения функциональных языков, в ней...
Квантовые вычисления и функциональное программирование
В книге рассматриваются вопросы наиболее перспективного направления исследований в информационно-коммуникационных технологиях — модели квантовых вычислений. Текст построен как можно более просто — главной задачей автор поставил для себя возможность чтения книги без наличия специальных знаний по квантовой механике и другим естественным наукам, наполненным математическим анализом. В качестве языка программирования, при...
Семь моделей конкуренции и параллелизма за семь недель
Раскрываем тайны потоков! С появлением микропроцессоров, обладающих большим числом ядер, понимание конкуренции и параллелизма при разработке программного обеспечения стало еще более важным, чем прежде. В книге вы познакомитесь с преимуществами функционального программирования с точки зрения конкуренции, узнаете, как применять акторы для разработки распределенного программного обеспечения, и исследуете приемы параллельной обработки...
Практическое использование Common Lisp
В отличие от основной массы литературы про Lisp, эта книга не просто рассказывает о ряде возможностей языка, предоставляя читателю самостоятельно осваивать их на практике. Здесь будут описаны все функции языка, которые понадобятся вам для написания реальных программ. Более трети книги посвящено разработке нетривиальных программ – статистического фильтра для спама, библиотеки...
Изучай Erlang во имя добра!
Erlang является языком выбора для программистов, которые хотят писать надёжные параллельные приложения, но его странный синтаксис и функциональный дизайн могут отпугивать непосвящённых. К счастью, в битве против страха людей перед Erlang появилось новое оружие – «Изучай Erlang во имя добра!» Маэстро Erlang, Фред Хеберт, начинает урок и без спешки поясняет...
Лямбда-выражения в Java 8
Если вы имеете опыт работы с Java SE, то из этой книги узнаете об изменениях в версии Java 8, обусловленных появлением в языке лямбда-выражений. Вашему вниманию будут представлены примеры кода, упражнения и увлекательные объяснения того, как можно использовать эти анонимные функции, чтобы сделать код проще и чище, и как библиотеки...
Программирование на OCaml
Это динамичное руководство введет вас в мир OCaml, надежный язык программирования, обладающий большой выразительностью, безопасностью и быстродействием. Пройдя через множество примеров, вы быстро поймете, что OCaml – это превосходный инструмент, позволяющий писать быстрый, компактный и надежный системный код. Книга быстро проведет вас по основным понятиям языка и затем расскажет о...
Параллельное и конкурентное программирование на языке Haskell
Если вы уже владеете программированием на языке Haskell, эта книга научит вас использованию множества интерфейсов и библиотек, предназначенных для написания параллельных и конкурентных программ. Вы узнаете, как распараллеливание на многоядерные процессоры позволяет ускорять вычислительно нагруженные программы и как конкурентность облегчает написание программ с активно взаимодействующими между собой и с другими...