Программирование | книги
47.6K subscribers
2.42K photos
19 links
Для программистов разных областей науки.

Навигация по тегам всегда в закрепе.

Чат канала: https://t.me/+bpI2SjrfGQc1ZWJi

По всем вопросам: @altmainf

Регистрация в перечне РКН https://goo.su/PqEImo3
Download Telegram
#ПрогрИнженерия 2021

Методы метавычислений и их применение

Автор: Абрамов С. М

Книга сотрудника Института программных систем РАН, представляющая собой описание вопросов теории метавычислений и их применения. Метавычисления раздел теории и практики программирования, посвященный разработке методов анализа и преобразования программ за счет реализации конструктивных метасистем (метапрограмм) над программами.
В книге приводятся основные понятия метавычислений, примеры построения и использования простых метапрограмм. Изложе ние рассчитано на специалистов в области программирования.
#ПрогрИнженерия #Компиляторы 2023

Создай свой собственный язык программирования: Руководство программиста по разработке компиляторов, интерпретаторов и доменно-ориентированных языков для решения современных вычислительных задач

Автор: Kлинтoн Л. Джeффepи

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

Создание новых языков для конкретных целей – одно из противоядий от кризиса программного обеспечения. Эта книга посвящена созданию новых языков программирования. Вводится тема проектирования языка программирования, хотя основной акцент делается на реализации языка программирования. В рамках этой интенсивно изучаемой темы новым аспектом данной книги является слияние традиционных инструментов компиляции (Flex и Byacc) с двумя языками реализации более высокого уровня. Язык очень высокого уровня (Unicon) обрабатывает структуры данных и алгоритмы компилятора, как нож масло, в то время как основной современный язык (Java) показывает, как реализовать тот же код в более типичной производственной среде.

Для кого эта книга:
Эта книга предназначена для разработчиков программного обеспечения, заинтересованных в идее создания собственного языка или разработки языка, специфичного для конкретной предметной области. Студенты, изучающие информатику на курсах построения компиляторов, также найдут эту книгу весьма полезной в качестве практического руководства по реализации языка в дополнение к другим теоретическим учебникам. Чтобы извлечь максимальную пользу из данной книги, требуются знания среднего уровня и опыт работы с языком высокого уровня, таким как Java или C++.
#ПрогрИнженерия 2023

Software: Ошибки и компромиссы при разработке ПО

Авторы: Лелек Томаш, Скит Джон

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

Книга предназначена для разработчиков, которые хотят изучить паттерны, используемые в реальных системах, и связанные с ними компромиссы. Также она учит избегать неочевидных ошибок. Книга начинается с низкоуровневых решений, что очень полезно для начинающих разработчиков. Затем рассматри ваются более сложные темы — это пригодится даже опытному специалисту.
Большинство примеров, паттернов и фрагментов кода написаны на Java, но сами решения не привязаны к этому языку.
#ПрогрИнженерия #TypeScript 2021

Программируй & типизируй

Автор: Ришкуция Влад

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

Причиной многих программных ошибок становится несоответствие типов данных. Сильная система типов позволяет избежать целого класса ошибок и обеспечить целостность данных в рамках всего приложения. Разработчик, научившись мастерски использовать типы в повседневной практике, будет создавать более качественный код, а также сэкономит время, которое потребовалось бы для выискивания каверзных ошибок, связанных с данными.
#ПрогрИнженерия #ИБ 2021

Безопасно by design

Авторы: Джонсон Дэн Берг, Деоган Дэниел, Савано Дэниел

«Безопасно by Design» не похожа на другие книги по безопасности. В ней нет дискуссий на такие классические темы, как переполнение буфера или слабые места в криптографических хэш-функциях. Вместо собственно безопасности она концентрируется на подходах к разработке ПО. Поначалу это может показаться немного странным, но вы поймете, что недостатки безопасности часто вызваны плохим дизайном. Значительного количества уязвимостей можно избежать, используя передовые методы проектирования. Изучение того, как дизайн программного обеспечения соотносится с безопасностью, является целью этой книги. Вы узнаете, почему дизайн важен для безопасности и как его использовать для создания безопасного программного обеспечения.
#ПрогрИнженерия 2021

Мифический человеко-месяц, или Как создаются программные системы

Автор: Брукс Фредерик

"Немногие книги по управлению проектами можно назвать столь же значимыми как ""Мифический человеко-месяц"". Смешение примеров из реальной разработки ПО, мнений и размышлений создает яркую картину управления сложными проектами. Эти эссе основаны на пятидесятилетнем опыте работы Брукса менеджером проектов в IBM System/360, а затем в OS/360.

Первое издание книги вышло 45 лет назад, второе 25 лет назад. Возникают новые методологии, появляются новые языки программирования, растет количество процессоров, но эта книга продолжает оставаться актуальной. Почему?"
#ПрогрИнженерия 2019

Оформление программного кода

Автор: А.В. Столяров

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

Начинающие программисты обычно полагают, что текст программы предназначен для компьютера. У опытных программистов на этот счёт иное мнение. Совсем не сложно написать программу так, чтобы её «понял» компилятор или интерпретатор, и при этом можно совершенно не задумываться о том, удачно ли выбраны имена переменных и подпрограмм, правильно ли программа разбита на строки, служат ли своей цели структурные отступы, можно писать текст как попало, компилятору более-менее всё равно.

Пособие ориентировано на студентов, преподавателей, программистов.
#ПрогрИнженерия #Паттерны 2020

Введение в архитектуру программного обеспечения

Автор: Гагарина Л.Г.

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

Строгий стиль изложения сопровождается доступными для понимания пояснениями и многочисленными примерами, необходимыми для глубокого усвоения материала.
#ПрогрИнженерия #Компиляторы 2022

Введение в теорию алгоритмических языков и компиляторов

Автор: Гагарина Л.Г.

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

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