Код и есть конструктор того, что хочешь получить на выходе.
Но идея эта распространена и вроде как есть куча конструкторов. Я BPMS например к конструкторам отношу. А мы специально хотели, чтоб был код. Должен же быть в мире выбор :)
Мы столкнулись с тем, что придется дофига всего позапрещать. И большая часть документации состояла бы из «это не трож», «сюда не ходи» и тп. Те надо было бы научить питону, а потом ограничениям над питоном — по мне, так это безнадега. А сейчас, если программисту надо разобраться (реально надо) то день потыкал и уже почти бог.
Да и у пайтона совсем другая логика — у нас очень много декларативщины, нам если брать, то надо было бы брать хаскель-подобные.
Лучший результат у нас — это если человек когда-то в далеком прошлом лабораторку на фортране делал :) В смысле давно, немного и криво программировал что-то и бросил. Такие пользователи прям в восторге.
Сейчас самая большая проблема для нас — это не объяснять синтаксис (с этим все совсем просто), а с объяснением хорошей архитектуры решения. В 60% случаев начинают делать так, как у них было в табличке эксель и соответсвенно тянут оттуда все архитектурные ограничения. Вот это быстро пофиксить не получается — делаем консультации, записываем видосы. Если пользователь не программировал никогда и ничего и разбирается со всем сам, то сейчас он со своего второго проекта начинает понимать как таблички должны быть организованы, а я хочу чтоб с первого.
Но если проект простой — до 5 табличек, то там любая архитектура прокатывает. А потом (после этих 5 первых) таблички людям мозг захватывают и их система начинает расти 5 -> 30 -> 100 -> 150 (это реально уже проект-монстр который даж меня пугает).
Сначала сделали это, а потом отказались, так-как было много ошибок. Пользователь копировал вызов поля вместе с диезом и вставлял поставив в начале дополнительный диез. Получалась логическая ошибка не отображаемая в подсветке — поэтому решили, что такой случай надо определять через отдельную строку:
Ну хотелось такой аксесс, ток серверный и без SQL визардов. А так я знаю несколько проектов переехавших из аксесса — люди там счастливы не передать как.
На практике в 99% случаев нужно только $#. А пара была выбрана просто потому, что ее очень быстро набирать безо всякого автозаполнения. По практике — это оказалось очень удачным решением.
#$ не очень удачный тк реально можно перепутать, а вот с $$ можно сделать красивое ветвление, поэтому он и был введен в оборот.
Про start: — это очень похоже просто на определение строки, а нужно было железное отличи. В качестве развития — в кодах, где несколько последовательных блоков в одном используется с префиксом:
Это стандарт, когда пишешь: «знаете, я тут синтаксис придумал» — миллион людей спросят «а зафига?» :) В моем случае это решало простую задачу — научить пользователя, который вообще никакого языка не знает дистанционно за 2 дня. Это получается. А так, если есть возможность отказаться от разработки DSL — надо отказаться.
Я вообще не ориентировался на тех, кто что-то уже программирует. Поэтому специально не привязывался к уже-существующим синтаксисам. У меня была очень простая задача — за два-три дня дистанционно обучать людей не имевших никакого опыта программирования. И она реализуется — иначе я бы не стал писать статью.
Вообще если стремится сделать очень похоже, но не совсем в концепции приложения — лучше взять JS или Lua.
$sys.smth есть точка и мне хотелось, что бы стартовый символ или пара отличались. Мы используем точку в паре мест, но в основной массе старались ее избегать. Когда 3-й день программируешь — точки плохо читаются.
Код и есть конструктор того, что хочешь получить на выходе.
Но идея эта распространена и вроде как есть куча конструкторов. Я BPMS например к конструкторам отношу. А мы специально хотели, чтоб был код. Должен же быть в мире выбор :)
Мы столкнулись с тем, что придется дофига всего позапрещать. И большая часть документации состояла бы из «это не трож», «сюда не ходи» и тп. Те надо было бы научить питону, а потом ограничениям над питоном — по мне, так это безнадега. А сейчас, если программисту надо разобраться (реально надо) то день потыкал и уже почти бог.
Да и у пайтона совсем другая логика — у нас очень много декларативщины, нам если брать, то надо было бы брать хаскель-подобные.
Вот мы такую штуку в MIT-лицензии делаем: https://habr.com/ru/post/666184/
Лучший результат у нас — это если человек когда-то в далеком прошлом лабораторку на фортране делал :) В смысле давно, немного и криво программировал что-то и бросил. Такие пользователи прям в восторге.
Сейчас самая большая проблема для нас — это не объяснять синтаксис (с этим все совсем просто), а с объяснением хорошей архитектуры решения. В 60% случаев начинают делать так, как у них было в табличке эксель и соответсвенно тянут оттуда все архитектурные ограничения. Вот это быстро пофиксить не получается — делаем консультации, записываем видосы. Если пользователь не программировал никогда и ничего и разбирается со всем сам, то сейчас он со своего второго проекта начинает понимать как таблички должны быть организованы, а я хочу чтоб с первого.
Но если проект простой — до 5 табличек, то там любая архитектура прокатывает. А потом (после этих 5 первых) таблички людям мозг захватывают и их система начинает расти 5 -> 30 -> 100 -> 150 (это реально уже проект-монстр который даж меня пугает).
Сначала сделали это, а потом отказались, так-как было много ошибок. Пользователь копировал вызов поля вместе с диезом и вставлял поставив в начале дополнительный диез. Получалась логическая ошибка не отображаемая в подсветке — поэтому решили, что такой случай надо определять через отдельную строку:
Ну хотелось такой аксесс, ток серверный и без SQL визардов. А так я знаю несколько проектов переехавших из аксесса — люди там счастливы не передать как.
Во, мне нравится как Haskell думает :)
На практике в 99% случаев нужно только $#. А пара была выбрана просто потому, что ее очень быстро набирать безо всякого автозаполнения. По практике — это оказалось очень удачным решением.
#$ не очень удачный тк реально можно перепутать, а вот с $$ можно сделать красивое ветвление, поэтому он и был введен в оборот.
Про start: — это очень похоже просто на определение строки, а нужно было железное отличи. В качестве развития — в кодах, где несколько последовательных блоков в одном используется с префиксом:
a1=:
a2=:
ch1=:
Это стандарт, когда пишешь: «знаете, я тут синтаксис придумал» — миллион людей спросят «а зафига?» :) В моем случае это решало простую задачу — научить пользователя, который вообще никакого языка не знает дистанционно за 2 дня. Это получается. А так, если есть возможность отказаться от разработки DSL — надо отказаться.
Я вообще не ориентировался на тех, кто что-то уже программирует. Поэтому специально не привязывался к уже-существующим синтаксисам. У меня была очень простая задача — за два-три дня дистанционно обучать людей не имевших никакого опыта программирования. И она реализуется — иначе я бы не стал писать статью.
Вообще если стремится сделать очень похоже, но не совсем в концепции приложения — лучше взять JS или Lua.
Мне хотелось, что бы небыло отдельного специального IDE типа VS Code — те все должно было быть из коробки.
$sys.smth есть точка и мне хотелось, что бы стартовый символ или пара отличались. Мы используем точку в паре мест, но в основной массе старались ее избегать. Когда 3-й день программируешь — точки плохо читаются.
Нет, не подсматривал
Спасибо, у них такой невзрачный сайт, что я пару раз на него натыкался и уходил, тк думал, что это артефакт из 90-х :)
Добрый вечер, а с какого ПО сделаны скриншоты? Я достаточно часто такие встречаю, но когда пытаюсь сам ее найти — не получается. Спс
Там леер блокировки, но я думаю это место можно улучшить
Ru, En, Zh на текущий момент. Видео записаны на En интерфейсе тк ресурсов записать их на каждый язык у нас нема
-
На GH выложено все, но врядли кому-то будет комфортно менять что-то в ядре не имея тестов.
PRO в отдельном репо, он является производным проектом от MIT-версии.