Re: Про синтаксис - попытка формализовать субъективность
От: grosborn  
Дата: 14.06.12 07:29
Оценка: +1
> G>Систематичность. (вообще этот критерий достаточно субъективен, по нему нужно спорить и его нужно формулировать)
>
> Данный критерий можно формализовать и сделать более объективным следующим образом:
> Для начала выделим следующие понятия:
> — предопределенный алфавит (тот алфавит, который известен человеку до чтения конкретного куска кода).
> — локальный алфавит (алфавит вводимый внутри куска кода),
> — сами данные.
>
> Понятие алфавит берется в широком смысле, где каждый символ алфавита — это атомарная порция информации(знаний).
> например, всё следующее это алфавит:
> — цифры/числа;
> — слова;

Это алфавит

> — понимание, что вложенный блок внутри метода — это тело метода;

> — понимание, что код состоит из функций и замыканий;
> — знание, что название i обычно подразумевает счетчик цикла
> и т.д.

Я таких упрощений не понимаю. Любое упрощение модели — потеря информации. А такие упрощения, это вообще прямое разрушение рассматриваемой модели.

Поднимаемся на 1 уровень абстракции ->

Это соглашения.
Соглашения мы выражаем через алфавит, как минимальная смысловая часть предложения выражается через слова.
Это в чем-то сходные множества и даже могут пересекаться. Буква "В" может выступать как часть алфавита и как соглашение.
Соглашения еще отличаются тем, что зависят от контекста. Один и тот же элемент алфавита или совокупность элементов может выступать в роли разных соглашений, в зависимости от контекста.

И в основном мы оперируем соглашениями.


> На текущий момент известно, что у человека:

> — достаточно хорошо обстоит дело с запоминанием предопределенного алфавита (десятки тысяч для активного использования, в районе миллиона — для использования от случая к случаю).
> — плохие возможности по запоминаю локального алфавита (в районе десятка символов).
> — восприятие данных зависит от задачи, лучшее восприятие возникает когда задачу можно решить последовательным сканированием входной последовательности держа в памяти в каждый момент времени не больше всё того же десятка символов.
> Хуже всего воспринимается переопределение алфавита: когда символ в локальном алфавите означает противоположное тому, что означал в предопределенном алфавите.

Достаточно хорошо запоминаются простые и часто используемые соглашения. Субъективная мощность для простых соглашений из языков программирования порядка до нескольких сотен, обычно в районе до сотни. (??? прим: фигзнат)

Бывают сложные соглашения, бывают простые. Соглашения могут быть хорошо описаны и документированы или не документированы.

Соглашения могут запоминаться неправильно, ошибочно. Заблуждения в отношении каких-то соглашений, образованные мышлением по аналогии (и когда аналогия неверна), могут принимать массовый характер.


> Субъективизм через призму этой модели можно представить как то, что у каждого человека свой предопределенный алфавит, благодаря его личному опыту.

> Рост профессионализма можно описать, как нарабатывание личного предоопределенного алфавита (перенос алфавита, используемого окружающей средой, в личную долговременную память), что позволяет воспринимать каждый следующий кусок кода быстрее за счет обращений к личному предопределенному алфавиту вместо использования локального алфавита. В частности, это видно при обучении ребенка чтению — сначала ребенок при чтении обращается к личному предопределенному алфавиту букв (из которых восстанавливает звуки), потом к алфавиту слогов (из которых восстанавливает слоги), затем использует предопределенный алфавит слов (по напечатанных буквам сразу восстанавливается образ понятия из памяти).

Хороший синтаксис, это синтаксис позволяющий продуктивно оперировать бо'льшим количеством соглашений. Вот отсюда уже можно опускаться -> к алфавиту.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.