DRAKON.SU

Текущее время: Пятница, 29 Март, 2024 00:32

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Новое в гибридных ДРАКОН-языках
СообщениеДобавлено: Понедельник, 28 Август, 2017 09:07 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
Я работал с гибридными ДРАКОН-языками несколько лет.
Я устал от их визуального шума. Но я не ухожу!

Традиционный синтаксис языков программирования предназначен для полностью текстовых файлов.
Если алгоритм задаётся ДРАКОН-схемой, то вместо монолитного текста мы имеет множество малых кусочков текста.
Эти кусочки раскиданы по иконам диаграммы.
Так как структура текста в одном кусочке получается очень простой, многие знаки препинания просто не нужны!

Можно легко выкинуть запятые и скобки. От них только рябит в глазах. Это патентованный визуальный шум.

Вот решение: гибридные языки DrakonLua и DrakonJS.
У них одинаковый синтаксис.
DrakonLua генерирует исходные файлы на языке Lua.
DrakonJS генерирует исходные файлы на языке JavaScript.
Вложение:
functions.png
functions.png [ 15.87 КБ | Просмотров: 4387 ]

Вложение:
objects.png
objects.png [ 8.49 КБ | Просмотров: 4387 ]

Вложение:
lambda-function.png
lambda-function.png [ 11.33 КБ | Просмотров: 4387 ]

Вложение:
lambda-one-liner.png
lambda-one-liner.png [ 7.45 КБ | Просмотров: 4387 ]

Вложение:
lambda-object.png
lambda-object.png [ 8.23 КБ | Просмотров: 4387 ]

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 28 Август, 2017 09:29 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
1. Мысль правильная.
2. Вы доказали, что многие знаки пунктуации (в том числе многие скобки)
С ЛОГИЧЕСКОЙ ТОЧКИ ЗРЕНИЯ абсолютно не нужны.

Но.

3. Люди к ним привыкли. Переучиваться трудно и требует усилий. Немалых.
4. Надо помочь людям переходить в новую веру поэтапно (в безударном режиме).

Как это сделать?

5. Сохранить существующий способ без изменений (на рисунках Степана слева).
6. Предусмотреть кнопку, позволяющую временно или постоянно переходить в Новый режим (на рисунках Степана справа).

=============================

В моей книге "Учись..." в главе 16 (стр. 255-266) сделан первый шаг в этом направлении на примере гибридного языка Дракон-Си.

Например, показано, что в операторе if else (стр. 256)
Цитата:
В си-программе мы видим два ключевых слова if, else, четыре фигурных скобки и две круглых скобки.
В дракон-программе они исчезают и превращаются в чертеж.
И т.д.
Степан предложил сделать важный следующий шаг.

===========
Кстати примерно такая же идея отчасти реализована в языке Питон в очень робком виде.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 28 Август, 2017 13:21 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
Владимир Паронджанов писал(а):
4. Надо помочь людям переходить в новую веру поэтапно (в безударном режиме).

Так и сделано.
1. Существующие проекты на DRAKON-Javascript и DRAKON-Lua собираются без изменений.
2. Если чувствуешь в себе смелость, надо в свойствах файла явно поменять язык с JavaScript на DrakonJS.
3. Проект будет генерироваться "как при бабушке" (в большинстве случаев).
4. Новый стиль написания можно вводить постепенно, икона за иконой. И только там, где это имеет смысл!

При всём уважении к традициям и привычкам,
зачем нам нужны эти унылые смайлики?
Вложение:
sad-smiley.png
sad-smiley.png [ 8.67 КБ | Просмотров: 4370 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 16 Сентябрь, 2017 15:31 

Зарегистрирован: Среда, 03 Май, 2017 09:55
Сообщения: 200
Степан Митькин писал(а):
зачем нам нужны эти унылые смайлики?

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

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

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

Если прямо так сильно мешают, то можете посмотреть на:
1) ClojureScript (см https://github.com/shaunlebron/ClojureS ... 15-minutes ) -- там точки с запятыми вообще не нужны
2) Kotlin (см https://learnxinyminutes.com/docs/ru-ru/kotlin-ru/ ) -- тоже точки с запятыми не нужны
3) Python (см https://learnxinyminutes.com/docs/ru-ru/python-ru/) -- и скобки тоже не нужны


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

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


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

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


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

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