Смешной вопрос...

Jan 11, 2012 08:09

Ко мне поступила просьба ( Read more... )

Leave a comment

nivanych July 31 2013, 04:53:23 UTC
> с точностью до идентичности

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

> Ведь говоря о множествах, вы всегда явно или не явно
> подразумеваете операцию над элементами множества

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

Категорный язык прочно вошёл в современную математику. Вся алгебраическая геометрия и алгебраическая топология пронизаны категорным языком, это как например.
Можно говорить, что "всё равно, это всё множества", конечно. Может быть, даже изобрести какое-то новое описание, и может быть, даже более удобное, чем категории.
Только нет его, как бы не ругали категории.
Ну вот можно сказать, что почти родились n-категории (из которых реально используют почти только (∞,k) для небольших k), мультикатегорный язык давно зародился, только мало его используют в общем виде, а в основном, в виде операд.
Но это более сложные языки. А категорный язык проще множеств.

Reply

andybil July 31 2013, 04:59:10 UTC
"А категорный язык проще множеств." - Да даже этот ваш пост говорит о том, что это не так. И непопуляность и "элитарность" ФП. Почему самолёт водить проще, чем программировать на Хаскеле?

Reply

nivanych July 31 2013, 05:25:13 UTC
С функциональщиной хватает и очевидных причин.
А категорный язык проще множеств. Но непривычный очень.
Если теоретико-множественной интуиции учат, по крайней мере, со школы, то до категорной часто и вовсе не доходит. Что не означает того, проще она или сложнее множеств.
Что сильно непривычнее - вполне так означает.
И пост ни доказывает это, ни опровергает.
Впрочем, ради справедливости, я таки признаюсь, что например, построить объяснения, пригодные детям в школе, я пока не возьмусь.
Ибо надо слишком много конкретных вещей (например, арифметика), в которых категории не помогают никак. Но отдельные элементы интуиции, может быть, где-то будут полезны... Может быть...

Reply

sp_r00t August 15 2013, 08:45:33 UTC
>Почему самолёт водить проще, чем программировать на Хаскеле?
Да бросьте. Вообще понятия "просто" и "сложный" в применении к языкам программирования вряд ли применимы. По мне так кодить на Хаскеле попроще чем на Си будет, но я прекрасно осознаю субьективность этой оценки.
Дело не в сложности, дело во вкусе

Reply

andybil August 15 2013, 08:58:16 UTC
понятия "просто" и "сложный" в применении к языкам программирования вряд ли применимы > с чего вдруг?Если с не могу писать на хаскеле, прочитав учаебник в третий раз и 10 лет пишу на С++ с иерархиями и т.п.

Reply

sp_r00t August 15 2013, 09:06:01 UTC
То это говорит только о привычках.
Напечатать служебную записку на компьютере по готовому шаблону и проще и быстрее чем писать вручную, однако многие продолжают писать от руки.
Нормальный консерватизм.
Я не являюсь профессиональным программистом и различными ЯП интересовался в равной степени - так мне Хаскель кажется попроще приплюснутого. Это подтверждает сугубо субьективную оценку сложности языка.
К тому же не забываем, что есть вещи, которые можно легко реализовать на С++, но сложно на Хаскеле. Однако и дрова рубить проще топором, нежели скальпелем, а препарировать человека удобнее скальпелем, нежели топором, но это не говорит, что какой-то из этих инструментов проще

Reply

andybil August 15 2013, 09:11:45 UTC
Проще это значит, что язык описан на 10 страницах или в трёхтомнике. Так конечно Хаскель труднее, надо ещё знать теорию категорий и еще чего кучу. Да и все говорят порог вхождения выше.Простой вопрос, окрыть файл, записать 10 байт и закрыть на хаскеле?

Reply

sp_r00t August 15 2013, 09:20:36 UTC
>Проще это значит, что язык описан на 10 страницах или в трёхтомнике.
По моему Стандарт Хаскеля менее объёмист, нежели Стандарт С++.
Оно и понятно, поскольку С++ - язык куда более широкого назначения нежели Хаскел.

>Да и все говорят порог вхождения выше
Обратите внимание на то, что те, кто это говорят, приходили к Хаскелю после использования языков другого типа.
А если взяться сразу за Хаскель, то потом Ява покажется запредельно трудной:)

>Простой вопрос, окрыть файл, записать 10 байт и закрыть на хаскеле?
Ничего не простой вопрос.
Но и реализация на С++ тоже совсем непроста.
Фактически этот вопрос решают библиотеки. И если распотрошить библиотечные функции, то там мы увидим обёртки, оперирующие системным API, осуществляющие кучу проверок на то существует ли файл, достаточно ли прав и т.д. Если написать такую функцию на Хаскеле и сделать её библиотечной, то эта задача будет решаться не сложнее чем на С++. Буде как на С++ она так же точно решается.

Reply

andybil August 15 2013, 09:28:00 UTC
А, тат там и на сокеты нет библиотех, и на графику?Так чего же тах много разговоров про хаскель, если нету библиотек,он же проще с++, или надо ждать 20-30 лет, пока всё напишут? Я аот спросил тут одно светило, почему так медленно работают компы, если мы с нашим мозгом рапознаем лица за 20 мс. Он сказал, что для моноида время расчёта пропорциональнот 0(n), значит если 10 МП в каждом глазу, значит что то не вяжется и был забанен за сомнения в математике.

Reply

sp_r00t August 15 2013, 09:41:21 UTC
Я находил библиотеки на графику для Хаскеля. Честно скажу - полный отстой. Но это ведь нормальное явление - чем менее применяется язык, тем меньше в нём библиотек. Отсюда запускается механизм порочного круга - чем меньше библиотек, тем меньше людей его хотят применять.
Хаскел слишком академичен и поэтому нужен только "академикам". Но это не говорит о его сложности, а скорее о намеренно заложенной парадигме развития. Как никогда OpenBSD не вытеснит винду с десктопов, так и хаскел не станет промышленным языком проектирования, но однако OpenBSD ничуть не сложнее (и не проще) винды, так же и хаскель не сложнее и не проще С++.
Просто разные судьбы, разные целевые аудитории у этих языков.
Да и кстати, для того, чтобы программировать на Хаскеле совсем необязательно знать теорию категорий:) С другой стороны, человек, знакомый с теорией категорий, наверняка будет лучше программировать на любом языке.

Reply

andybil August 15 2013, 09:46:05 UTC
Да и кстати, для того, чтобы программировать на Хаскеле совсем необязательно знать теорию категорий:) С другой стороны, человек, знакомый с теорией категорий, наверняка будет лучше программировать на любом языке.>Возиожно, тем хуже для хаскеля. Такой порог вхождения не нужен для сортировки или рисования UI.И да, прораммировать лучше гне заметил. Большинство не знает теорию категорий. в Школе не учат.

Reply

sp_r00t August 15 2013, 09:53:54 UTC
>Такой порог вхождения не нужен для сортировки или рисования UI
Сортировку на Хаскеле реализовать попроще будет, чем на большинстве ЯП. Вот только насчёт быстроты работы приложения я врать не буду - не знаю. Но это уже вопрос не к языку, а к реализациям интерпретаторов/компиляторов.
Но я опять-таки совершенно не спорю, что в практическом программировании Хаскел не нужен. Точнее не "не нужен", а "непригоден".
Спорил то я не о его пригодности, а лишь о простоте.
Я собственно даже не спорю, я просто пытаюсь понять, какие критерии простоты для Вас важны?
Если наличие библиотек - то это дело наживное. У Хаскела есть энтузиасты и нехай пишут библиотеки. А если брать объём кода, то Хаскел заткнёт большинство ЯП за пояс - это несомненно.
Опять же, читабельность (а как следствие - сопроваждаемость) кода у Хаскела просто невероятная. Я не знаю языки, которые могли бы с ним сравниться.

Reply

andybil August 15 2013, 10:02:50 UTC
Считабельность у ассемблера лучшая - там пересылки, переходы и умложить- вычесть умножить поделить, сдвинуть и логисч операции, и всё. Так же должно быть с файлами: открыть закрыть, зписать, прочитать, и всё, и с графикой: 4-5 операций: сжатие, поворот, прозначность, смещение и всё. Это для любого языка.

Reply

sp_r00t August 15 2013, 10:06:36 UTC
>Считабельность у ассемблера лучшая
Я сначала опешил.
Но потом улыбнулся - я не про "считабельность", я про "читабельность" (в смысле - лёгкость чтения кода) говорил:)

>Это для любого языка.
Насколько я помню, операции ввода-вывода не принадлежат языку Си. По моему и с С++ такая же история. Или всё-таки нет?
Значит всё-таки не о любых языках речь идёт.

Reply

andybil August 15 2013, 10:14:59 UTC
Какая разница, принадлежат или не принадлежат операции ввода-вывода. Мне не нравится во всех языках, что они занимаются строками. У строки всегда есть направление, поэтому у строки всегда есть порядок, а математики говорят, что етсь множества без заданного порядка. Я думаю, что если множество зафиксированно на бумаге, у него есть и порядок, и координаты. Поэтому не понимаю, зачем нужна аксиома выбора, они не объяснили никто.говорят, это основы ... чего? Вот прочти 1000 книг и приходи.А то нельзя впрос в ЖЖ задать.нельзя говорить о топологии в процессоре.почему нет процессоров больше 64 бит? Никто не знает .

Reply

sp_r00t August 15 2013, 10:22:40 UTC
>Какая разница, принадлежат или не принадлежат операции ввода-вывода.
Разница в том, что в этом случае наличие и развитая поддержка операций ввода-вывода перестаёт быть свойством собственно языка и не влияет на оценку его "простоты".

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

Reply


Leave a comment

Up