В отличие от основной массы литературы про Lisp, эта книга не просто рассказывает о ряде возможностей языка, предоставляя читателю самостоятельно осваивать их на практике. Здесь будут описаны все функции языка, которые понадобятся вам для написания реальных программ. Более трети книги посвящено разработке нетривиальных программ – статистического фильтра для спама, библиотеки для разбора двоичных файлов и сервера для трансляции музыки в формате MP3 через сеть, включающего в себя базу данных (MP3-файлов) и веб-интерфейс. Издание прнедназначено для программистов различной квалификации, как уже использующих Lisp в своей работе, так и только знакомящихся с этим языком.
Если вы уже владеете программированием на языке Haskell, эта книга научит вас использованию множества интерфейсов и библиотек, предназначенных для написания параллельных и конкурентных программ. Вы узнаете, как распараллеливание на многоядерные процессоры позволяет ускорять вычислительно нагруженные программы и как конкурентность облегчает написание программ с активно взаимодействующими между собой и с другими программами потоками. Автор Саймон Марлоу проведёт вас по этому пути, сопровождая его большим количеством примеров, с которыми можно самостоятельно экспериментировать, запуская, изменяя и расширяя. Книга делится на две части, посвящённые таким инструментам, как Parallel Haskell и Concurrent Haskell, включённые в неё упражнения позволят вам научиться: выражать параллелизм в языке Haskell средствами монады Eval и стратегий вычислений; распараллеливать обычный код на языке Haskell в монаде Par; организовывать параллельные вычисления с массивами на основе библиотеки Repa; использовать библиотеку Accelerate для запуска вычислений на графических процессорах; работать с базовыми интерфейсами для написания конкурентного кода; реализовывать высокопроизводительные конкурентные сетевые серверы; писать распределённые программы, запускающиеся на множестве машин сети.
В книге рассматриваются вопросы наиболее перспективного направления исследований в информационно-коммуникационных технологиях – модели квантовых вычислений. Текст построен как можно более просто – главной задачей автор поставил для себя возможность чтения книги без наличия специальных знаний по квантовой механике и другим естественным наукам, наполненным математическим анализом. В качестве языка программирования, при помощи которого иллюстрируются многочисленные примеры, выбран функциональный язык Haskell, поэтому читатель должен владеть этим языком для полноценного чтения книги. Книга будет интересна всякому, кто интересуется новыми веяниями в области теории вычислений и смежных наук.
Если вы имеете опыт работы с Java SE, то из этой книги узнаете об изменениях в версии Java 8, обусловленных появлением в языке лямбда-выражений. Вашему вниманию будут представлены примеры кода, упражнения и увлекательные объяснения того, как можно использовать эти анонимные функции, чтобы сделать код проще и чище, и как библиотеки помогают в решении прикладных задач. Лямбда-выражения – относительно простое изменение в языке Java; в первой части книги показано, как правильно ими пользоваться. В последующих главах демонстрируется, как лямбда-выражения позволяют повысить производительность программы за счет распараллеливания, писать более простой конкурентный код и точнее моделировать предметную область, в том числе создавать более качественные предметно-ориентированные языки. Издание предназначено для программистов разной квалификации, как правило уже работающих с Java, но не имеющих опыта функционального программирования.
Книга рассказывает о ключевых аспектах создания облачных, мобильных и веб-решений на языке F# в комбинации с различными технологиями для платформы .NET. На практических примерах демонстрируется, как решать проблемы конкуренции, асинхронного выполнения и другие, встречающиеся на стороне сервера. Вы узнаете, как повысить свою продуктивность с помощью языка F#, интегрируя его в существующие веб-приложения или используя его для создания новых проектов. Опытные разработчики для .NET узнают, как этот выразительный язык функционального программирования помогает писать надежные и простые в сопровождении решения, легко масштабируемые и способные адаптироваться для работы на самых разных устройствах. Издание предназначено для программистов разной квалификации, желающих использовать возможности функционального программирования в своих проектах.
Почему многие выбирают Clojure? Потому что это функциональный язык программирования, не только позволяющий использовать Java-библиотеки, службы и другие ресурсы JVM, но и соперничающий с другими динамическими языками, такими как Ruby и Python. Эта книга продемонстрирует вам гибкость Clojure в решении типичных задач, таких как разработка веб-приложений и взаимодействие с базами данных. Вы быстро поймете, что этот язык помогает устранить ненужные сложности в своей практике и открывает новые пути решения сложных проблем, включая многопоточное программирование. Издание предназначено для программистов, желающих освоить всю мощь и гибкость функционального программирования.
Эта книга введет вас в мир OCaml, надежный язык программирования, обладающий большой выразительностью, безопасностью и быстродействием. Пройдя через множество примеров, вы быстро поймете, что OCaml – это превосходный инструмент, позволяющий писать быстрый, компактный и надежный системный код. Вы познакомитесь с основными понятиями языка, узнаете о приемах и инструментах, помогающих превратить OCaml в эффективное средство разработки практических приложений. В конце книги вы сможете углубиться в изучение тонких особенностей инструментов компилятора и среды выполнения OCaml.
Эта книга познакомит вас с Erlang, языком программирования, который идеально подходит для создания параллельных отказоустойчивых приложений, предназначенных для работы в режиме реального времени. С появлением многоядерных процессоров, предоставляющих новые средства масштабирования распараллеленных приложений, Erlang становится все более популярным. Независимо от уровня предварительной подготовки, вы сможете научиться написанию сложных параллельных приложений. Книга написана лидерами международного сообщества Erlang. В ней вы найдете подробное описание правильно построенных списков, рекурсии, отладки, сетевого и параллельного программирования, а также многих других аспектов синтаксиса и семантики языка Erlang.
Книга в сжатой форме описывает, что можно делать на языке Scala, и как это делать. Кей Хорстманн (Cay Horstmann), основной автор всемирного бестселлера «Core Java™», дает быстрое и практическое введение в язык программирования, основанное на примерах программного кода. Он знакомит читателя с концепциями языка Scala и приемами программирования небольшими «порциями», что позволяет быстро осваивать их и применять на практике. Практические примеры помогут вам пройти все стадии компетентности, от новичка до эксперта. Издание предназначено для программистов разной квалификации, как знакомых с языком Scala, так и впервые изучающих языки функционального программирования.