DRAKON.SU
https://forum.drakon.su/

Новое в гибридных ДРАКОН-языках
https://forum.drakon.su/viewtopic.php?f=145&t=6058
Страница 1 из 1

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

Я работал с гибридными ДРАКОН-языками несколько лет.
Я устал от их визуального шума. Но я не ухожу!

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

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

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

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

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

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

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

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

Автор:  Владимир Паронджанов [ Понедельник, 28 Август, 2017 09:29 ]
Заголовок сообщения:  Re: Новое в гибридных ДРАКОН-языках

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

Но.

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

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

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

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

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

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

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

Автор:  Степан Митькин [ Понедельник, 28 Август, 2017 13:21 ]
Заголовок сообщения:  Re: Новое в гибридных ДРАКОН-языках

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

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

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

Автор:  Владимир Ситников [ Суббота, 16 Сентябрь, 2017 15:31 ]
Заголовок сообщения:  Re: Новое в гибридных ДРАКОН-языках

Степан Митькин писал(а):
зачем нам нужны эти унылые смайлики?

Вообще говоря, в 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/) -- и скобки тоже не нужны

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/