8000 Update content · HowProgrammingWorks/Book@e097ead · GitHub
[go: up one dir, main page]

Skip to content

Commit e097ead

Browse files
committed
Update content
1 parent 8c4e548 commit e097ead

File tree

11 files changed

+16
-88
lines changed

11 files changed

+16
-88
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,4 @@ assignees: ''
1212

1313
**Screenshots** If applicable, add screenshots to help explain your problem.
1414

15-
**Add references** If you have references to other books, articles, videos, or
16-
even posts somewhere please add URLs here.
15+
**Add references** If you have references to other books, articles, videos, or even posts somewhere please add URLs here.

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,8 @@ labels: feature
66
assignees: ''
77
---
88

9-
**Please describe your proposal.** A clear and concise description of what you
10-
want to see in this book.
9+
**Please describe your proposal.** A clear and concise description of what you want to see in this book.
1110

12-
**Describe alternatives you've considered** A clear and concise description of
13-
any alternative ideas you've considered.
11+
**Describe alternatives you've considered** A clear and concise description of any alternative ideas you've considered.
1412

15-
**Add references** If you have references to other books, articles, videos, or
16-
even posts somewhere please add URLs here.
13+
**Add references** If you have references to other books, articles, videos, or even posts somewhere please add URLs here.

.github/ISSUE_TEMPLATE/question.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ name: Question
33
about: Please don't open an issue to ask questions
44
---
55

6-
Issues on GitHub are intended to be related to problems and feature requests so
7-
we recommend not using this medium to ask them here. Thanks for understanding!
6+
Issues on GitHub are intended to be related to problems and feature requests so we recommend not using this medium to ask them here. Thanks for understanding!
87

9-
If you have a question, please check out our support groups and channels for
10-
developers community or use `discussions` tab in this repo:
8+
If you have a question, please check out our support groups and channels for developers community or use `discussions` tab in this repo:
119

1210
- Discussions: https://github.com/HowProgrammingWorks/Book/discussions
1311
- Channel for HowProgrammingWorks community: https://t.me/HowProgrammingWorks

.github/ISSUE_TEMPLATE/spelling.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ assignees: ''
88

99
**Describe the problem** How it was and how you think it should be.
1010

11-
**Add link** Please add a URL to the file, certain place in this books or even
12-
to git blame (like this:
13-
https://github.com/HowProgrammingWorks/Book/blame/f47928a14c21d5ac2e2d218d10d10f330972929e/content/Abstract.en.md#L12-L17).
11+
**Add link** Please add a URL to the file, certain place in this books or even to git blame (like this: https://github.com/HowProgrammingWorks/Book/blame/f47928a14c21d5ac2e2d218d10d10f330972929e/content/Abstract.en.md#L12-L17).
1412

1513
**Screenshots** If applicable, add screenshots to help explain an issue.

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
## Multi-paradigm approach in the Software Engineering
44

5-
[Index in English](content/Index.en.md)
6-
[Оглавление на русском](content/Index.ru.md)
5+
[Index in English](content/Index.en.md) [Оглавление на русском](content/Index.ru.md)
76

87
To build pdf file run:
98

content/Abstract.en.md

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,3 @@
11
# Abstract
22

3-
All programs are data. Some data are interpreted as values, others are
4-
interpreted as types of these values, and others are interpreted as instructions
5-
for processing the first two. All programming paradigms and techniques are just
6-
a way to form metadata that gives the rules and control flow of processing
7-
sequence other data. Multi-paradigm programming takes the best of all paradigms
8-
and builds syntactic constructions from them, which makes it possible to
9-
describe the subject area clearly and conveniently. We reflect high-level DSLs
10-
(domain languages) into low-level machine instructions through many layers of
11-
abstractions. It’s important to represent the task in the most efficient way for
12-
execution at the machine level, not to fanatically follow one paradigm. The most
13-
efficient is the one with fewer layers and dependencies, the most
14-
human-readable, maintainable and modifiable, ensuring code reliability and
15-
testability, extensibility, reusability, clarity and flexibility of metadata
16-
constructs at every level. We believe that such an approach will allow us to get
17-
both quick first results in the development, and not lose performance with a
18-
large flow of changes at mature and complex project stages. We will try to
19-
consider the techniques and principles of different programming paradigms
20-
through the prism of metaprogramming and thereby change if not the software
21-
engineering itself, but at least to change its understanding by new generations
22-
of engineers.
3+
All programs are data. Some data are interpreted as values, others are interpreted as types of these values, and others are interpreted as instructions for processing the first two. All programming paradigms and techniques are just a way to form metadata that gives the rules and control flow of processing sequence other data. Multi-paradigm programming takes the best of all paradigms and builds syntactic constructions from them, which makes it possible to describe the subject area clearly and conveniently. We reflect high-level DSLs (domain languages) into low-level machine instructions through many layers of abstractions. It’s important to represent the task in the most efficient way for execution at the machine level, not to fanatically follow one paradigm. The most efficient is the one with fewer layers and dependencies, the most human-readable, maintainable and modifiable, ensuring code reliability and testability, extensibility, reusability, clarity and flexibility of metadata constructs at every level. We believe that such an approach will allow us to get both quick first results in the development, and not lose performance with a large flow of changes at mature and complex project stages. We will try to consider the techniques and principles of different programming paradigms through the prism of metaprogramming and thereby change if not the software engineering itself, but at least to change its understanding by new generations of engineers.

content/Abstract.ru.md

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,3 @@
11
# Аннотация
22

3-
Все программы - это данные. Одни данные интерпретируются, как значения, а
4-
другие - как типы этих значений, третьи - как инструкции по обработке первых
5-
двух. Любые парадигмы и техники программирования - это лишь способ формировать
6-
метаданные, дающие правила и последовательность потока обработки других данных.
7-
Мультипарадигменное программирование берет лучшее из всех парадигм и строит из
8-
них синтаксические конструкции, позволяющие более понятно и удобно описать
9-
предметную область. Мы связываем высокоуровневые DSL (доменные языки) с
10-
низкоуровневыми машинными инструкциями через множество слоев абстракций. Тут
11-
важно не фанатично следовать одной парадигме, а наиболее эффективно отображать
12-
задачу для исполнения на машинном уровне. Наиболее эффективно - это с меньшим
13-
количеством слоев и зависимостей, наиболее удобно для понимания человеком, для
14-
поддержки и модификации, обеспечения надежности и тестируемости кода,
15-
расширяемости, переиспользования, ясности и гибкости конструкций метаданных на
16-
каждом уровне. Мы полагаем, что такой подход позволит получать как быстрые
17-
первые результаты в разработке каждой задачи, так и не терять темпов при большом
18-
потоке изменений на этапах, когда проект уже достиг высокой зрелости и
19-
сложности. Мы постараемся рассмотреть приемы и принципы программирования из
20-
разных парадигм через призму метапрограммирования и не столько изменить этим
21-
программную инженерию, как ее осмысление новыми поколениями инженеров.
3+
Все программы - это данные. Одни данные интерпретируются, как значения, а другие - как типы этих значений, третьи - как инструкции по обработке первых двух. Любые парадигмы и техники программирования - это лишь способ формировать метаданные, дающие правила и последовательность потока обработки других данных. Мультипарадигменное программирование берет лучшее из всех парадигм и строит из них синтаксические конструкции, позволяющие более понятно и удобно описать предметную область. Мы связываем высокоуровневые DSL (доменные языки) с низкоуровневыми машинными инструкциями через множество слоев абстракций. Тут важно не фанатично следовать одной парадигме, а наиболее эффективно отображать задачу для исполнения на машинном уровне. Наиболее эффективно - это с меньшим количеством слоев и зависимостей, наиболее удобно для понимания человеком, для поддержки и модификации, обеспечения надежности и тестируемости кода, расширяемости, переиспользования, ясности и гибкости конструкций метаданных на каждом уровне. Мы полагаем, что такой подход позволит получать как быстрые первые результаты в разработке каждой задачи, так и не терять темпов при большом потоке изменений на этапах, когда проект уже достиг высокой зрелости и сложности. Мы постараемся рассмотреть приемы и принципы программирования из разных парадигм через призму метапрограммирования и не столько изменить этим программную инженерию, как ее осмысление новыми поколениями инженеров.

content/Index.ru.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,7 @@
7979
6.7. Луковая (onion) или слоеная архитектура
8080
10. Основы параллельных вычислений
8181
10.1. Асинхронное программирование
82-
10.2. Параллельное программирование, общая память и примитивы
83-
синхронизации
82+
10.2. Параллельное программирование, общая память и примитивы синхронизации
8483
10.3. Асинхронные примитивы: Thenable, Promise, Future, Deferred
8584
10.4. Сопрограммы, горутины, async/await
8685
10.5. Адаптеры между асинхронными контрактами

content/Introduction.ru.md

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,3 @@
11
# Введение
22

3-
Постоянное переосмысление своей деятельности, даже самой простой, должно
4-
сопровождать инженера всю его жизнь. Привычка записывать свои мысли словами и
5-
оттачивать формулировки очень помогает в этом. Текст этот появился как мои
6-
отрывочные заметки, написанные в разные годы, которые я накапливал и критически
7-
вычитывал десятки раз. Часто, я не соглашался с самим собой, перечитывая отрывок
8-
после того, как он полежит некоторое время. Поэтому, я доводил текст до того,
9-
пока сам не соглашался с написанным после продолжительных периодов выдержки
10-
материала. Своей задачей я принял писать как можно более кратко и неоднократно
11-
переписывал большие фрагменты, находя, что их можно выразить короче. Структура
12-
текста и оглавление начали появляться после первого года преподавания, но на
13-
десятом году я решил выложить все материалы не только в виде открытых
14-
видеолекций, как делал уже около пяти лет, но и в виде текста. Это позволило
15-
участвовать в формировании книги всем желающим из сообщества Метархия, быстро
16-
находить опечатки и неточности благодаря читателям, а также многим просто
17-
удобнее воспринимать в виде книги. Актуальную версию всегда можно найти на
18-
https://github.com/HowProgrammingWorks/Book, она будет дополняться постоянно.
19-
Прошу присылать запросы на исправления и дополнения в
20-
[issues](https://github.com/HowProgrammingWorks/Book/issues) на английском
21-
языке, новые идеи в
22-
[discussions](https://github.com/HowProgrammingWorks/Book/discussions) на любом
23-
языке, а свои дополнения и исправления оформлять в виде pull-request в
24-
репозиторий книги.
3+
Постоянное переосмысление своей деятельности, даже самой простой, должно сопровождать инженера всю его жизнь. Привычка записывать свои мысли словами и оттачивать формулировки очень помогает в этом. Текст этот появился как мои отрывочные заметки, написанные в разные годы, которые я накапливал и критически вычитывал десятки раз. Часто, я не соглашался с самим собой, перечитывая отрывок после того, как он полежит некоторое время. Поэтому, я доводил текст до того, пока сам не соглашался с написанным после продолжительных периодов выдержки материала. Своей задачей я принял писать как можно более кратко и неоднократно переписывал большие фрагменты, находя, что их можно выразить короче. Структура текста и оглавление начали появляться после первого года преподавания, но на десятом году я решил выложить все материалы не только в виде открытых видеолекций, как делал уже около пяти лет, но и в виде текста. Это позволило участвовать в формировании книги всем желающим из сообщества Метархия, быстро находить опечатки и неточности благодаря читателям, а также многим просто удобнее воспринимать в виде книги. Актуальную версию всегда можно найти на https://github.com/HowProgrammingWorks/Book, она будет дополняться постоянно. Прошу присылать запросы на исправления и дополнения в [issues](https://github.com/HowProgrammingWorks/Book/issues) на английском языке, новые идеи в [discussions](https://github.com/HowProgrammingWorks/Book/discussions) на любом языке, а свои дополнения и исправления оформлять в виде pull-request в репозиторий книги.

content/Links.en.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,5 @@
22

33
- Author: https://github.com/tshemsedinov
44
- Telegram: https://t.me/HowProgrammingWorks
5-
- Exercises:
6-
https://github.com/HowProgrammingWorks/Index/blob/master/Exercises.ru.md
7-
- Glossary:
8-
https://github.com/HowProgrammingWorks/Dictionary/blob/master/Fundamentals.ru.md
5+
- Exercises: https://github.com/HowProgrammingWorks/Index/blob/master/Exercises.ru.md
6+
- Glossary: https://github.com/HowProgrammingWorks/Dictionary/blob/master/Fundamentals.ru.md

0 commit comments

Comments
 (0)
0