Book description here
Bibliographic reference from ZoteroОценка авторской мысли
- Какова цель автора?
- На какой вопрос автор пытается дать ответ?
- Какую информацию автор использует в своих умозаключениях?
- Каковы главные выводы автора?
- Каковы основные концепты и идеи в мышлении автора?
- Из каких предположений исходит автор?
- С какой позиции автор рассматривает вопрос?
- Если автор прав, то что из этого следует?
Конспект
Введение и предисловие
Основная идея - любой интерпретатор любого компьютерного языка - это всего лишь еще одна программа.
Интерпретаторы - это “клей” для большинства программ. Именно интерпретация позволяет комбинировать отдельные функции программы и структурировать взаимодействие с ней. Поэтому рано или поздно придется писать интерпретаторы. Как обычно, если не знать об их существованиии, то получится “кулибинство”, а не осознанная и продуманная работа, новичковых ошибок будет не избежать.
Один из мощнейших способов структурировать сложные программы - это организовать их в виде набора разных языков, работающих с одним и тем же разделяемым набором элементов системы.
А если интерпретатор языка, это всего лишь программа, написанная на каком-то языке, для которого нужен интерпретатор, то не стирает ли это грань между программой и языком программирования? Не приведет ли это к тому, что программисты будут создавать не программы, а языки?
Это резонирует со статьей Михаила Донского1, он тоже говорил о необходимости создавать языки, и о том, что в большой проект безопасно заходить только при наличии наработанного языка.
Индуктивно определяемые наборы данных (множества)
Математическая индукция - способ определить сложные структуры данных через простые структуры и допустимые операции (правила преобразования). Обычно это делается с помощью двух свойств: первое описывает конкретные значения/элементы, входящие в множество, а второе - описывает те элементы, которые входят во множество, удовлетворяя какому-то условию относительно уже включенных во множество элементов. Таким образом, множество строится путем последовательного применения операции, описанной во втором свойстве, к текущему набору элементов множества.
Форма Бакуса-Наура описывает грамматику языка, но ее можно успешно использовать и для описания множеств.
-
М. Донской, “Жизненный цикл программиста.” Accessed: Mar. 27, 2024. [Online]. Available: https://polit.ru/article/2008/08/20/programmist/ ↩︎