Фрайди найт

Mar 13, 2009 23:13

vit_r опять сделал коммент с очень точным наблюдением (http://ailev.livejournal.com/667930.html?thread=5693210#t5693210): "чем больше формализация, тем меньше люди обращают внимание на смысл". И ведь это крайне точно, замечал много раз: чем больше формализация, чем больше ( Read more... )

Leave a comment

nikaan March 16 2009, 21:47:55 UTC
Давайте я попытаюсь : не то, чтобы спорить, а объяснить. Может, Вы поймёте меня, а я - Вас.

Сначала про идентификаторы. Суть проблемы, мне кажется, что переменные и математические объекты существуют по-разному. BufferedReader существует только в данной конкретной программе, вообще говоря, это постоянно разные сущности и каждый им играется как хочет. Гладкое многообразие с какими-то свойствами - одно на всех. Одно. На весь мир и всех математиков и физиков. Поэтому, если в работе используется одно многообразие, его можно обозначить ну как угодно. Обычно - M^4, если четырёхмерное :) Или N^4. И т.д. Если их много - то да, надо придумывать говорящие имена. Но пока одно - смысла называть его CompactManifold-что-то там нет - понятней от этого никому не будет, только текст станет нечитаемым.

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

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

Если угодно, не бывает в математике переменных - только классы. Т.е. никакой изучаемый объект не является даже глобальным - он существует безотносительно статьи или книжки.

Тут же про содержание : крайне странно представлять математиков, играющих по некоторым правилам в некоторые игрушки. Наоборот, однобуквенные имена для объектов - уменьшение формализации. Мышление происходит образами - потому-то доказательство сложно записать, даже если оно есть. Сказать "понятно как писать программу, но написать её сложно", невозможно - если понятно, то ясно как писать. Иначе не понятно. Тут наоборот - надо идею загнать в рамки, чтобы другие тоже смогли её воспринять.

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

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

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

Reply

ailev March 16 2009, 22:17:06 UTC
Очень много у вас тут тем затронуто -- часть из этих тем далеко выходит за рамки обсуждаемых мной вопросов.

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

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

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

Reply

bvn_mai March 17 2009, 07:13:29 UTC
Извините, но не могу пройти мимо и не встрять - чувствуется рука могучего консультанта - после пункта 1 почувствовал, что извилины мои заплетены; после чтения пункта 2 - что они завязаны узлом в бантик; 3 - пункт читать не стал из опасений, что после его прочтения, извилины остануться в заклиненном состоянии :).

А nikaan все-таки прав.

Reply

nikaan March 17 2009, 07:36:06 UTC
Почти никакую тему обсуждать отдельно не получается...

1.Насчёт онтологии в математике. Как посетитель http://fizmatclub.spb.ru/courses/2009s.html#ontology_as_mathematics, скажу - важна не онтология объектов, важны методы математики. Стиль мышления. В конце концов, важны не ответы на вопросы, важен метод их получения (математика ум в порядок приводит...).

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

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

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

2. Давайте я скажу так : пользы от исследований нет, никто этого особенно и не утверждает. Есть пользы побочные : чистые математики производят на свет прикладных, обучают всех, кто в этом нуждается, математике, поддерживают культурный фон. За достаточно маленькие деньги. Вот Вы говорите, давайте прикладные будут существовать сами по себе, чистые им не нужны. Чисто логически - да, всё хорошо. Но логика нашего правительства в отношении образования тоже безупречна. К сожалению, постфактум выясняется, что там такую мелочь забыли, тут специфику не учли, и.... Ну, Вы тоже самое предлагаете. Вы претендуете на понимание социальных процессов - и это очень плохо. Будь Вы в придачу ко всему и социолог, специализирующийся на таких вопросах, и ещё первоклассный математик - плоть от плоти, тогда Ваши предложения имели хотя бы тот вес, что Вы смотрите на ситуацию и снаружи, и изнутри, и профессионально. Сейчас же Вы говорите : я понимаю, как работает эта машинка. Уверяю Вас, Вам кажется. Правильные слова : мне кажется, я смутно различаю какие-то закономерности. Более этого я услышать от Вас не могу :) Извините.

3. Образное мышление музыкантов. Знаете, я тоже немного музыку сочинял. Совсем не то. Это как говорить - все мыслительные деятельности одинаковы.

Я тут, в общем-то пытаюсь разве что критиковать. У Вас в голове есть картинка - в ней всё хорошо и разложено по полочкам. Когда Вам говорят, что всё сильно сложнее, Вы говорите зачем усложнять, всё же понятно - это так, так и так. А я пытаюсь снова сказать - всё гораздо сложнее. И не то, чтобы я считал Вас в этой области менее компетентным, чем я... всем-то неприятно как раз от того, что Вам кажется, что Вы знаете - и активно транслируете в массы. И, поверьте, людям вне науки обычно про науку всё гораздо яснее, чем людям внутри. А я не могу списать это на свойство взгляда со стороны :)

Итак, если Вы хотите онтологии - приведите пример.Действительно интересно. Мне кажется, теория категорий вполне удовлетворяет любым запросам. Ну, топосы там есть. И вообще Гротендик. Чего Ваша душа желает?

Reply

gineer March 17 2009, 08:56:00 UTC
//"Онтология" проявляется не в объектах, а в связях между ними - чего лично я в программировании не встречал.

Парадигма объекто-ориентирования какраз порлностью об этом.
Язык Smalltalk знаете?

//Судя по всему, сделать так, чтобы было понятно любому читающему, вообще невозможно.

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

А "трагизм" ситуации с автором этого блога какраз в том, что ему хочется, чтобы математики (и программисты к ним до кучи) были, вели себя, как селесари-сантехники, работа которых ему ближе и понятнее.

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

+1 :)

//...всем-то неприятно как раз от того, что Вам кажется, что Вы знаете - и активно транслируете в массы. И, поверьте, людям вне науки обычно про науку всё гораздо яснее, чем людям внутри. А я не могу списать это на свойство взгляда со стороны :)

so do I

Reply

nikaan March 17 2009, 09:18:24 UTC
Язык не знаю. Давайте я скажу по-иному : в математике связи играют чуть ли не ведущую роль - не в качестве удобства. Пассивной связи.(в программировании оно так - и парадигма ООП не хочет большего.) А в качестве активной связи. Из которой сыплется больше золота, чем из самого объекта.

Reply

gineer March 17 2009, 09:28:41 UTC
А не кажется ли вам что вы здесь несправедливы?
Требуя от гораздо более молодой отрасли успехов сравнительных с более старой и развитой.

//Пассивной связи.(в программировании оно так - и парадигма ООП не хочет большего.) А в качестве активной связи. Из которой сыплется больше золота, чем из самого объекта.

Вы просто не знаете о шаблонах... :)) или по-другому мета-программировании. ;)

Reply

nikaan March 17 2009, 09:32:46 UTC
Знаю. Но, повторюсь, по-моему, это бледная тень.

Reply

gineer March 17 2009, 09:39:33 UTC
А я повторюсь. Что вы слишком быстро, слишком многого хотите. ;)

Тут вы оч похожы на автора темы в своем профессиональнои максимализме.

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

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

Замечу еще.
Что тут интересно пролучается.
Я, как программист, концептуально нахожусь в акурат посередке между вами и автором топика, потому как в силу специфики деятельности вынужден понимать смысл аргументации и вашей, и его. ;)

Reply

nikaan March 17 2009, 11:32:12 UTC
Нет, я не хочу. Я утверждаю то, что вижу сейчас - о будущем программирования я не думаю. Проблема в том, что в математике связи нагружены семантически - в программировании я это замечаю разве что во всевозмиожном машинном обучении - но и то это пока, как это сказать, неявно и побочно.

Я, как программист, тоже нахожусь посерёдке :)
Понятие бесконечности не лежит в основе, уж извините.

Reply

gineer March 17 2009, 12:12:49 UTC
//Я утверждаю то, что вижу сейчас - о будущем программирования я не думаю.

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

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

8) разве это проблема?
Семантика в математике неотделима от личности самого математика, так как он одновременно является и субъектом ради которого делаются вычисления, так и объектом -- самим вычислителем.

Но ведь и в мозгах программист находится все такая же семантика.

А то что она может не так развита как в математике, то на это я уже указывал -- слишком молода пока еще область.
Больше напоминает времена Виета или там Ферма, чем математику в её теперешнем состоянии.
Частые холивары в её стенах, на тему процедурные против функциональных, машино-зависимые проти платформонезависимых, частное тому подтверждение... все равно что спор геометров с алгебраистами. ;)

А что до машинного обучения и вообще ИИ -- то это еще одна, еще более молодая ветвь, больше напоминающая алхимию пока. ;)

//Понятие бесконечности не лежит в основе, уж извините.

Даже если расширить "бесконечность и непрерывность"?
Или вы имели в виду какую-то конкретную подобласть?

Reply

nikaan March 17 2009, 20:44:29 UTC
Семантика отделима от личности.
Да, у программистов : имена являются не более, чем номами - только идентификаторами. В математике имена никого не замещают - являются именами объектов.

Я затруднюсь сказать, что лежит в основе :)
Одни скажут - пустое множество, мне ближе идея с объектами и стрелочками. Кольцо всегда как кольцо функций и прочая алгебраическая ерунда.

Reply

gineer March 18 2009, 06:53:44 UTC
//Семантика отделима от личности.

Да-а?
То есть формулы математики поймет даже африканский абориген не умеющий читать?
Или они будут работать даже если листик с этими формулами будет лежать на Луне?
Что это как не стихийный идеализм о котором здесь кажется упоминалось... :)

//имена являются не более, чем номами - только идентификаторами.

Да ну, конечно.
А такие понятия как файл, строка, ячейка памяти наконец, они конечно не являются именами объектов.
Дальше... массив, список, дерево... и т.д. и т.п.

//Я затруднюсь сказать, что лежит в основе :)

Тады не знаю. Я говорил о бесконечности и непрерывности не как о своем мнении, а потому что подчерпнул такое мнение у кого-то из классиков. :)

//Одни скажут - пустое множество, мне ближе идея с объектами и стрелочками.

Понятно пустое множество не само по себе, а с правилами операций над ним.
Но в принцыпе принимается -- теория множеств более основная чем что либо еще.

А объекты со стрелочками -- это уже парафия ООП. ;)

//Кольцо всегда как кольцо функций и прочая алгебраическая ерунда.

Об этом мне уже сложно судить. :)

Reply

nikaan March 18 2009, 07:17:50 UTC
Объекты и стрелочки - это годы 50ые.
И это несколько иное, нежели теория множеств.

Хорошо, ещё и обращение странное. Никто не пытается доказать-понять ячейку памяти.
Например, что такое очередь? Для программиста, в общем-то, странным занятием будет её изучать. Для математика - использовать.

Reply

gineer March 18 2009, 07:52:12 UTC
//Хорошо, ещё и обращение странное. Никто не пытается доказать-понять ячейку памяти.
Например, что такое очередь? Для программиста, в общем-то, странным занятием будет её изучать. Для математика - использовать.

А вот здесь не скажите.
Это опять вы со своего внешнего незаангажированного опыта говорите.

Конечно программист своих действий не доказывает, слава богу Дийкстра в этом не победил.
Но то что он "просто использует", это тоже не правда.
Знать теоритически что такое очередь, и применять её для решения какой-то задачи -- это две большие разницы как говорят в Одессе.
Все равно что просто читать книжки по математике и доказывать теоремы. ;)

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

Если хотите, в этом программирование даже сложнее математики.
Потому как программист имеет дело с объектами которые имеют собственную жизнь, постоянно меняют свое состояние.

Reply

nikaan March 17 2009, 09:24:07 UTC
сколь бы ни был я против высказываемых автором поста идей, хочет он вовсе не этого.

Reply


Leave a comment

Up