Доступное и тщательное введение в Haskell и функциональное программирование
Мышление в стиле Haskell
Основы функционального программирования
Программирование на типах
Приложения на Haskell в реальных проектах
Эта книга изменит ваше мнение о программировании в лучшую сторону!
Языки программирования зачастую отличаются лишь отельными элементами: несколько ключевых слов, библиотек или платформенных решений. Haskell формирует абсолютно новую точку зрения. По мнению пионера программного обеспечения Алана Кея, смена парадигмы может дать 80 баллов IQ, и разработчики на Haskell соглашаются с исключительными преимуществами мышления в стиле Haskell: функционального подхода с ориентацией на типобезопасность, математическую определённость и многое другое.
Эта книга проведёт вас через короткие уроки, примеры и упражнения, разработанные так, чтобы вы смогли прочувствовать Haskell. В книге вы найдёте кристально ясные иллюстрации и легко сможете попрактиковаться. Вы будете писать и тестировать дюжины интересных программ, а также погрузитесь в различные модули и библиотеки. В итоге перед вами откроется новая перспектива в программировании и возможность использовать Haskell в реальном мире (80 баллов IQ не гарантируются).
Для читателей, который уже знают хотя бы один язык программирования.
Второе издание бестселлера по программированию на языке SCALA!
Быстрое знакомство с интерпретатором, синтаксисом, инструментами и уникальными идиомами
Основные особенности языка: функции, массивы, ассоциативные массивы, кортежи, пакеты, импортирование, обработка исключений и многое другое
Приемы использования Scala для эффективного решения практических задач
Использование функций высшего порядка и обширной библиотеки коллекций в Scala
Использование мощного механизма сопоставления с шаблонами и применение case-классов
Реализация предметно-ориентированных языков
Приемы применения дополнительных мощных инструментов
2-е издание, переработанное и дополненное
Почему многие выбирают Clojure? Это — функциональный язык программирования, не только позволяющий пользоваться Java-библиотеками, службами и другими ресурсами JVM, но и соперничающий с другими динамическими языками, такими как Ruby и Python. В этом исчерпывающем руководстве вы познакомитесь с основами программирования на Clojure на примерах решения повседневных задач, которые могут быть знакомы вам по другим, известным языкам программирования.
Эта книга продемонстрирует вам гибкость Clojure в решении типичных задач, таких как разработка веб-приложений и взаимодействие с базами данных. Вы быстро поймете, что этот язык помогает устранить ненужные сложности из своей практики и открывает новые пути решения сложных проблем, включая многопоточное программирование.
используя Clojure, вы не потеряете свои инвестиции в платформу Java;
в лице Clojure вы получите эффективную реализацию Lisp для JVM;
функциональное программирование помогает избавиться от типичных ошибок;
наличие проверенных временем инструментов упрощает создание надежных многопоточных программ;
Clojure избавляет от необходимости применять сложные и пространные шаблоны проектирования;
имеется возможность создавать собственные абстракции с помощью макросов, типов данных, протоколов и мультиметодов;
поддерживается возможность развертывания крупных веб-приложений на сотнях узлов в облачных инфраструктурах.
В отличие от основной массы литературы про Lisp, эта книга не просто рассказывает о ряде возможностей языка, предоставляя читателю самостоятельно осваивать их на практике. Здесь будут описаны все функции языка, которые понадобятся вам для написания реальных программ. Более трети книги посвящено разработке нетривиальных программ — статистического фильтра для спама, библиотеки для разбора двоичных файлов и сервера для трансляции музыки в формате MP3 через сеть, включающего в себя базу данных (MP3-файлов) и веб-интерфейс.
Издание прнедназначено для программистов различной квалификации, как уже использующих Lisp в своей работе, так и только знакомящихся с этим языком.
Если вы имеете опыт работы с Java SE, то из этой книги узнаете об изменениях в версии Java 8, обусловленных появлением в языке лямбда-выражений. Вашему вниманию будут представлены примеры кода, упражнения и увлекательные объяснения того, как можно использовать эти анонимные функции, чтобы сделать код проще и чище, и как библиотеки помогают в решении прикладных задач.
Лямбда-выражения — относительно простое изменение в языке Java; в первой части книги показано, как правильно ими пользоваться. В последующих главах демонстрируется, как лямбда-выражения позволяют повысить производительность программы за счет распараллеливания, писать более простой конкурентный код и точнее моделировать предметную область, в том числе создавать более качественные предметно-ориентированные языки.
Издание предназначено для программистов разной квалификации, как правило уже работающих с Java, но не имеющих опыта функционального программирования.
Если вы уже владеете программированием на языке Haskell, эта книга научит вас использованию множества интерфейсов и библиотек, предназначенных для написания параллельных и конкурентных программ. Вы узнаете, как распараллеливание на многоядерные процессоры позволяет ускорять вычислительно нагруженные программы и как конкурентность облегчает написание программ с активно взаимодействующими между собой и с другими программами потоками.
Автор Саймон Марлоу проведёт вас по этому пути, сопровождая его большим количеством примеров, с которыми можно самостоятельно экспериментировать, запуская, изменяя и расширяя. Книга делится на две части, посвящённые таким инструментам, как Parallel Haskell и Concurrent Haskell, включённые в неё упражнения позволят вам многому научиться.
Книга в сжатой форме описывает, что можно делать на языке Scala, и как это делать. Кей Хорстманн (Cay Horstmann), основной автор всемирного бестселлера «Core Java™», дает быстрое и практическое введение в язык программирования, основанное на примерах программного кода. Он знакомит читателя с концепциями языка Scala и приемами программирования небольшими «порциями», что позволяет быстро осваивать их и применять на практике. Практические примеры помогут вам пройти все стадии компетентности, от новичка до эксперта.
Издание предназначено для программистов разной квалификации, как знакомых с языком Scala, так и впервые изучающих языки функционального программирования.