Закоулки мозга

Book description here

Bibliographic reference from Zotero

Оценка авторской мысли

Какова цель автора?
На какой вопрос автор пытается дать ответ?
Какую информацию автор использует в своих умозаключениях?
Каковы главные выводы автора?
Каковы основные концепты и идеи в мышлении автора?
Из каких предположений исходит автор?
С какой позиции автор рассматривает вопрос?
Если автор прав, то что из этого следует?

Конспект

Введение и предисловие

Основная идея - любой интерпретатор любого компьютерного языка - это всего лишь еще одна программа.

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

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

А если интерпретатор языка, это всего лишь программа, написанная на каком-то языке, для которого нужен интерпретатор, то не стирает ли это грань между программой и языком программирования? Не приведет ли это к тому, что программисты будут создавать не программы, а языки?

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

Индуктивно определяемые наборы данных (множества)

Математическая индукция - способ определить сложные структуры данных через простые структуры и допустимые операции (правила преобразования). Обычно это делается с помощью двух свойств: первое описывает конкретные значения/элементы, входящие в множество, а второе - описывает те элементы, которые входят во множество, удовлетворяя какому-то условию относительно уже включенных во множество элементов. Таким образом, множество строится путем последовательного применения операции, описанной во втором свойстве, к текущему набору элементов множества.

Форма Бакуса-Наура описывает грамматику языка, но ее можно успешно использовать и для описания множеств.


  1. М. Донской, “Жизненный цикл программиста.” Accessed: Mar. 27, 2024. [Online]. Available: https://polit.ru/article/2008/08/20/programmist/ ↩︎