[personal profile] posic
- Зачем все величины обозначают одной и той же буквой икс? Почему не используются многобуквенные идентификаторы, несущие в себе информацию о природе величины, которую требуется найти?

- Затем, что метод математики заключается в абстрагировании от несущественного, и чем от большего количества несущественного удастся абстрагироваться, тем лучше.

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

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

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

Аргумент предполагает, что запоминание обозначений является незначительной частью в объеме трудности задачи, которую приходится решать; важно удобство оперирования с обозначениями, поскольку оперировать с ними придется много.

Разумеется, обходиться одной буквой икс на все случаи жизни глупо и скучно; ну так математики нормальным образом и не обходятся. Если бы школьная математика была устроена, как настоящая, там использовалась бы одна группа букв для обозначения переменных в линейных уравнениях, другая -- в полиномиальных, третья -- в тригонометрических, четвертая -- в экспоненциальных и т.д. Поскольку же школьная (или, вообще, обязательно преподаваемая) математика идет путем избавления от несомненно содержательного и потенциально интересного ради сохранения сомнительно необходимого, там все сводится к одной таблице умножения, одной теореме Пифагора, одному квадратному уравнению, и одной букве икс.

Date: 2012-01-06 09:06 pm (UTC)
yigal_s: (Default)
From: [personal profile] yigal_s
не иначе, сей идеей вас порадовал какой-то программист )

Date: 2012-01-07 08:00 pm (UTC)
From: [identity profile] Антон Фонарёв (from livejournal.com)
Забавно, что в экономике народ любит эти многобуквенные идентификаторы в формулах так сильно, что сует их повсюду.

Date: 2012-01-07 10:20 pm (UTC)
From: [identity profile] posic.livejournal.com
Собственно, я сам использую эти многобуквенные идентификаторы. Я написал книжку про функторы SemiTor и SemiExt. Идея была, естественно, в том, чтобы сделать обозначения понятными для умеренно внимательного читателя, поскольку читателей, внимательных более чем умеренно, скорее всего, просто не будет. Если же эти штуки будут дальше изучаться и вычисляться, народ придумает обозначения покороче.

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

Date: 2012-01-07 10:24 pm (UTC)
From: [identity profile] Антон Фонарёв (from livejournal.com)
Про SemiHom я подумал даже раньше экономики, но деликатно промолчал.

Date: 2012-01-07 10:24 pm (UTC)
From: [identity profile] posic.livejournal.com
Да, конечно, про это любят говорить люди, связанные с программированием каким-то образом (хотя и не обязательно профессиональные программисты).

Date: 2012-01-08 04:44 pm (UTC)
From: [identity profile] ailev.livejournal.com
Этой идеей порадовал я. Да, я много лет был программистом. Про дискуссии среди программистов про оптимальную длину имени я осведомлён. Можно еще пообсуждать, пишутся ли математические тексты "для себя" или "для других", пишутся ли тексты "для удобной обработки" или "для удобного чтения", и что бывает, когда оказывается, что долгодумательных кусочков вдруг накапливается на небольшую книжку. Еще можно пообсуждать, как использовать системы типа Mathematica для хитрых выкладок, чтобы не тратить своё время на рутинную работу, а думать только о "стратегии". Можно пообсуждать, правда ли что программы (не прикладные, а какие-нибудь хитрые компиляторы -- и не в объектной парадигме) проще математических текстов, или всё-таки не проще.

Все эти вопросы, конечно, активно обсуждаются и программистском сообществе, на каждый аргумент есть свой контраргумент и куча success stories.

Дальше можно еще учебный контекст затронуть, там свои плюхи.

Думаю, тут дискуссия сугубо религиозная пока получается, но мне кажется, что тренд уже очевиден.

Date: 2012-01-08 04:49 pm (UTC)
From: [identity profile] ailev.livejournal.com
В программировании прямо говорится: пишите программу, чтобы ее могли легко прочесть вы через десять лет, или ваш коллега -- и не пишите программу, чтобы вы могли ее легко записать.

Насчет "внимание рассеивается" в пометах на бумаге, так это а) таки необязательно бумага, соответствующая дискуссия "про бумагу и карандаш" в программировании прошла в конце семидесятых годов и б) тщательный выбор имён.

Иероглифические системы таки не выдерживают во всём мире, хотя бы слоговые системы оказываются в разы удобнее. И в математике иероглифическое письмо "по символу на понятие" тоже не выдержит.

Date: 2012-01-08 05:23 pm (UTC)
yigal_s: (Default)
From: [personal profile] yigal_s
вы правильно всё озвучиваете.

далее будет текст уровня сильно ниже вашего, не обессудьте.
------------

Всё же акценты математического текста и программного текста сильно разные.

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

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

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

Можно еще ряд факторов привести, скажем, в тексте экстремальной математической сложности вы всё же не найдете миллиона строк формул, математический текст прекрасно разбавляется обычным человеческим текстом, а вот комментировать программу - целое искусство, и неудачно, но подробно комментированную программу читать порой тяжелее, чем НЕкомментированную. -- Иными словами, смысл идентификаторов в математике может оказаться передавать удобнее в комментариях, а в программировании - в самих именах идентификаторов.
Edited Date: 2012-01-08 05:28 pm (UTC)

Date: 2012-01-08 05:40 pm (UTC)
From: [identity profile] ailev.livejournal.com
Такое впечатление, что вы обсуждаете какие-то очень несложные прикладные программы, работающие над очень несложными данными (например, результатами физического эксперимента), написанные в тридцатилетней давности процедурном стиле. За тридцать лет в программировании много чего понапроисходило. Программы стали сложнее, длина имён существенно выросла именно из-за того, что данные стали очень сложны, а комментирование программы сейчас уже не искусство: комментируются проектные решения, относящиеся ко всему проекту, но не собственно код. Код как раз должен "говорить за себя сам", код должен быть понятным и без комментариев.

Есть и промежуточная территория: системы доказательства правильности программ, логические системы, системы математического моделирования (в том числе решения систем дифуров), реализация суперкомпиляторов. Можно поглядеть, какие исторические тренды там, и какая сложность тамошних задач, и что делают там люди с идентификаторами.

Но это я ввязываюсь в спор, которого не хотел бы. Я думаю, что история более чем скоро даст ответ на мой вопрос -- если у логиков уже нужно сдавать статьи в печать с проверкой выкладок на компьютере, то когда у "обычных математиков" такое начнётся, всё с идентификаторами наладится само собой.

Date: 2012-01-08 05:53 pm (UTC)
yigal_s: (Default)
From: [personal profile] yigal_s
Мне кажется, что ваше впечатление неверно, во всяком случае как раз в процедурном стиле и обсчете физических данных прекрасно хватало одно-двусимвольных идентификаторов, а я описывал свои впечатления от опыта работы с более сложными вещами.

* Код как раз должен "говорить за себя сам", код должен быть понятным и без комментариев.

Были времена, когда я тоже так думал. :-)
Это касается лишь относительно тривиального кода, но код не всегда может быть тривиален, и документацией уровня проекта тут дело не исчерпывается, к сожалению.

В остальном, мне бы спорить тоже не хотелось.

Profile

Leonid Positselski

January 2026

S M T W T F S
     12 3
4 567 89 10
11 12 1314 151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 19th, 2026 07:26 am
Powered by Dreamwidth Studios