Wayne Hillel / Уэйн Хиллел - Logic for Programmers / Логика для программистов [2025, PDF/EPUB, ENG]

Страницы:  1
Ответить
 

tsurijin

Стаж: 4 года 10 месяцев

Сообщений: 2901


tsurijin · 12-Авг-25 01:19 (1 месяц 2 дня назад)

Logic for Programmers / Логика для программистов
Год издания: 2025
Автор: Wayne Hillel / Уэйн Хиллел
Издательство: Leanpub
Язык: Английский
Формат: PDF/EPUB
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 150
Описание: Logic is the most important branch of math to software engineering. Knowing logic opens up a vast world of development techniques, from everyday tricks of the trade to exotic tools for cracking impossible tasks.
This book teaches the basics of logic and nine special logic-powered techniques: property testing, decision tables, constraint solving, and more. Over 40 exercises are provided to help readers master the material. No prior math background required!
Логика - важнейший раздел математики для разработки программного обеспечения. Знание логики открывает огромный мир методов разработки, от повседневных профессиональных приемов до экзотических инструментов для решения невыполнимых задач.
В этой книге излагаются основы логики и девять специальных логических приемов: тестирование свойств, таблицы решений, решение ограничений и многое другое. Более 40 упражнений помогут читателям освоить материал. Предварительная математическая подготовка не требуется!
Примеры страниц (скриншоты)
Оглавление
1 Intro 1
1.1 Beta Notes 1
1.2 New in v0.11: 1
1.3 Why this book 2
1.4 Design Philosophy 3
1.5 How to Read This Book 3
2 A Crash Course in Logic 5
2.1 Predicates 5
2.2 Sets 10
2.3 Quantifiers 13
2.4 Notation 16
2.5 In Practice: Rewrite Rules 18
2.6 Summary 21
3 Refactoring Code 22
3.1 Simplifying Conditionals 22
3.2 Refactoring with Quantifiers 24
3.3 Programs are not Math 29
3.4 Using sets 30
3.5 Summary 31
4 Writing Better Tests 32
4.1 Strong and Weak Tests 32
4.2 In Practice: Property-Based Testing 35
4.3 Notes on Property Testing 37
4.4 Summary 40
5 Functional Correctness 41
5.1 Assertions 41
5.2 Contracts 42
5.3 Contracts vs Types 46
5.4 Polymorphism and Refactoring 48
5.5 Summary 51
6 Proving Code Correct 53
6.1 What is a proof? 53
6.2 Proofs 54
6.3 Formal Verification 58
6.4 Summary 61
7 Case Analysis 63
7.1 Decision Tables 63
7.2 Another Requirements Example 66
7.3 Analyzing Code 67
7.4 Techniques 68
7.5 When is a Table the Wrong Choice? 71
7.6 Summary 72
8 Databases 73
8.1 A Relational Model Overview 73
8.2 Querying Data 74
8.3 Database Constraints 78
8.4 Constraints Are Queries 80
8.5 Summary 83
9 Data Modeling 85
9.1 Abstracting from Data 85
9.2 In Practice: Formal Specification 86
9.3 Finding Bugs with Specifications 91
9.4 Summary 93
10 System Modeling 95
10.1 Situation 95
10.2 The Logic 95
10.3 In Practice: TLA+ 100
10.4 Specification in the wild 105
10.5 Summary 106
11 Solvers 108
11.1 Logic 108
11.2 In Practice: Solvers 110
11.3 Which to use? 115
11.4 Summary 116
12 Logic Programming 117
12.1 Prolog 117
12.2 Deductive Databases 119
12.3 Constraint Logic Programming 121
12.4 Planning 121
12.5 Summary 123
A Math Notation 125
A.1 Basic Logic Symbols 125
A.2 Quantified Expressions 126
A.3 Tautologies 126
B Useful Rewrite Rules 127
B.1 Table of Tautologies 127
C Beyond Logic 129
C.1 The Limit: Russell’s Paradox 129
C.2 Higher Order Logic 130
C.3 Constructive Logic 130
C.4 Modal Logic 131
D Answers to Exercises 132
Index 143
Download
Rutracker.org не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм
Как скачивать? (для скачивания .torrent файлов необходима регистрация)
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error