Telegram Web Link
Конечно, нельзя не упомянуть о «нашем все» — «Искусстве программирования» (автор Д.Кнут, кто же еще). Признаюсь, что второй и третий тома я только листал, но не погружался. Математическое введение из первого тома я наскоро просмотрел, а затем приступил к изучению ассемблера компьютера MIX. Вот тут мне было реально тяжело. После СМ-4 (PDP-11) MIX казался настолько неуклюжим, допотопным, избыточным, что мне стоило большого труда преодолеть это препятствие (и то, только потому, что мне было интересно разобраться с интерпретатором MIX, написанном на самом MIX). Зато вторая глава, посвященная структурам данных мне, как говорится, «зашла» и я периодически заглядываю в нее.

Языки программирования
Начну с классики на все времена. Это, прежде всего, «Язык программирования Си» (Б.Керниган и Д.Ритчи). Тут мне комментировать нечего.

Далее, «Систематическое программирование» и, разумеется, «Алгоритмы + структуры данных = программы» (автор обеих книг Н.Вирт) (для второй книги я имею в виду издание 1985 года; последующие были значительно беднее). Ясность слога, изящество программ, широта рассматриваемых тем (включая компилятор простого языка высокого уровня); я, честно говоря, до сих пор в восторге от этих книг. Можно было почитать теорию у Д.Кнута и тут же поискать реализацию у Н.Вирта — очень продуктивно и понятно.

Сразу же упомяну небольшую, но очень изящно написанную книгу «Программирование на языке ПАСКАЛЬ» (автор О.Перминов). После книг самого Н.Вирта это, пожалуй, лучшее изложение языка программирования Pascal из тех, что я встречал.

Теперь — совсем неожиданная книга: «Программирование на языке Пролог» (авторы У.Клоксин и К.Меллиш). Я упоминал в первой статье о том, что в начале 90-х язык Prolog был очень популярен и эта книга служила каноническим его описанием. Причем, описанием подробным, местами — дотошным, с массой примеров и упражнений.

Компиляторы
Да‑да, был такой «грех» — я пробовал писать компиляторы (а кто не пробовал!). Тут выбор книг был небольшой, но отличный. Прежде всего, книга уже упоминавшегося Д.Гриса «Конструирование компиляторов для цифровых вычислительных машин». После небольшой теории следовал ряд глав, посвященных основным частям компиляторов: лексический анализатор, синтаксический анализатор и, конечно, генератор кода. Очень подробно изложение, с большим количеством примеров. Долгое время книга Д.Гриса оставалась единственным столь подробным и ориентированным на практику руководством (знаменитая «книга дракона» была переведена значительно позже, а двухтомник «Теория синтаксического анализа, перевода и компиляции» А.Ахо и Дж.Ульмана был книгой чересчур теоретической, хотя и единственной в своем роде по сию пору).
Другая книга, которую я вспоминаю с благодарностью — «Теоретические основы проектирования компиляторов» (авторы Ф.Льюис, Д.Розенкранц и Р.Стирнз). Теория в книге излагалась весьма неформально, зато в мельчайших деталях рассматривалось построение компилятора примитивного варианта Basic с использованием различных методов, что иллюстрировалось прекрасными рисунками, диаграммами и таблицами. Книга внушала почтение своей толщиной, но была написана ясно и интересно.

И напоследок
Наконец, пунктирно, хочу упомянуть еще несколько книг, по которым я учился. Тут уже без описаний и обоснований, только перечисление:

«Язык ФОРТ и его реализации» (авторы С.Баранов и Н.Ноздрунов)
«Язык программирования Форт» (авторы М.Келли и Н.Спайс)
«Введение в логическое программирование» (автор К.Хоггер)
«Функциональное программирование. Применение и реализация» (автор П.Хендерсон)
«Взаимодействующие последовательные процессы» (автор Ч.Хоар)
«Языки программирования: разработка и реализация» (автор Т.Пратт; мне было доступно издание 1979 г.)

Вот, кажется, и все. Хороших вам книг, друзья, и — главное — времени на их чтение!

#подборка@programmist_of

👉@programmist_of
👍9🤔1
📌Обзор лучших книг по алгоритмам для программистов всех уровней. Часть 1


🔹Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
Автор: Бхаргава Адитья

Алгоритмы – это пошаговые инструкции для решения задач. Большинство из них уже разработаны и проверены. Вместо изучения сложных теорий, эта книга предлагает простой подход и наглядно показывает, что изучение алгоритмов может быть увлекательным процессом.


🔹Алгоритмы построение и анализ третье издание
Автор: Кормен Томас Х., Лейзерсон Чарльз И.

Книга «Алгоритмы, построение и анализ» описывает разнообразные алгоритмы доступным языком с использованием псевдокода. Подходит для читателей разного уровня подготовки. Главы самодостаточны и могут изучаться отдельно.

Третье издание дополнено новыми главами о деревьях ван Эмде Боаса и многопоточных алгоритмах. Расширена глава о рекуррентности. Обновлены разделы о динамическом программировании и жадных алгоритмах. Введено понятие потока на основе ребер в контексте транспортных сетей. Добавлены новые упражнения и задачи.


🔹Искусство программирования. Том 1. Основные алгоритмы
Автор: Кнут Дональд Эрвин

«Искусство программирования», том 1, охватывает основные понятия программирования и информационные структуры.


🔹Искусство программирования. Том 2. Получисленные алгоритмы
Автор: Кнут Дональд Эрвин

Второй том посвящен получисленным алгоритмам. Книга охватывает теорию и примеры применения. Связывает программирование с численным анализом. Новое издание предлагает обновленный подход к генераторам случайных чисел и рассматривает вычисления с формальными степенными рядами. Отдельные главы посвящены случайным числам и арифметике.


🔹Искусство программирования. Том 3. Сортировка и поиск
Автор: Кнут Дональд Эрвин

Третий том фокусируется на сортировке и поиске. Также рассматриваются алгоритмы для баз данных разного размера, работа с внутренней и внешней памятью.


🔹Алгоритмы. Руководство по разработке
Автор: Скиена Стивен С.

Это комплексное руководство по эффективным алгоритмам состоит из двух частей. Первая охватывает фундаментальные концепции, включая анализ алгоритмов, структуры данных, сортировку, работу с графами, комбинаторный поиск, эвристику и динамическое программирование. Вторая часть содержит обширную библиографию и каталог 75 распространенных алгоритмических задач с их программными реализациями.

Третье издание существенно расширено. Добавлены разделы о рандомизированных алгоритмах, хешировании, аппроксимации и квантовых вычислениях. Включены новые задачи и ссылки на реализации на C, C++ и Java.

#подборка@programmist_of

👉@programmist_of
👍7
📌Обзор лучших книг по алгоритмам для программистов всех уровней. Часть 2

🔹Алгоритмы и структуры данных
Автор: Вирт Никлаус

Классический учебник по алгоритмике от Н. Вирта, лауреата премии Тьюринга охватывает сортировку, поиск, рекурсию и динамические структуры данных. Новый русский перевод с исправлениями и доработками.


🔹Анализ алгоритмов. Активный обучающий подход
Автор: Макконнелл Джефри

Книга охватывает ключевые алгоритмы: поиск, сортировку, численные методы и работу с графами. Особый акцент сделан на алгоритмах параллельной обработки. Добавлены разделы о конечных автоматах, контекстно-свободных грамматиках и машине Тьюринга. Расширена глава о рекурсии.


🔹Структуры данных и алгоритмы в Java
Автор: Лафоре Роберт

Книга предназначена не для начинающих, а для тех кодеров, которым нужно закрепить некоторые моменты, а также больше узнать об алгоритмах и структурах данных. В книге немало практических заданий, дающих возможность усвоить полученную информацию. Приводят, кстати, авторы и рекомендации по выбору различных алгоритмов и структур данных для решения задач.


🔹Алгоритмы на C++
Автор: Роберт Седжвик

Книга посвящена глубокому исследованию всех основополагающих концепций и алгоритмов, которые можно отнести к разряду "вечных". Изучив их, вы получите знания, которые никогда не устареют и которыми вы будете пользоваться всегда. Ибо они - суть фундаментальная основа успешного Программирования. Автор книги, Роберт Седжвик -известный во всем мире профессор компьютерных наук в Принстонском университете, один из лучших учеников Дональда Кнута, директор компании Adobe Systems, а также сотрудник исследовательских департаментов компаний Xerox PARC, IDA и INRIA.


🔹Алгоритмы неформально. Инструкция для начинающих питонистов
Автор: Такфилд Брэдфорд

Алгоритмы – это не только задачи поиска, сортировки или оптимизации, они помогут вам поймать бейсбольный мяч, проникнуть в «механику» машинного обучения и искусственного интеллекта и выйти за границы возможного.

Вы узнаете нюансы реализации многих самых популярных алгоритмов современности, познакомитесь с их реализацией на Python 3, а также научитесь измерять и оптимизировать их производительность.


#подборка@programmist_of

👉@programmist_of
👍4
🔖The Essential Guide to Creating Multiplayer Games with Godot 4.0: Harness the power of Godot Engine’s GDScript network API to connect players in multiplayer games
Автор: Henrique Campos (2023)

На протяжении всей книги вы будете играть роль сетевого инженера в вымышленной студии инди-игр, решая реальные запросы своих коллег и набираясь опыта в добавлении новых сетевых функций в игры студии. Следуя пошаговым инструкциям, вы пройдете путь от создания первого сетевого рукопожатия до оптимизации сетевого геймплея. Вы узнаете, как синхронизировать игроков и передавать данные через Интернет, добавляя сетевые многопользовательские функции в приключенческий шутер с видом сверху вниз.

#gamedev@programmist_of

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
📌 Подборка книг по базам данных

🔹Введение в системы баз данных
Автор: Кристофер Дейт

Фундаментальный труд, который подойдет студентам, разработчикам, инженерам данных и всем, кто хочет глубже разобраться в принципах реляционных баз данных.

Дейт подробно разбирает теоретические и практические аспекты работы с системами управления базами данных (СУБД). Рассматривает основы реляционной модели, нормализацию данных, взаимодействие с SQL, принципы транзакций, индексацию и оптимизацию запросов. Много внимания уделяется логической организации данных. Автор объясняет, почему БД работают именно так, а не иначе.


🔹Путеводитель по базам данных
Автор: Владимир Комаров

«Путеводитель» будет полезен для ИТ-специалистов, которые хотят глубже разобраться в устройстве современных систем управления базами данных (СУБД). Книга пригодится тем, кто только начинает использовать базы данных, и профи, которые хотят расширить свои знания.


🔹MySQL по максимуму. 4-е издание
Авторы: Сильвия Ботрос и Джереми Тинли

Книга предназначена для инженеров, которые хотят улучшить свой опыт работы с MySQL. Она будет полезна и начинающим, и опытным специалистам.
Авторы предлагают проверенные стратегии масштабируемой эксплуатации MySQL с применением современной архитектуры и новейших инструментов и практик. Охватывают все аспекты работы с MySQL: от постановки целей уровня обслуживания и проектирования схем до настройки сервера, операционной системы и оборудования. Разбирают масштабирование приложений с помощью репликации, балансировку нагрузки, обеспечение высокой доступности и отказоустойчивости.


🔹Нечеткое сопоставление данных в SQL
Автор: Джим Лемер

Отличная книга для всех, кто работает с базами данных и регулярно сталкивается с проблемой дубликатов, грязных данных и несовпадающих записей. Полезна разработчикам, аналитикам, администраторам БД, и всем, кто хочет научиться чистить и сопоставлять данные прямо в SQL.


🔹SQL Server. Наладка и оптимизация для профессионалов
Автор: Дмитрий Короткевич

Книга предназначена в первую очередь для разработчиков и администраторов, которые работают с Microsoft SQL Server. Автор помогает понять, почему, например, база тормозит и как это исправить. Если нужно настроить сервер, оптимизировать запросы, снизить нагрузку на процессор и диск, то здесь есть четкие инструкции и разбор реальных проблем.


#подборка@programmist_of

👉@programmist_of
👍61
🔖Javascript Absolute Beginner’s Guide, 3rd Edition
Автор: Kirupa Chinnathambi (2022)

Это самое простое и практичное руководство по JavaScript для начинающих с простыми и надежными инструкциями по выполнению всего, что вы действительно хотите сделать. Используйте все возможности современного JavaScript — даже если вы никогда раньше ничего не программировали. Это быстрый способ изучить JavaScript, начав с основ и постепенно углубляясь во все техники, необходимые для создания высокомасштабируемых и производительных веб-приложений и сервисов.

#Javascript@programmist_of

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
📚Обзор книги "Apache Pulsar в действии"
Авторы: Дэвид Хьеррумгор
Издательство: ДМК-Пресс
Год издания: 2023


«Apache Pulsar в действии» Дэвида Хьеррумгора — практическое руководство по использованию Apache Pulsar, современной платформы для потоковой передачи сообщений и обработки данных в реальном времени. Книга предназначена для опытных разработчиков на языке Java, но благодаря наличию примеров на Python, она будет полезна и для специалистов с другим техническим бэкграундом.

Автор начинает с обзора корпоративных систем обмена сообщениями и выделяет уникальные преимущества Pulsar, такие как поддержка нескольких протоколов (включая MQTT, AMQP и двоичный протокол Kafka), высокая отказоустойчивость и масштабируемость в облачных средах. Особое внимание уделяется фреймворку Pulsar Functions, который позволяет разрабатывать микросервисные приложения.

Читатели отмечают, что книга полезна как разработчикам микросервисов, так и DevOps-инженерам, занимающимся развёртыванием Pulsar. Однако некоторые рецензенты упоминают о недостатке примеров использования в реальных проектах.

Плюсы:
Подробное руководство по разработке с Apache Pulsar.
Практическая направленность с примерами кода на Java и Python.
Доступность для разработчиков с разным уровнем опыта.

Минусы:
Недостаток примеров использования в реальных проектах.

Дэвид Хьеррумгор — опытный разработчик, активно работающий в сфере потоковой обработки данных. Его работа фокусируется на создании масштабируемых систем с использованием новейших технологий, таких как Apache Pulsar, что отражено в структуре и примерах книги.


#Рецензия@programmist_of

👉@programmist_of
👍3
2025/07/12 15:44:04
Back to Top
HTML Embed Code: