vit_r опять сделал коммент с очень точным наблюдением (
http://ailev.livejournal.com/667930.html?thread=5693210#t5693210): "чем больше формализация, тем меньше люди обращают внимание на смысл". И ведь это крайне точно, замечал много раз: чем больше формализация, чем больше
(
Read more... )
Сначала про идентификаторы. Суть проблемы, мне кажется, что переменные и математические объекты существуют по-разному. BufferedReader существует только в данной конкретной программе, вообще говоря, это постоянно разные сущности и каждый им играется как хочет. Гладкое многообразие с какими-то свойствами - одно на всех. Одно. На весь мир и всех математиков и физиков. Поэтому, если в работе используется одно многообразие, его можно обозначить ну как угодно. Обычно - M^4, если четырёхмерное :) Или N^4. И т.д. Если их много - то да, надо придумывать говорящие имена. Но пока одно - смысла называть его CompactManifold-что-то там нет - понятней от этого никому не будет, только текст станет нечитаемым.
Это личные ощущения от разбирания в статьях и программах. В статьях и книжках крайне мало объектов, поэтому запомнить обозначения нет никакого труда. Фон же, который за ними стоит, уместить в название всё равно не получится - даже если следовать Гротендику, чтобы все теоремы автоматически следовали из определений. Проведение этих следствий - всё равно большая работа. А мыслят всё равно образами - не представляя в голове всю цепочку определений понятия.
В программах наоборот - понимать, что значит конкретная переменная без внятного имени долго и трудозатратно - потому что её имя сразу должно являться определением - но тут контекста в виде определения хватает. Определения триангулированной категории же для понимания объекта ничего не даёт - одного определения знать недостаточно. И это подобно переходу с паскаля на ассемблер - сложность ведь вовсе не в том, что переменные и всё остальное как-то не так названо.
Если угодно, не бывает в математике переменных - только классы. Т.е. никакой изучаемый объект не является даже глобальным - он существует безотносительно статьи или книжки.
Тут же про содержание : крайне странно представлять математиков, играющих по некоторым правилам в некоторые игрушки. Наоборот, однобуквенные имена для объектов - уменьшение формализации. Мышление происходит образами - потому-то доказательство сложно записать, даже если оно есть. Сказать "понятно как писать программу, но написать её сложно", невозможно - если понятно, то ясно как писать. Иначе не понятно. Тут наоборот - надо идею загнать в рамки, чтобы другие тоже смогли её воспринять.
И третье : про практичность. Сводить всё к регулирующей руке рынка нельзя - она и так присутствует - за прикладные исследования платят сильно больше. Но это сфера Культуры - т.е. если человек хочет чем-то заниматься, он этим занимается. А профессиональное сообщество может его оценить. Говорить, что пусть люди этим интересным занимаются в виде хобби - то же самое, что сказать : нам такие не нужны. И вслед за этим просядет всё, что на этом завязано - если людей заставляют чем-то заниматься. То, что Вы хотите, и так есть - удовольствие от решения прикладной задачки просто иное. В этом смысле математика похожа на философию - хочется понимать, потому что хочется понимать.
Тут уместна была бы аналогия с литературой, скажем - типа, хочешь решать задачки, решай на вольных хлебах. Без помощи государства. Это плохая аналогия - потому что наука состоит из этажей. Нельзя безболезнено убрать часть. Т.е. намного ярче выражена вертикаль.
Но это опять-таки, скучный спор, зачем нужна наука - ради того, чтобы всем было тепло и сытно, или ради чего-то другого.
Reply
1. Я начинал с поминания онтологического статуса математических объектов и упоминания объективных идеалистов как постулирующих существования того, что они напридумывали. Поэтому ваше размышление про переменные и их имена тут не совсем в точку. Можно обсуждать роль (переменная на месте параметра функции), тип и класс (да, я различаю типы и классы -- первые специализируются, а вторые содержат элементы). Поэтому я призываю математиков больше внимания уделять онтологии (в том числе и именованиях объектов), а не подражать именованию переменных в языках программирования.
2. Еще древние греки различали праксис и поэзис, работу по заданию и деятельность по вдохновению. Рынок -- это про праксис. Я ничего не имею против поэзиса, только не нужно при этом говорить, что это полезно. Более того, могут быть меценаты, которые будут утверждать, что им это нравится, и они готовы чей-то поэзис оплачивать (как оплачивают содержание канарейки, приятной своими песнями) -- нет проблем, но это пусть будут частные расходы. Увы, математики в большинстве своем почему-то считают, что они в своем поэзисе настолько полезны обществу, что оно должно исключить их из сферы рыночного праксиса и кормить в обязательном порядке "во имя науки". Я с этим не согласен, я считаю, что фундаментальная наука отличненько может развиваться "по заказу", а не только в порядке броуновского движения разных исследований "интересненького".
3. Насчет образного мышления математиков, музыкантов и т.д. -- это относится к изучению субъективного опыта, которым занимается НЛП. Ничего особенного у математиков по сравнению с любой другой деятельностью, требующей записи или другого выражения. Композиторы тоже пишут партитуру симфонического оркестра "из звучания в голове", но в разных других нотациях (число которых резко возросло с появлением компьютерных музыкальных программ).
Reply
А nikaan все-таки прав.
Reply
1.Насчёт онтологии в математике. Как посетитель http://fizmatclub.spb.ru/courses/2009s.html#ontology_as_mathematics, скажу - важна не онтология объектов, важны методы математики. Стиль мышления. В конце концов, важны не ответы на вопросы, важен метод их получения (математика ум в порядок приводит...).
Далее, насчёт онтологии : аксиоматика теории множеств была воспринята в философию.
А вот теория категорий, Вы к ней как относитесь? С моей точки зрения, это именно то, что Вы имеете в виду, т.е., то, что Вы хотите - но совсем иначе, чем Вам видится. Объекты, классы, морфизмы... кажущаяся бедность конструкции. А далее оказывается, что примеры из совершенно разных областей описываются на одном и том же языке - простейший пример, это финальный объект. И прямое произведение чего угодно, и объединение чего угодно ( с сохранением внутренней структуры) и много чего ещё им является.
"Онтология" проявляется не в объектах, а в связях между ними - чего лично я в программировании не встречал. Множество гомоморфизмов между двумя группами, например. Ну и плюс обручи, сшивающие математику в одну науку - а не в миллион маленьких областей. Как мне кажется - Вы отбросили весь смысл, стоящий за математическими объектами - и обвиняете их в отсутствии смысла.
Ремарка в сторону - далеко не все студенты кафедры алгебры понимают теорию категорий. Судя по всему, сделать так, чтобы было понятно любому читающему, вообще невозможно.
2. Давайте я скажу так : пользы от исследований нет, никто этого особенно и не утверждает. Есть пользы побочные : чистые математики производят на свет прикладных, обучают всех, кто в этом нуждается, математике, поддерживают культурный фон. За достаточно маленькие деньги. Вот Вы говорите, давайте прикладные будут существовать сами по себе, чистые им не нужны. Чисто логически - да, всё хорошо. Но логика нашего правительства в отношении образования тоже безупречна. К сожалению, постфактум выясняется, что там такую мелочь забыли, тут специфику не учли, и.... Ну, Вы тоже самое предлагаете. Вы претендуете на понимание социальных процессов - и это очень плохо. Будь Вы в придачу ко всему и социолог, специализирующийся на таких вопросах, и ещё первоклассный математик - плоть от плоти, тогда Ваши предложения имели хотя бы тот вес, что Вы смотрите на ситуацию и снаружи, и изнутри, и профессионально. Сейчас же Вы говорите : я понимаю, как работает эта машинка. Уверяю Вас, Вам кажется. Правильные слова : мне кажется, я смутно различаю какие-то закономерности. Более этого я услышать от Вас не могу :) Извините.
3. Образное мышление музыкантов. Знаете, я тоже немного музыку сочинял. Совсем не то. Это как говорить - все мыслительные деятельности одинаковы.
Я тут, в общем-то пытаюсь разве что критиковать. У Вас в голове есть картинка - в ней всё хорошо и разложено по полочкам. Когда Вам говорят, что всё сильно сложнее, Вы говорите зачем усложнять, всё же понятно - это так, так и так. А я пытаюсь снова сказать - всё гораздо сложнее. И не то, чтобы я считал Вас в этой области менее компетентным, чем я... всем-то неприятно как раз от того, что Вам кажется, что Вы знаете - и активно транслируете в массы. И, поверьте, людям вне науки обычно про науку всё гораздо яснее, чем людям внутри. А я не могу списать это на свойство взгляда со стороны :)
Итак, если Вы хотите онтологии - приведите пример.Действительно интересно. Мне кажется, теория категорий вполне удовлетворяет любым запросам. Ну, топосы там есть. И вообще Гротендик. Чего Ваша душа желает?
Reply
Парадигма объекто-ориентирования какраз порлностью об этом.
Язык Smalltalk знаете?
//Судя по всему, сделать так, чтобы было понятно любому читающему, вообще невозможно.
Не невозможно, а непрактично. :)
Производительность труда слесаря-сантехника или электрика от того что он знает теорию категорий не увеличится, а только упадет.
Если он вдруг вместо того чтобы просто сделать, вдруг начнет искать красивое математическое решение для того что надо сделать.
А "трагизм" ситуации с автором этого блога какраз в том, что ему хочется, чтобы математики (и программисты к ним до кучи) были, вели себя, как селесари-сантехники, работа которых ему ближе и понятнее.
//Вы претендуете на понимание социальных процессов - и это очень плохо. Будь Вы в придачу ко всему и социолог, специализирующийся на таких вопросах, и ещё первоклассный математик - плоть от плоти, тогда Ваши предложения имели хотя бы тот вес, что Вы смотрите на ситуацию и снаружи, и изнутри, и профессионально. Сейчас же Вы говорите : я понимаю, как работает эта машинка. Уверяю Вас, Вам кажется. Правильные слова : мне кажется, я смутно различаю какие-то закономерности. Более этого я услышать от Вас не могу :) Извините.
+1 :)
//...всем-то неприятно как раз от того, что Вам кажется, что Вы знаете - и активно транслируете в массы. И, поверьте, людям вне науки обычно про науку всё гораздо яснее, чем людям внутри. А я не могу списать это на свойство взгляда со стороны :)
so do I
Reply
Reply
Требуя от гораздо более молодой отрасли успехов сравнительных с более старой и развитой.
//Пассивной связи.(в программировании оно так - и парадигма ООП не хочет большего.) А в качестве активной связи. Из которой сыплется больше золота, чем из самого объекта.
Вы просто не знаете о шаблонах... :)) или по-другому мета-программировании. ;)
Reply
Reply
Тут вы оч похожы на автора темы в своем профессиональнои максимализме.
Добавлю в защиту программирования, что "недостаточное" его развитие в этом направлении связано еще и с тем, что содержательная работа программиста зависит еще и от кучи дополнительных сложностей и ограничений, чисто инженерного плана замечу, на которые математикам или плевать с большой колокольни, или они им совершенно непонятны и неизвестны.
Например, программисты не могут себе позволить так вольно обращатся с понятием "бесконечность", которая лежит в основе практически всех математических формализмов.
Замечу еще.
Что тут интересно пролучается.
Я, как программист, концептуально нахожусь в акурат посередке между вами и автором топика, потому как в силу специфики деятельности вынужден понимать смысл аргументации и вашей, и его. ;)
Reply
Я, как программист, тоже нахожусь посерёдке :)
Понятие бесконечности не лежит в основе, уж извините.
Reply
К сожалению, как и большинство программистов, для которых "будущее" сводится зачастую к освоению какой-то новой модной технологии.
//Проблема в том, что в математике связи нагружены семантически - в программировании я это замечаю разве что во всевозмиожном машинном обучении - но и то это пока, как это сказать, неявно и побочно.
8) разве это проблема?
Семантика в математике неотделима от личности самого математика, так как он одновременно является и субъектом ради которого делаются вычисления, так и объектом -- самим вычислителем.
Но ведь и в мозгах программист находится все такая же семантика.
А то что она может не так развита как в математике, то на это я уже указывал -- слишком молода пока еще область.
Больше напоминает времена Виета или там Ферма, чем математику в её теперешнем состоянии.
Частые холивары в её стенах, на тему процедурные против функциональных, машино-зависимые проти платформонезависимых, частное тому подтверждение... все равно что спор геометров с алгебраистами. ;)
А что до машинного обучения и вообще ИИ -- то это еще одна, еще более молодая ветвь, больше напоминающая алхимию пока. ;)
//Понятие бесконечности не лежит в основе, уж извините.
Даже если расширить "бесконечность и непрерывность"?
Или вы имели в виду какую-то конкретную подобласть?
Reply
Да, у программистов : имена являются не более, чем номами - только идентификаторами. В математике имена никого не замещают - являются именами объектов.
Я затруднюсь сказать, что лежит в основе :)
Одни скажут - пустое множество, мне ближе идея с объектами и стрелочками. Кольцо всегда как кольцо функций и прочая алгебраическая ерунда.
Reply
Да-а?
То есть формулы математики поймет даже африканский абориген не умеющий читать?
Или они будут работать даже если листик с этими формулами будет лежать на Луне?
Что это как не стихийный идеализм о котором здесь кажется упоминалось... :)
//имена являются не более, чем номами - только идентификаторами.
Да ну, конечно.
А такие понятия как файл, строка, ячейка памяти наконец, они конечно не являются именами объектов.
Дальше... массив, список, дерево... и т.д. и т.п.
//Я затруднюсь сказать, что лежит в основе :)
Тады не знаю. Я говорил о бесконечности и непрерывности не как о своем мнении, а потому что подчерпнул такое мнение у кого-то из классиков. :)
//Одни скажут - пустое множество, мне ближе идея с объектами и стрелочками.
Понятно пустое множество не само по себе, а с правилами операций над ним.
Но в принцыпе принимается -- теория множеств более основная чем что либо еще.
А объекты со стрелочками -- это уже парафия ООП. ;)
//Кольцо всегда как кольцо функций и прочая алгебраическая ерунда.
Об этом мне уже сложно судить. :)
Reply
И это несколько иное, нежели теория множеств.
Хорошо, ещё и обращение странное. Никто не пытается доказать-понять ячейку памяти.
Например, что такое очередь? Для программиста, в общем-то, странным занятием будет её изучать. Для математика - использовать.
Reply
Например, что такое очередь? Для программиста, в общем-то, странным занятием будет её изучать. Для математика - использовать.
А вот здесь не скажите.
Это опять вы со своего внешнего незаангажированного опыта говорите.
Конечно программист своих действий не доказывает, слава богу Дийкстра в этом не победил.
Но то что он "просто использует", это тоже не правда.
Знать теоритически что такое очередь, и применять её для решения какой-то задачи -- это две большие разницы как говорят в Одессе.
Все равно что просто читать книжки по математике и доказывать теоремы. ;)
Кроме того, программист чаще всего применяет не просто сами эти выхолощенные объекты, а их композиции, типа массивы строк или очереди деревьев.
Причем часто при довольно специфических ограничениях.
Что подразумевает уже некоторую исследовательскую работу.
Если хотите, в этом программирование даже сложнее математики.
Потому как программист имеет дело с объектами которые имеют собственную жизнь, постоянно меняют свое состояние.
Reply
Reply
Leave a comment