Современный Fortran на практике
Язык программирования Fortran изначально был предназначен для выполнения математических вычислений с максимальной производительностью. В самый последний стандарт Fortran 2008 включено большое количество современных функциональных возможностей: средства объектно-ориентированного программирования, специализированные операции с массивами, типы, определяемые пользователем и поддержка параллельных вычислений. Данное учебное руководство помогает программистам на языке Fortran научиться применять все...
LLVM: инфраструктура для разработки компиляторов
LLVM (Low Level Virtual Machine, низкоуровневая виртуальная машина)– новейший фреймворк для разработки компиляторов. Благодаря простоте расширения и организации в виде множества библиотек, LLVM легко поддается освоению даже начинающими программистами, вопреки устоявшемуся мнению о сложности разработки компиляторов. Сначала эта книга покажет, как настроить, собрать и установить библиотеки, инструменты и внешние проекты...
OpenGL ES 3.0. Руководство разработчика
OpenGL ES – это ведущий интерфейс и графическая библиотека для рендеринга сложной трехмерной графики на мобильных устройствах. Последняя версия, OpenGL ES 3.0, делает возможным создания потрясающей графики для новых игр и приложений, не влияя на производительность устройства и время работы аккумулятора.Авторы рассматривает весь API и язык для написания шейдеров. Они...
От математики к обобщенному программированию
В этой основательной и вместе с тем доступной книге проектировщик новаторского программного обеспечения Александр Степанов и его коллега Дэниэл Роуз объясняют принципы обобщенного программирования и стоящее за ними понятие математической абстракции. Понимание этих принципов поможет вам писать код одновременно более простой и более эффективный. Любой достаточно квалифицированный программист, умеющий логически...
Эффективное использование потоков в операционной системе Android
При написании действительно полезного и удобного приложения для Android без многопоточности никак не обойтись, но как узнать о технологиях и методиках, которые помогут решить такую задачу? Эта книга с практической точки зрения описывает несколько асинхронных механизмов, доступных в программной среде Android SDK, а также рассматривает основные принципы и правила выбора...
Квантовые вычисления и функциональное программирование
В книге рассматриваются вопросы наиболее перспективного направления исследований в информационно-коммуникационных технологиях — модели квантовых вычислений. Текст построен как можно более просто — главной задачей автор поставил для себя возможность чтения книги без наличия специальных знаний по квантовой механике и другим естественным наукам, наполненным математическим анализом. В качестве языка программирования, при...
OpenGL 4. Язык шейдеров. Книга рецептов
Язык шейдеров OpenGL (OpenGL Shading Language, GLSL) является фундаментальной основой программирования с использованием OpenGL. Его применение дает беспрецедентную гибкость и широту возможностей, позволяет использовать мощь графического процессора (GPU) для реализации улучшенных приемов отображения и даже для произвольных вычислений. Версия GLSL 4.x несет еще более широкие возможности, благодаря введению новых видов...
Язык С в XXI веке
Язык C — не просто фундамент всех современных языков программирования, он и сам — современный язык, идеальный для написания эффективных приложений передового уровня. Последние 20 лет C не стоял на месте. Сам язык и окружающая его экосистема подвергаются пересмотру. Эта книга начинается там, где другие заканчиваются. В ней рассказано, как...
Семь моделей конкуренции и параллелизма за семь недель
Раскрываем тайны потоков! С появлением микропроцессоров, обладающих большим числом ядер, понимание конкуренции и параллелизма при разработке программного обеспечения стало еще более важным, чем прежде. В книге вы познакомитесь с преимуществами функционального программирования с точки зрения конкуренции, узнаете, как применять акторы для разработки распределенного программного обеспечения, и исследуете приемы параллельной обработки...
Практическое использование Common Lisp
В отличие от основной массы литературы про Lisp, эта книга не просто рассказывает о ряде возможностей языка, предоставляя читателю самостоятельно осваивать их на практике. Здесь будут описаны все функции языка, которые понадобятся вам для написания реальных программ. Более трети книги посвящено разработке нетривиальных программ – статистического фильтра для спама, библиотеки...
Изучай Erlang во имя добра!
Erlang является языком выбора для программистов, которые хотят писать надёжные параллельные приложения, но его странный синтаксис и функциональный дизайн могут отпугивать непосвящённых. К счастью, в битве против страха людей перед Erlang появилось новое оружие – «Изучай Erlang во имя добра!» Маэстро Erlang, Фред Хеберт, начинает урок и без спешки поясняет...
Разработка веб-приложений с использованием Flask на языке Python
Получите полный контроль над вашими веб-приложениями с помощью Flask, микрофреймворка на языке Python! В этой книге вы будете изучать фреймворк Flask на пошаговых примерах создания законченного приложения социального блогинга с самого начала. Вместо того чтобы навязывать строгие правила, как это делают другие фреймворки, Flask оставляет за вами свободу принятия решений....
Лямбда-выражения в Java 8
Если вы имеете опыт работы с Java SE, то из этой книги узнаете об изменениях в версии Java 8, обусловленных появлением в языке лямбда-выражений. Вашему вниманию будут представлены примеры кода, упражнения и увлекательные объяснения того, как можно использовать эти анонимные функции, чтобы сделать код проще и чище, и как библиотеки...
Программирование на OCaml
Это динамичное руководство введет вас в мир OCaml, надежный язык программирования, обладающий большой выразительностью, безопасностью и быстродействием. Пройдя через множество примеров, вы быстро поймете, что OCaml – это превосходный инструмент, позволяющий писать быстрый, компактный и надежный системный код. Книга быстро проведет вас по основным понятиям языка и затем расскажет о...
Без паники! Цифровая обработка сигналов
Вы держите перед собой путеводитель в увлекательный мир цифровой обработки сигналов. В живой и наглядной форме здесь излагаются вопросы представления сигналов и способы их математической обработки. Несмотря на кажущуюся простоту, книга довольно обстоятельно знакомит с такими сложными понятиями как функции корреляции и ряды Фурье, дискретное и быстрое преобразование Фурье, а...
Девять алгоритмов, которые изменили будущее
Сегодня, в XXI веке, мы постоянно используем впечатляющие технологические достижения, воспринимая это как должное. Но никаких вычислительных устройств, будь то мощные суперкомпьютеры или модные мини-гаджеты, не появилось бы на свет без основополагающих идей информатики, возникших в XX столетии. Вдумайтесь: сделали ли вы сегодня что-нибудь поразительное? Быть может, в течение нескольких...
Параллельное и конкурентное программирование на языке Haskell
Если вы уже владеете программированием на языке Haskell, эта книга научит вас использованию множества интерфейсов и библиотек, предназначенных для написания параллельных и конкурентных программ. Вы узнаете, как распараллеливание на многоядерные процессоры позволяет ускорять вычислительно нагруженные программы и как конкурентность облегчает написание программ с активно взаимодействующими между собой и с другими...
Python на практике
Если вы – опытный программист на Python, то после прочтения данной книги ваши программы станут более качественными, надежными, быстрыми, удобными для сопровождения и использования. В центре внимания Марка Саммерфилд находятся четыре основных темы: повышение элегантности кода с помощью паттернов проектирования, повышения быстродействия с помощью распараллеливания и компиляции Python-программ (Cython), высокоуровневое...
Искусство поиска решения в нестандартной задаче
Книга является заключительной в авторской трилогии книг после «Современное программирование с нуля» и «Искусство алгоритмизации». Эта книга о том, что делать с задачей, если её решение нельзя вычитать в учебнике. Иначе говоря, – эта книга о творчестве в программировании. В тексте вы не найдете готовых рецептов, скорее, это описание того,...
Cuda Fortran для ученых и инженеров
Fortran – один из важнейших языков программирования для высокопроизводительных вычислений, для которого было разработано множество популярных пакетов программ для решения вычислительных задач. Корпорация NVIDIA совместно с The Portland Group (PGI) разработали набор расширений к языку Fortran, которые позволяют использовать технологию CUDA на графических картах NVIDIA для ускорения вычислений. Книга демонстрирует...