|
Труд вопреки насмешкам
|
|
DCASTF. Каким он будет? (Идеи и предложения по поводу будущего создателя окон)06.08.2018, 21:38. Показов 8139. Ответов 137
Метки нет (Все метки)
Предлагаю здесь поговорить о том, каким вы хотели бы видеть качественный русский создатель окон. А я пытаюсь разработать такой под названием "DCASTF". Запретить я ничего не могу, так как не модератор, но крайне не рекомендую писать что-то похожее на "мне все равно", "круче плюсов не придумаешь", "думаю, ты не справишься" и т. д. Прошу высказывать только действительно осмысленные предложения. А для начала - описание, что вообще такое DCASTF и что в нем уже устоялось.
DCASTF означает "Data Counting and Saving to File", то есть "вычисление и запись данных в файл". Это с вероятностью 80% один из 2-3 качественных русских создателей окон, с вероятностью 50% - единственный и неповторимый. В своей жизни я видел всего один русский создатель окон, и он, откровенно говоря - убогий. А DCASTF - не только русский. При желании вы сами можете перевести его на немецкий, арабский или тарабарский язык. (Хотя создавался он как русский.) DCASTF имеет четыре редакции: стандартная, DCASTF+, DCASTF++ и DCASTF# (третья - самая мощная и самая дорогая). DCASTF позволяет: - Создавать окна, размещать в них объекты, настраивать их на обнаружение событий и выполнять в ответ действия. - Просматривать все окна, объекты, события, действия и прочие элементы набора окон в удобной древовидной форме. - Создавать величины нескольких сотен типов из 9 групп: числа, строки, логические константы, перечисляемые константы, объекты, блоки (DCASTF+, DCASTF++ и DCASTF#), массивы, пустота, рекурсивный тип (своеобразное перечисление, значения которого являются всеми другими типами) (DCASTF+ и DCASTF++). - Размещать между величинами и константами 22 вида унарных и бинарных операторов (вычисление), а в платных редакциях, возможно, и больше. - Пользоваться несколькими сотнями операций, работающих с выполнением строки, показом и скрытием окон, переменными окружения, показом сообщений, проверками на какое-либо свойство, числами (включая случайные числа), объектами, файлами (запись данных в файл), текстом и многими другими явлениями в наборе окон и вне его, а также создавать свои (операция - последовательность действий, выполняемая не в ответ на событие, а только при вызове и способная возвращать значение) даже в бесплатной редакции! - Кроме вызова операций, напрямую вызывать события из других событий (DCASTF++ и DCASTF#) (невозможность вызвать событие из операции, думаю, очевидна, так как событие привязано к объекту, а операция нет). - Выполнять действия только при каком-либо условии (3 вида условий - "УСЛОВИЕ <условное выражение>", "ПОДУСЛОВИЕ <условное выражение>" и "В остальных случаях", в платных редакциях, возможно, появятся другие) и в цикле (3 вида циклов - "ПОВТОРИТЬ <число или выражение>", "ПОВТПОКА <условное выражение>" и "ФОР <величина> ПРИН <открытая квадратная скобка><выражение>, <выражение><закрытая круглая или квадратная скобка>[ ШАГ <выражение>]", в бесплатной редакции выполнение циклов замедлено). - Создавать блоки (DCASTF+, DCASTF++ и DCASTF#), способные содержать величины-свойства, локальные операции и переопределения операторов (DCASTF++) и быть типами величин и значений, возвращаемых операциями и значениями рекурсивного типа. - Добавлять в набор окон модули (DCASTF+, DCASTF++ и DCASTF#) и объектные модули (DCASTF++), содержащие наборы готовых величин, операций, перечислений, блоков и объектов, а также создавать свои аналогичные элементы (требования те же, что и для добавления). - Тестировать набор окон с использованием 100п-точек, выражений для наблюдения и запуска с прерыванием на каждом действии или без отладки (даже в бесплатной редакции). - Просматривать содержимое встроенных операций (DCASTF++ и DCASTF#). Впрочем, в большинстве случаев это бесполезно, так как они являются операциями Избазы, непосредственно опирающимися на исходный код, а кто же станет показывать исходный код платной программы? - Даже в бесплатной редакции создавать "готовые" наборы окон, которые можно изменить только в Блокноте или принудительной сменой расширения у файла, а в платных редакциях можно сделать бесполезными и эти "дедовские" методы с помощью шифрования. Что уже устоялось: - Название "DCASTF", его расшифровка и перевод. - То, что основной язык - именно русский и никакой другой. - Названия большинства элементов, включая элементы интерфейса, Дерева действий, первичную терминологию создания окон (слова "величина", "пустота", "возврат значения" и т. д.), группы типов, ключевые слова и другую терминологию, если не указано обратное. - Сам интерфейс, включая меню, панель объектов, панель размещения, панель свойств, Дерево действий, панель элементов и выпадающие окна. - Следующие объекты: изображение, кнопка, надпись, панель, переключатель, счетчик, текстовое поле, флажок. - Обычные и условные выражения строго разделены, конструкция вида "УСЛОВИЕ А" запрещена, только "УСЛОВИЕ А = Десв", даже мастера, создающие эти виды выражений, разные. - Внешний вид операторов: ", ", " скл " (склеивание), " пс " (склеивание с переводом строки), "+", "-", "*", "/", "%", " рн " (деление нацело), " xor ", " или ", " и ", "!", "[]", "()" (порядок действий и операция), "." (свойство), "$" (использование значения величины как имени - а-ля PHP), ":" (отделяет объект от окна). - Внешний вид событий, операций, условий и циклов. - Способ объявления величин. - Именно 3 вида условий и именно 3 вида циклов, способы их записи. - Следующие виды массивов: одномерный, двумерный, трехмерный, переменной длины и массив параметров, причем массив переменной длины записывается именно как "Массив() Тип", индексы многомерного массива записываются в одних квадратных скобках через запятую, а запись "Массив параметров Тип" не содержит скобок. - Следующие типы: Пустота, Универ, Число, Целое, Целое без знака, Строка, Короткая строка, ЛогКонст, типы массивов, типы объектов, равные названиям самих объектов, плюс общие типы Объект и Размещаемый объект, рекурсивный тип. - Максимальная глубина рекурсии типов равняется 1, то есть наборы действий вида "Тип : А//А = Тип//А : Б//Б = Тип//Б : В//В = Число//В : Г//Г = 5" ("//" - разрыв между соседними действиями) запрещены. - Следующие операции (разрешите обойтись без пояснений): ВзОшибку, Выбрать случайное, Выполнить строку, Массив одинаковых, Окружение, Параметр пропущен, Перек, Сообщение, Цвет, Цепь, ЯвлМассив, ЯвлНс, ЯвлОбъект, ЯвлПустота, ЯвлЧисло, КругР, Линия, Надпись, Прямоугольник, Точка, Треугольник, Удалить навороты, Эллипс, Длина файла, Дописать текст, Копировать файл, Переместить файл, Путь к набору окон (не устоялось, будет ли это величиной или операцией), Содержимое файла, Создать папку, Сохранить в файле, Уничтожить файл, Файловый объект существует, Вставить, Добавить, Сместить, Участок, Бц, Длн, Знаг, Клвс, Клэмп, Круг, Ксс, Лгр, Макс, Макс3, МаксМ, Мин, Мин3, МинМ, Модуль, Мц, НЛгр, ОКсс, ОСнс, ОТгс, Пвт, ПвтК, Прбрз1610, Прбрз810, ПЧсл, Слч, Смвкд, Снс, Сравн, Сравнить тексты, Тгс, ЦСлч, Эксп, Вкс, Всбк, Замена, ЗвКвч, ПСтр, Сдп, Смв, Спп, Ссп, УКвч, УПрб, УПрбК, УПрбН. - Количество элементов: 5000000 обычных величин, 10000 массивов неопределенной длины и/или строк, 10000 массивов обычных величин, 100 массивов строк, 13000 объектных величин, 65 массивов объектных величин, 100 окон, 20000 объектов в каждом окне (в финальной версии, возможно, числа будут отличаться, но точно, что не из-за ваших предложений, а только из-за проблем памяти). - Способы тестирования, поведение модулей и объектных модулей. Что является "чистым полем" для ваших предложений: - Все не указанные в предыдущем списке объекты. - Внешний вид оператора степени. Сейчас он имеет вид " встп ", но эта запись может кому-то не понравиться из-за длины. Вид "^" также не идеален, так как этого символа нет в русской раскладке, а DCASTF - русский создатель окон. - Все не указанные в предыдущем списке операторы. - Возможно, вы знаете альтернативный вид массива? - Все не указанные в предыдущем списке типы, включая перечисляемые константы и блоки. - Все не указанные в предыдущем списке операции. - Стоит ли делать связывание величин, чтобы можно было каким-либо оператором "привязать" одну величину к другой, и изменение первой автоматически изменяло вторую? - Глубина вложения блоков, объектных свойств, панелей и т. д. является бесконечной? Или ограниченной? Если ограниченной, то каким числом? - Название конструкции вида "<это название>[Тип Т, Строка С] Число : Операция О1(Массив параметров Т Параметр)", после которой операция вызывается как "О1[Число, "абвгд"](123, 256, 999)", а также мелкие подробности работы этой конструкции. - А также все прочее, что еще не является устоявшимся. Предлагайте, этим вы готовите свое же приятное будущее в работе с этим создателем окон.
0
|
|
| 06.08.2018, 21:38 | |
|
Ответы с готовыми решениями:
137
Нужен вам совет по поводу будущего поиска работы Идеи по поводу генератора структуры сайта Какой будет windows будущего |
|
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
|
|||||||||||||
| 27.08.2018, 09:25 | |||||||||||||
0
|
|||||||||||||
|
|
||
| 27.08.2018, 09:31 | ||
|
2
|
||
|
Труд вопреки насмешкам
|
|
| 14.09.2018, 21:55 [ТС] | |
|
Теперь, благодаря советам многих пользователей и особенно совету использовать std::vector (который я почему-то длительное время игнорировал), написан почти компилятор, хотя пока что без дизайнера интерфейсов. Введите последовательность действий и нажмите Ctrl+Enter (не просто Enter! - просто Enter теперь совершает перевод строки), и компилятор ее выполнит. Прошу протестировать, от каких выражений программа "падает", а от каких возвращает непонятно что.
Важно: 1. В Дереве действий тип элемента будет различаться по картинке, сейчас вместо картинок используются префиксы: a::Действие c::Условие g::Подусловие (включая "В остальных случаях") / Конец условия / Конец цикла y::Цикл k::Ключевая строка (Вернуть, Продолжить цикл, Завершить цикл) v::Величина q::Комментарий Префиксы необходимо вводить перед каждой строкой, включая первую! 2. Если не указать ключевое слово "Вернуть", вы не увидите ничего, кроме пустоты, хотя действия и выполнятся! 3. В конце строки нет точки с запятой. Бесконечность и неопределенность пока что не сделаны, при делении на 0 получается 0. Что уже работает (жирным написано то, что необходимо скопировать в текстовое поле без изменений, нежирным - описательные слова, вместо которых нужно вставить то, что они описывают, в квадратных скобках - необязательные элементы, в фигурных - обязателен ровно один из элементов): - Объявление величин: [Массив([Индекс1, Индекс2[, ...]])] Тип : Имя[ = Начальное значение]. - Присвоение: Имя величины = Значение. - Условия: {УСЛОВИЕ Условное выражение | ПОДУСЛОВИЕ Условное выражение | В остальных случаях}. Условия должны завершаться строкой "Конец условия". - Циклы: {ПЕТЛЯ | ПОВТОРИТЬ Выражение | ПОВТПОКА Условное выражение | ФОР Величина ПРИН [Начальное значение, Конечное значение{] | )} ШАГ Значение шага}. Циклы должны завершаться строкой "Конец цикла". - Ключевые строки: Вернуть Выражение, Продолжить цикл (под вопросом), Завершить цикл - Комментарии. - Операции (в скобках число параметров, * означает массив параметров): Выбрать случайное(*), Выполнить строку(1-2), Массив одинаковых(2), Цвет(3), Цепь(2), ЯвлМассив(1), ЯвлНс(1), ЯвлПустота(1), ЯвлЧисло(1), Вставить(3), Добавить(2), Найти(2-3), НайтиК(2-3), Сместить(2), Содержится(2), СодержитсяМ(2), Участок(3), Бц(1), Длн(1), Знаг(1), Клвс(2-3), Клэмп(3), Круг(1), Ксс(1), Лгр(2), Макс(2), Макс3(3), МаксМ(1), Мин(2), Мин3(3), МинМ(1), Модуль(1), Мц(1), НЛгр(1), ОКсс(1), ОСнс(1), ОТгс(1), Пвт(2-3), ПвтК(2-3), ПЧсл(1), Слч(1), Смвкд(1), Снс(1), Сравн(2), Сравнить тексты(2), Тгс(1), ЦСлч(1), Эксп(1), Вкс(2-3), Всбк(2-3), Замена(3), ЗвКвч(1), ПСтр(1), Сдп(2), Смв(1), Спп(2), Ссп(2), УКвч(1), УПрб(1), УПрбК(1), УПрбН(1). Экспериментируйте с параметрами как хотите, чем больше вариантов вы протестируете, тем реже будет падать готовая программа! - Операторы: = (в присвоении и в условиях), XOR, ИЛИ, И, мир, бир, мч, бч, нр, <=>, ==, <>, !=, <=, >=, <, >, запятая, скл, пс, +, -, *, /, %, рн, встп, xor, или, и, !. Что НЕ РАБОТАЕТ: - Звезды. - Объекты. - Операторы: +=, -=, *=, /=, ++, --, !! и, возможно, другие. Пробелы ставятся слева и справа от = при присвоении и справа от запятой. Прошу оценить.
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 14.09.2018, 23:01 | |
|
Ну всё. Питон, LUA, JavaScript можно выбрасывать на свалку истории )
0
|
|
|
Труд вопреки насмешкам
|
|
| 17.09.2018, 09:20 [ТС] | |
|
Usaga, Rius, что же вы молчите? Мне важно знать об ошибках своей программы.
0
|
|
|
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
|
|
| 17.09.2018, 09:27 | |
|
Etyuhibosecyu, лично я не качал и не запускал. Не вижу в этом никакого смысла. Зачем оно и какие проблемы решает так и осталось не выясненным.
Могу только порадоваться, что вы для себя открыли std::vector. Теперь точно можно революционный компилятородизайнеротранслятор создать.
2
|
|
|
Труд вопреки насмешкам
|
||
| 17.09.2018, 09:32 [ТС] | ||
|
0
|
||
|
Труд вопреки насмешкам
|
||
| 17.09.2018, 09:35 [ТС] | ||
|
А если я попрошу? Мне реально важно.
0
|
||
|
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
|
||
| 17.09.2018, 09:41 | ||
|
Зачем оно вообще пишется? Зачем время тратится? Вы же сами не можете даже объяснить. Просто потому, можете? Вы только что узнали про std::vector. Чего "профессионального" вы можете предложить, если сами на уровне любителя? Лучше продолжайте пилить игрушки. Там хоть цель есть оправданная - сделать развлекаловку.
0
|
||
|
Труд вопреки насмешкам
|
|||||||
| 17.09.2018, 09:50 [ТС] | |||||||
|
Я так и не получил ответа, есть ли в вашем C# подобное этому (одной функцией!):
0
|
|||||||
|
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
|
||||||||
| 17.09.2018, 09:54 | ||||||||
0
|
||||||||
|
Alvin Seville
|
|
| 17.09.2018, 10:00 | |
|
Etyuhibosecyu, Строка : А = "1/2/3/4/5" - это что?
0
|
|
|
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
|
|
| 17.09.2018, 10:04 | |
|
Соколиный глаз, это человек переизобрёл
Substring. Очередное революционное новшество.
1
|
|
|
Alvin Seville
|
|
| 17.09.2018, 10:08 | |
|
Etyuhibosecyu, можете хотя бы краткую, но сделать документацию, чтобы другие хотя бы в нормальной форме могли почитать что там у Вас есть, а не по постам бегать?
Добавлено через 3 минуты Rius, а еще и инициализаторы массивов, матриц, коллекций, словарей; универсальные модификаторы как in и out; модификаторы параметров... Ну, не буду дальше, и так ясно, что этого либо нет, либо что-то из этого есть, но падает при его использовании в языке ТС.
0
|
|
|
Труд вопреки насмешкам
|
|||||||||
| 17.09.2018, 10:09 [ТС] | |||||||||
|
1. Дерево действий и Мастер сложных действий - от Алгоритма. 2. Кто, как вы, терпеть не может "мышкотыканье" и хочет текстового кода, имеет и его, если открыть dcastfws-файл в Блокноте. 3. Полноценные величины, циклы, множество операций - от профессиональных языков. 4. Есть авторские сокращения, как только что описанная операция "Спп". Объединение лучшего из разных языков - плохое дело?
0
|
|||||||||
|
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
|
|
| 17.09.2018, 10:10 | |
|
Просто ТС судит о существующих языках по своим о них знаниям. А знания на уровне нуля. Поэтому каждая задумка ему кажется революционной. То инициализатор массива придумает, то substring...
1
|
|
| 17.09.2018, 10:10 | |
|
На слова разбиваем на предложения никак ...есть идеи?
Просто идеи будет достаточно) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|