Author Topic: Раздел "Красивые решения"  (Read 4065 times)

0 Members and 1 Guest are viewing this topic.

Атеист

  • Guest
Раздел "Красивые решения"
« on: October 23, 2018, 10:20:54 PM »
Предлагаю создать на форуме пару новых разделов.

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

Нужно будет придумать "говорящее" название для этого раздела, например: простое - "Красивые решения", или с вызовом - "А вам слабо?!". Первый пример названия, поможет просто не забывать и использовать богатый накопленный на форуме опыт. Второй - может сподвигнуть людей на создание собственных красивых алгоритмов и новых обсуждений на форуме.

Конечно придется грамотно оформить каждую тему этого раздела, и прокомментировать строки кода. Этим можно загрузить самого автора алгоритма.)

Имхо - этот раздел будет более посещаемый, чем большинство других разделов форума.

2. Раздел, в котором каждый сможет подать заявку на размещение какого-то своего алгоритма (или чужого понравившегося, со ссылкой на автора), в первом разделе.  Тут всё понятно.

Реальный пример:

Предлагаю увековечить в разделе "Красивые решения" алгоритм уважаемого dramster'а - http://crapware.aidf.org/forum/index.php?topic=4265.msg29080#msg29080
Кто не согласен с его авторством - может первым кинуть в него тапок  ;D, но само решение, по моему, следует закрепить как пример красивого алгоритма.
Имеется в виду конкретное решение, для конкретной задачи, без учета прошлых заслуг и множества других красивых решений данного автора... и т.д. и т.п.

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

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Раздел "Красивые решения"
« Reply #1 on: October 24, 2018, 02:16:53 AM »
Можете закидать меня сочными помидорами. :D
ИМХО, Кликер не обладает достаточным функционалом для немонотонного (разнообразного) решения задач и красивого оформления кода. Но, справедливости ради стоит повторить слова,  сказанные многажды раз до меня. Текущего функционала достаточно для выполнения большинства задач.
Напоследок добавлю. Кликер уникален тем, что не обременяет пользователя перегруженным синтаксисом и функционалом, что прямо указывает на причинно-следственную связь.
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Раздел "Красивые решения"
« Reply #2 on: October 24, 2018, 09:16:52 AM »
ИМХО, Кликер не обладает достаточным функционалом для немонотонного (разнообразного) решения задач
ИМХО - мне пофиг, однообразно, или разнообразно решается задача, если она решается. Ее не я 500.000 раз в минуту решаю, а кликер... Я ее решаю ОДИН раз - когда пишу код.
Я не ду... Потому и не бу...

ya12

  • Активный участник
  • ***
  • Posts: 165
    • View Profile
Re: Раздел "Красивые решения"
« Reply #3 on: October 24, 2018, 01:44:19 PM »
Если чего не хватает, можно запихать в DLL.

Атеист

  • Guest
Re: Раздел "Красивые решения"
« Reply #4 on: October 24, 2018, 08:46:29 PM »
Наверно я плохо объяснил, что хотелось бы видеть на форуме. Неплохо было бы упорядочить уже существующие решения для разных задач. Создать особый раздел, с примерами решений, в который отобрать только самые интересные из них. Таких решений не бывает много, они нестандартные.

Такое понятие, как "красивое" или "элегантное" решение, существует, и я его не выдумал. Такое решение - не означает синтаксически правильно написанный код, оно даже может не содержать в себе кода. Его красота в самой идее/догадке, которая настолько проста и очевидна, что большинство людей её даже не видят. Не видят, например, под давлением авторитета участников обсуждения, которые пишут нечто невообразимо сложное для их понимания, выдавая это за абсолютную истину. Но есть люди, которые мыслят нестандартно и способны искать свой путь, пусть даже если он проходит через запрет. Эти люди - первооткрыватели (своего времени). Кстати, предложить изящное решение может человек, который даже не обременен знанием языка, потому что смотрит на проблему "под другим углом" и может "ляпнуть не подумавши". Да так ляпнуть, что у профи челюсть отвиснет. :)

Что касается функционала Clickermann и его языка, то он то как раз и позволяет находить нестандартные решения. Заставляет выкручиваться на том что есть под рукой. Попробуйте предложить что нибудь новое, например в JavaScript. Там всё давно найдено, перекопано и уже вытоптано. К тому же по JS написано очень много книг, которые переведены на множество языков. Интернет просто забит информацией по JS. Так что там найти что то новое крайне сложно. Но думаю, что некоторые все-таки находят.)

Попробую объяснить про красивое решение на том же примере - http://crapware.aidf.org/forum/index.php?topic=4265.msg29080#msg29080
Вообще то есть способ написать более быстрый скрипт. Но он не всегда будет работать быстрее, а только при анализе изображений, на которых очень много уникальных цветов. Он всегда будет выполняться за одно и тоже время. В этом его сила и слабость одновременно. Но он обычный, стандартный, даже можно сказать заурядный.  :(

Алгоритм типа классический:
1. проходим циклом по всем пикселям изображения и складываем их цвета в массив;
2. сортируем массив, у нас же теперь есть сортировка! :));
3. теперь, когда все элементы массива упорядочены по цветам (лежат "цвет к цвету"), подсчитываем количество вхождений каждого цвета, за один проход по массиву.
Такой алгоритм может выиграть по скорости у алгоритма который предложил dramster, возможно даже в разы, но не всегда. Но в этом подходе ничего нового нет, просто сортировки в КМ раньше небыло.

Dramster же предложил новый алгоритм, который еще никто не придумал. Его скрипт самооптимизируется на изображениях с малым количеством уникальных пикселей и очень сильно выигрывает по скорости у всего, что было придумано раньше. Красота самой идеи в том, что проверенные однажды пиксели изображения, исключаются из последующих проверок, перекрашиванием в черный цвет, который был обработан первым. Подобное с массивами проделывали, а тут сам графический буфер как массив.) По моему очень красиво и неожиданно. Как можно было до такого додуматься?! :) Всё ведь предельно просто и понятно, а никто не увидел.

Вот такое мое представление о красивом решении в программировании. Побольше бы таких решений. Вот их и предлагаю собрать в одном разделе форума. Это будет для всех полезно и авторам приятно. Доска почета может получиться...  ;D


StarControl

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Раздел "Красивые решения"
« Reply #5 on: November 13, 2018, 04:25:30 PM »
Я считаю:
1) что фао не хватает по часто задаваемым вопросам, новечки приходят и тупо 1 и те же вопросы бомбадируют (Найти картинку, кликать 20 мин и еще 100 вопросов часто задаваемых)
2) Что не хватает фао часто задаваемым вопросм по скриптам, так как выкладывают скрипты, люди их берут и опять же задают одни и теже вопросы

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Раздел "Красивые решения"
« Reply #6 on: November 13, 2018, 06:07:50 PM »
Не поможет. Чукча не читатель, чукча - писатель.
Зачем искать подходящий под своё действие FAQ, если можно спросить?  :)

И даже если там будет и он найдёт вопрос "кликать 20 мин", создаст тему с вопросом "а как кликать 10 минут".
Или "а как кликать 10 секунд".
Или более вероятное "а как кликать случайное время от 10 до 20 мин.", даже если рядом с темой "кликать 20 мин" будет лежать тема "случайный выбор из диапазона".

Все "мелкие" вопросы есть в справке.


StarControl

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Раздел "Красивые решения"
« Reply #7 on: November 16, 2018, 06:22:36 AM »
Не поможет. Чукча не читатель, чукча - писатель.
Зачем искать подходящий под своё действие FAQ, если можно спросить?  :)

И даже если там будет и он найдёт вопрос "кликать 20 мин", создаст тему с вопросом "а как кликать 10 минут".
Или "а как кликать 10 секунд".
Или более вероятное "а как кликать случайное время от 10 до 20 мин.", даже если рядом с темой "кликать 20 мин" будет лежать тема "случайный выбор из диапазона".

Все "мелкие" вопросы есть в справке.

Да согласен, но считаю что вопросов будет меньше.
Да думаю иногда проще ответить чем поддерживать актуальну справку фао
Инода по вопросам видно что человек вообще справку не читал (а если читал то не понял)