Kolyaj

Kolyaj
Рейтинг
69
Регистрация
28.03.2006

Решил поднять тему, тем более с декабря появилось много нового.

Ну во-первых конечно интерфейс поудобнее стал.

Синтаксис остался тот же плюс возможность, навеянная размышлениями Евген'а, а именно сохранение конструкции в переменной. Теперь если написать

/=КОНСТР!вариант1+вариант2+вариант3!/

то конструкция выводиться не будет, а сохранится в переменной КОНСТР, и если далее в шаблоне написать что-то вроде

... КОНСТР ...
это будет эквивалентно
... /!вариант1+вариант2+вариант3!/ ...

Ограничение: сохраняющие конструкции не могут содержать другие конструкции (что можно обойти описанием нескольких переменных), но могут содержаться в других конструкциях (что в принципе не имеет смысла).

Идей достаточно много, многие из которых не присутствуют нигде и могут вывести создание описаний на новый уровень, но хотелось бы услышать отзывы (а надо ли?) и разумеется описание багов.

P.S. В данный момент присутствует баг, до решения которого пока руки не дошли. ИЕ, при сохранении вариантов, первый раз может спросить, а разрешаете ли вы закачать файл с этого сервера, после чего перезагружает страницу (что в принципе достаточно странно). Проблема в том, что после перезагрузки теряются введенные данные. Так что если захотите в ИЕ набрать что-то серьезное, то сохраните сначала пустой набор вариантов.

Hkey, вот сравниваете вы все со скриптами (безответно со стороны скриптов), получается, что скрипты и правда нервно курят в сторонке. Давайте все-таки по вашим же пунктам все разберем. В пример буду приводить свой скрипт, написанный на JavaScript.

>> 1. Генерация 4мя способами (подряд, случайный, улучшеный случайный, случайно прыжковый (аналог - http://se7.ru/sjmethod.php ))

Это очень даже спорный вопрос, стоит ли делать случайные выборки, т.к. в результат могут не попасть хорошие варианты, и каким бы улучшенным не был рандом, он не может определить "хорошесть" вариантов. Поэтому я пошел по другому пути. Скрипт, по мере ввода, пишет количество вариантов, которые можно получить из введенного шаблона. А пользователь уже сам решает, генерировать их или нет, и если он видит, что будет 10000 вариантов, то должен быть готов к тому, что скрипт слегка задумается (да и любая программа тоже).

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

>> переборы с условиями MIN-MAX (подробнее - http://se7.ru/generator.php)

Не нашел ничего продвинутого в вашем синтаксисе. Даже слегка задвинутый. Первым моим требованием при разработке синтаксиса была возможность вводить все конструкции без переключения раскладки. В результате {} и [] отпали сразу, а () отпали, т.к. часто используются в текстах. Получилась конструкция /!...+...+...!/, причем для всех переборов одинакавая, но с разными параметрами, которые тоже можно записывать в сокращенном варианте для наглядности. Кстати, после всего этого обраружилось, что /! вот так можно комментарий сделать !0/.

>> 3. Программа для ПК - екзешник. Не нужно устанавливать денвер.

В моем случае, как и во многих случаях со скриптами, тоже не нужно ничего устанавливать. Конечно есть зависимость от моего сайта, но это можно считать платой за бесплатность.

>> 4. Наличие всплывающих меню (правая кнопка мыши) позволяющих намного быстрее

>> (в разы) создать исходник для генерации.

Всплывающие окна, как раз замедляют создание, т.к. требуют как минимум 2 клика для выполнения действия. Лучше было бы, если бы вы вынесли все эти функции над редактором.

>> 5. Очень удобный интерфейс не достижимый для скриптов.

Ну не скажите (это я про недостижимость).

>> 6. Написано на чистом Си (все кроме интерфейса на C++) - работает очень быстро.

>> Ради быстродействия и интерфейса я сообственно отказался от любимой Явы.

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

>> 7. Возможность генерации в файлы.

Это тоже везде есть.

>> 8. Мастер синтаксиса.

Вот чего нет, того нет.

>> 9. Продвинутая коррекция ошибок (на скриншоте ее возможности)

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

>> 10. Скрипты просто курят в сторонке.

Ну не знаю.

P.S. Евген, хорошая идея с подстановками, надо будет обязательно прикрутить как-нибудь.

Hkey, вы пишете процедуру только для вариантов выбора по одному. Я же говорю об общем случае, в вашем синтаксисе, например \![0][10]...\, пару таких конструкций вложить друг в друга. Впрочем это все флуд.

Hkey:
это смешно для одноуровневого вариационного синтаксиса.

А кто сказал что для одноуровневого, с поддержкой вложенности разумеется. А вот при неограниченной вложенности количество операций растет экпоненциально. Плюс есть возможность, например, не только по 2 из 5-ти выбирать, но и по 0, 1, 2, 3, 4, 5. Посчитайте, сколько будет вариантов в данном случае, и подумайте, как посчитать общее количество вариантов, если несколько таких конструкций вложить друг в друга.

Hkey:
Вверх рядом с полем ввода к-ва - лучшее место для чек бокса все позможные варианты.
Радио групп я еще ни разу не видел в главном окне программы.

А какая разница главное окно или нет, если нужен радио групп, значит нужен. Сместите все вниз, будет лучше, тем более количество вариантов пользователь скорее всего будет выбирать перед генерацией, т.е. между полем ввода и кнопкой "Сгенерировать".

P.S. По-поводу кнопки "СГЕНЕРИРОВАТЬ", на башорге много цитат есть на тему капс-лока. Ну правда, зачем вы ее так, она и так единственная, зачем ее как-то выделять.

Theorist,

1. На самом деле в программе есть и концептуальные ошибки, описывать которые просто лень. Если брать отдельно основную часть, то возникает легкое недоумение, когда нижний чекбокс изменяет верхний и наоборот. Для таких взаимосвязей существует RadioGroup. И уж точно они должны быть рядом. Все-таки иногда охота ехать с шашечками.

2. По-поводу скорости не могу ничего сказать, т.к. не на чем попробовать. Могу только сказать, что у меня скрипт на лету по мере ввода определяет количество вариантов, а это JavaScript, и без особых тормозов.

А вопросы типа "а за что?" будут возникать всегда, т.к. люди хотят знать, за что они платят. Я конечно не собираюсь покупать программу, но у меня есть опыт написания подобных систем и мне интересно, за что тут брать 1000 рублей. Сначала думал, что есть какие-то интересные возможности, ан нет.

Hkey:
Про какие "диалоговые окна" вы говорите?

Да в принципе про все окна, слишком много свободного места на них, в результате они большие, а толку мало.

Hkey:
Давайте вы скачаете прогу попользуетесь пол часа а потом будите, что -то вякать?

Что же вы сразу хамить-то? Это была всего лишь здоровая критика, к которой следовало бы прислушаться, или хотя бы задуматься, а почему это критикуют. Если вас задели слова "тихий ужас", то извините, но так оно и есть, интерфейс на уровне первого курса.

Программу скачал, посмотрел, только после этого писал отзыв.

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

P.S. Вы кстати не ответили, за что тут 1000 рублей брать. Я понимаю на заказ писать, но если перепродавать, то не стоит она этих денег.

PriBoy:
И никогда не делайте сайты на голом CSS. Он нихера не работает нормально.

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

Взять пример топикстартера. Полгода назад я может быть также сделал бы, сейчас же смогу сделать все намного проще, в результате чего у ИЕ даже мысли не будет глючить ☝

Hkey:
Весь движок написан мной лично. Помошники писали только интерфейс.

Интерфейс - тихий ужас. Элементы управления разбросаны по форме не пойми как, группировки элементов отсутствуют, размеры диалоговых форм можно было уменьшить раза в 2. Откройте хотя бы Word, посмотрите как выравниваются и группируются элементы в диалоговых окнах.

А за что 1000 рублей?

greenwood:
а я помню отец принес первый калькулятор - мне тогда было лет так этак наверное 12

Ага, я вот тоже первую свою программу написал для калькулятора "Электроника МК-61" :) . Морской бой. Даже иногда проигрывал ему :)

Всего: 1025