DRAKON.SU

Текущее время: Суббота, 19 Июнь, 2021 12:19

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Степан, может вам пригодится VAX...?
СообщениеДобавлено: Воскресенье, 22 Октябрь, 2017 12:37 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5175
Откуда: Москва
VAX — инструмент для визуального программирования, или как написать SQL мышкой

https://habrahabr.ru/post/333750/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 23 Октябрь, 2017 09:58 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 552
Владимир Паронджанов писал(а):
VAX — инструмент для визуального программирования, или как написать SQL мышкой

https://habrahabr.ru/post/333750/

Спасибо за ссылку!
Редактор прикольный и приятный на вид.
Автор указывает, откуда взял идею: это так называемые blueprints из игрового движка Unreal.

Я сам не работал с blueprints, но общался с человеком, который с ними работал.
Проблема там следующая: слишком много проводков и всё надо соединять вручную. Утомительно.

А теперь давайте вспомним язык УТОПИСТ. Его преимущество в том, что там этот самый blueprint создаётся автоматически.
Проводки сами провязываются.

Но и тут есть проблема. Иногда хотелось бы явно и в одном месте прописать последовательность действий.
Хочется описать процесс. А УТОПИСТ больше ориентирован на результат вычислений. Иногда прописать результат — это то, что надо. Иногда нет.

Таким образом, мы имеем техническое противоречие:
1. Не хотим вручную связывать кубики (через имена переменных или соединительные линии).
2. Хотим чётко показать, какое действие идёт за каким.

В секретных лабораториях DRAKON Labs ведутся работы по разрешению этого противоречия.
Вот диаграмма на Vax'е
Изображение

А вот тот же алгоритм на секретно разрабатываемом диалекте ДРАКОНа.
Вложение:
ordersByDate.png
ordersByDate.png [ 11.04 КБ | Просмотров: 2519 ]


Прошу критиковать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Ноябрь, 2017 10:04 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5175
Откуда: Москва
Степан Митькин писал(а):
А вот тот же алгоритм на секретно разрабатываемом диалекте ДРАКОНа...

Прошу критиковать.
Степан, просьба пояснить основные принципы этого диалекта.
Укажите хотя бы два-три пункта.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Ноябрь, 2017 22:43 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 552
Владимир Паронджанов писал(а):
Степан Митькин писал(а):
А вот тот же алгоритм на секретно разрабатываемом диалекте ДРАКОНа...

Прошу критиковать.
Степан, просьба пояснить основные принципы этого диалекта.
Укажите хотя бы два-три пункта.

Идея вкратце:
Компьютерная программа - это блок информации.
Этот блок неизбежно содержит в себе информацию двух видов:
1. Ключевая часть. Сама суть программы. Содержательная часть, без которой программа - не программа. Ядро, остов.
2. Производная часть. Шлейф. Технические детали, которые необходимы для работы реального компьютера. Производная часть функционально зависит он ключевой части.
Чтобы создать ядро программы, требуется интеллект, опыт, понимание.
Чтобы создать производную часть, требуется следование правилам, аккуратность, исполнительность.
Задача стоит следующая:
1. Свести ядро программы к минимуму.
2. Автоматизировать производство производной части.

Как это сделать? Один из способов - уменьшение связывания (байндинга).
Что такое связывание? Передача параметров в процедуры, возврат значения, порядок вызовов процедур, конвертация параметров.

Как можно уменьшить связывание?
Есть несколько способов:
1. Для многих задач расчётного типа - программирование "с конца", от требуемого результата. Например, как в языке утопист.
2. Глобальные переменные. Да, я не ошибся. Глобальные переменные упрощают жизнь в разы. Но не всегда. И тут есть тонкость.
3. Подразумеваемые переменные. Так называемое "текущее значение". Одна функция возвращает значение, которое принимает следующее и т.п. Юниксовые пайпы.
4. Подвид подразумеваемых переменных при хождении по графу данных программы. Если компилятор знает модель данных, он догадается, какое именно значение "подразумевается" в каждом конкретном случае.

Думаю вот, как это всё организовать и усилить ДРАКОНом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 10 Ноябрь, 2017 08:14 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5175
Откуда: Москва
Спасибо. Хорошо написано. Серьезная программа.

Желательно: Опубликовать эту задумку на Хабре.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2021, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB