По мотивам поста о программировании и искусстве - вспомните, пожалуйста, случалось ли вам из чистого собственного любопытства писать (или хотя бы пытаться писать) программы (или части программ) такие бесполезные, что даже коллегам не всегда легко объяснить "зачем". Программы, создание которых просто радовало/забавляло вас. Программы, не предназначенные (и не предполагаемые) ни для бытового/коммерческого применения, ни для соревнований и т.п.
Ну правда не включая вещи типа "когда я только учился, я написал программу складывающую числа от 1 до 100" - не потому, что это не относится, а потому что через подобное все прошли... Впрочем границу между "учебными" и "бесполезными" или "бесполезными" и "научными" программами трудно провести точно... Также не ясна граница со случаями когда мы пишем программы, которые будут неприменимы из-за того, что уже есть более качественные аналоги... ;-)
Примеры:
1) Как-то раз прочёл в журнале (или ещё где-то) статью о самообучающихся алгоритмах для несложных игр - и к ней письмо читателя, который утверждал что то ли он, то ли его коллега, пробовал заставить два самообучающихся алгоритма играть друг с другом и они, якобы, ничему не научились (мол, дурак дурака не научит). Мне это показалось полной туфтой (ну да не будем это обсуждать) - и я довольно много времени убил на самообучающиеся крестики-нолики или ещё что-то, правда в силу неопытности до конца так и не довёл.
2) Однажды нужно было писать какой-то курсовик с квази-БД про студентов и прочую ерунду - и было мне так скучно, этим заниматься, что я попытался создать механизм для не-реляционной БД (хотя знаний у меня подходящих не было). Попытался я делать это на Лиспе, т.к. "базу" я хотел представить в виде дерева с довольно произвольными связями между объектами, их свойствами и другими объектами. И тут я понял что у меня могут быть циклические связи, а имевшиеся у меня интерпретаторы либо не давали замкнуть списки в кольцо, либо висли при попытке обработки такой структуры. Ну и в общем я засел за создание интерпретатора пусть примитивного, но умеющего и создавать и работать не только со списками (деревьями) но и с произвольными графами вообще.
Ага, закончил за три дня до сдачи курсовика и понял что сам-то курсовик с места не сдвинулся. В общем на скорую руку написал "Студенческую БД" на своём интерпретаторе и сдал - правда по разочарованному лицу преподавателя я понял что он даже читать не стал, т.к. отчёт больше инструкцию напоминал... ;-)
Ну правда не включая вещи типа "когда я только учился, я написал программу складывающую числа от 1 до 100" - не потому, что это не относится, а потому что через подобное все прошли... Впрочем границу между "учебными" и "бесполезными" или "бесполезными" и "научными" программами трудно провести точно... Также не ясна граница со случаями когда мы пишем программы, которые будут неприменимы из-за того, что уже есть более качественные аналоги... ;-)
Примеры:
1) Как-то раз прочёл в журнале (или ещё где-то) статью о самообучающихся алгоритмах для несложных игр - и к ней письмо читателя, который утверждал что то ли он, то ли его коллега, пробовал заставить два самообучающихся алгоритма играть друг с другом и они, якобы, ничему не научились (мол, дурак дурака не научит). Мне это показалось полной туфтой (ну да не будем это обсуждать) - и я довольно много времени убил на самообучающиеся крестики-нолики или ещё что-то, правда в силу неопытности до конца так и не довёл.
2) Однажды нужно было писать какой-то курсовик с квази-БД про студентов и прочую ерунду - и было мне так скучно, этим заниматься, что я попытался создать механизм для не-реляционной БД (хотя знаний у меня подходящих не было). Попытался я делать это на Лиспе, т.к. "базу" я хотел представить в виде дерева с довольно произвольными связями между объектами, их свойствами и другими объектами. И тут я понял что у меня могут быть циклические связи, а имевшиеся у меня интерпретаторы либо не давали замкнуть списки в кольцо, либо висли при попытке обработки такой структуры. Ну и в общем я засел за создание интерпретатора пусть примитивного, но умеющего и создавать и работать не только со списками (деревьями) но и с произвольными графами вообще.
Ага, закончил за три дня до сдачи курсовика и понял что сам-то курсовик с места не сдвинулся. В общем на скорую руку написал "Студенческую БД" на своём интерпретаторе и сдал - правда по разочарованному лицу преподавателя я понял что он даже читать не стал, т.к. отчёт больше инструкцию напоминал... ;-)
Т.е. на нём очень удобно описывать "тупо переборные" задачи... Как мне показалось... Спасибо, кстати, за идею... Надо самому попробовать эту задачу решить... ;-)
В каком виде реализовывал и насколько полезным оказалось?
Другое дело- интеллектуальный обучаемый бот:) С какой-нибудь нейронкой для принятия решений и другими плюшками. Так и правда, наверное, деньги может зарабатывать.
Дважды.
Вот для экспериментов с прологом - это да, отличный материал...
Самая первая написанная мною программа выводила тип треугольника по заданной длине сторон. В дальнейшем я часто писал вещи, которые были подчинены сиюминутному интересу: ботов для простых игр, проверку уже упоминавшегося здесь парадокса Монти Холла, игру "Жизнь". Всё это, правда, писалось давно, ещё на Бейсике.
Однажды где-то услышал, что 13 число в григорианском календаре чаще всего выпадает на пятницу. Проверил.