Skip to content

Commit f47928a

Browse files
committed
Add abstract (both ru & en)
1 parent bdeae04 commit f47928a

File tree

2 files changed

+41
-4
lines changed

2 files changed

+41
-4
lines changed

content/Abstract.en.md

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

3-
36 lectures (4 introductory topics, 8 lectures about JavaScript programming
4-
language, 18 lectures about fundamental programming concepts, 6 lectures about
5-
development tools and processes), 8 seminars, 9 practices and assignments, 47
6-
repositories with code examples.
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.

content/Abstract.ru.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Аннотация
2+
3+
Все программы - это данные. Одни данные интерпретируются, как значения, а
4+
другие - как типы этих значений, третьи - как инструкции по обработке первых
5+
двух. Любые парадигмы и техники программирования - это лишь способ формировать
6+
метаданные, дающие правила и последовательность потока обработки других данных.
7+
Мультипарадигменное программирование берет лучшее из всех парадигм и строит из
8+
них синтаксические конструкции, позволяющее более понятно и удобно описать
9+
предметную область. Мы связываем высокоуровневые DSL (доменные языки) с
10+
низкоуровневыми машинными инструкциями через множество слоев абстракций. Тут
11+
важно не фанатично следовать одной парадигме, а наиболее эффективно отображать
12+
задачу для исполнения на машинном уровне. Наиболее эффективно - это с меньшим
13+
количеством слоев и зависимостей, наиболее удобно для понимания человеком, для
14+
поддержки и модификации, обеспечения надежности и тестируемости кода,
15+
расширяемости, переиспользования, ясности и гибкости конструкций метаданных на
16+
каждом уровне. Мы полагаем, что такой подход позволит получать как быстрые
17+
первые результаты в разработке каждой задачи, так и не терять темпов при большом
18+
потоке изменений на этапах, когда проект уже достиг высокой зрелости и
19+
сложности. Мы постараемся рассмотреть приемы и принципы программирования из
20+
разных парадигм в через призму метапрограммирования и изменить этим не столько
21+
программную инженерию, а изменить ее осмысление новыми поколениями инженеров.

0 commit comments

Comments
 (0)