История изменений
Исправление den73, (текущая версия) :
Жаль. Мне просто интересна точка зрения.
Я могу коротко повторить. Бросай читать с первого пункта, с которым не согласен.
Текст, разбитый на абзацы, читать легче, чем текст без абзацев. Раскрашенный код читать легче, чем не раскрашенный.
Почему? Потому что «глазу есть за что зацепиться». В tcl есть разные скобки, есть ключевое слово else. За него глаз и цепляется. В лиспе всё круглое, одинаковое, зацепиться не за что, читать труднее. Это может быть не осозноваемо, но это наверняка можно замерить. Я не замерял, мне и так это очевидно.
Дальше. В тексте есть предлоги. Предлоги короче других слов. Почему? Из-за частотности. С другой стороны, буквы плюс-минус километр, но равномерно распределены по встречаемости. Если взять лисп, то в нём скобки торчат - их слишком много. А остальных символов слишком мало. Значит, лисповый текст неправильно построен по частотам и его можно заархивировать с большей степенью сжатия. Иными словами, в нём больше воды и меньше содержания, и эту воду предтсавляют из себя скобки.
Далее, идиотские длинные названия для сущностей, типа multiple-value-bind, реально снижают популярность полезных возможностей, потому что человек подсознательно стремится излагать мысли более коротко, чтобы меньше печатать. И избегает длинных конструкций. Во всяком случае, ленивый человек, а программист должен быть ленив.
Далее, пробел, точка с запятой или скобка. Меньше всего усилий нужно для чтения пробела. Труднее прочитать одну точку с запятой. Скобка требует больше всего усилий. Глаз постоянно спотыкается, читая скобку за скобкой. Поэтому синтаксис tcl хорош - в нём полно пробелов и нет даже точек с запятой. Синтаксис питона тем же хорош.
Далее, про отступы и скобки. Этот пример я здесь раза три приводил, но лиспер не способен воткнуть в него.
{
let a 1
let b 2
a+b
}
(let ((a 1))
(let ((b 2))
(+ a b)))
(progn
(let ((a 1))
(something a))
(something else))
(progn
(let ((a 1))
(something a)
(something else)))
Пишу только потому, что ты попросил.
Исходная версия den73, :
Жаль. Мне просто интересна точка зрения.
Я могу коротко повторить. Бросай читать с первого пункта, с которым не согласен.
Текст, разбитый на абзацы, читать легче, чем текст без абзацев. Раскрашенный код читать легче, чем не раскрашенный.
Почему? Потому что «глазу есть за что зацепиться». В tcl есть разные скобки, есть ключевое слово else. За него глаз и цепляется. В лиспе всё круглое, одинаковое, зацепиться не за что, читать труднее. Это может быть не осозноваемо, но это наверняка можно замерить. Я не замерял, мне и так это очевидно.
Дальше. В тексте есть предлоги. Предлоги короче других слов. Почему? Из-за частотности. С другой стороны, буквы плюс-минус километр, но равномерно распределены по встречаемости. Если взять лисп, то в нём скобки торчат - их слишком много. А остальных символов слишком мало. Значит, лисповый текст неправильно построен по частотам и его можно заархивировать с большей степенью сжатия. Иными словами, в нём больше воды и меньше содержания, и эту воду предтсавляют из себя скобки.
Далее, идиотские длинные названия для сущностей, типа multiple-value-bind, реально снижают популярность полезных возможностей, потому что человек подсознательно стремится излагать мысли более коротко, чтобы меньше печатать. И избегает длинных конструкций. Во всяком случае, ленивый человек, а программист должен быть ленив.
Далее, пробел, точка с запятой или скобка. Меньше всего усилий нужно для чтения пробела. Труднее прочитать одну точку с запятой. Скобка требует больше всего усилий. Глаз постоянно спотыкается, читая скобку за скобкой. Поэтому синтаксис tcl хорош - в нём полно пробелов и нет даже точек с запятой. Синтаксис питона тем же хорош.
Далее, про отступы и скобки. Этот пример я здесь раза три приводил, но лиспер не способен воткнуть в него.
{
let a 1
let b 2
a+b
}
(let ((a 1))
(let ((b 2))
(+ a b)))
(progn
(let ((a 1))
(something a))
(something else))
(progn
(let ((a 1))
(something a))
(something else)))
Пишу только потому, что ты попросил.