DRAKON.SU

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

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
СообщениеДобавлено: Пятница, 15 Декабрь, 2017 20:23 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
https://ppt-online.org/128939
История развития языков программирования.
Презентация 69 слайдов


Язык ДРАКОН на 53 слайде


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Декабрь, 2017 20:37 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Форта не хватает...


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

Зарегистрирован: Вторник, 27 Май, 2008 13:24
Сообщения: 155
FOTRH да, его наверно надо на стр. 54 в качестве парадигмы "понятийного" программирования.


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

Зарегистрирован: Среда, 09 Ноябрь, 2016 00:33
Сообщения: 122
Откуда: Tallinn
не хватает РЕФАЛа, FORTHа и ERLANGa имхо как имеющих концептуальные особенности


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

Зарегистрирован: Вторник, 27 Май, 2008 13:24
Сообщения: 155
Первым частично вышел во "второе измерение" (блоки отступом, сразу в минус куча синтаксического мусора) похоже python. Следом nim.

Но более всех напрашивается на графическое программирование FORTH. Слово (в перспективе - понятие?) - точка, вершина графа. Соединение с другим словом - ориентированное ребро. Каждая вершина это какая-то решенная задача (нейрон?). Протягиваем линии со стрелкой от слова к слову. Бесконечно расширяющаяся сложная вязь, возможно 3d. Текущее активное состояние стеков - сознание. Весь временно неактивный набор слов - подсознание.


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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
dvuugl писал(а):
Первым частично вышел во "второе измерение" (блоки отступом, сразу в минус куча синтаксического мусора) похоже python.
Пожалуйста, дайте пояснение про "синтаксический мусор", который исчезает благодаря питону.
Просто дайте список мусорных элементов, желательно подробный.


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

Зарегистрирован: Вторник, 27 Май, 2008 13:24
Сообщения: 155
Владимир Паронджанов писал(а):
дайте пояснение про "синтаксический мусор", который исчезает благодаря питону.. список мусорных элементов, желательно подробный.
Прежде всего "begin, end" и они же "{ }". После python и nim уже раздражает присутствие этих ограничителей, воспринимаются как отвлекающие от сути дела рудименты. Н. Вирт частично убрал ограничители блоков в ОБЕРОНе, но до завершения дизайн не довел. Далее символ конца инструкции, обычно это ";". В этом смысле более древние ассемблер, BASIC прогрессивнее.


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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
dvuugl писал(а):
Владимир Паронджанов писал(а):
дайте пояснение про "синтаксический мусор", который исчезает благодаря питону.. список мусорных элементов, желательно подробный.
Прежде всего "begin, end" и они же "{ }". После python и nim уже раздражает присутствие этих ограничителей, воспринимаются как отвлекающие от сути дела рудименты. Н. Вирт частично убрал ограничители блоков в ОБЕРОНе, но до завершения дизайн не довел. Далее символ конца инструкции, обычно это ";". В этом смысле более древние ассемблер, BASIC прогрессивнее.


Спасибо. С вашей подачи заглянул в Википедию про язык nim.
И вот что я узнал:

Цитата:
Разработка началась в 2004 году на языках Object Pascal (компилятор Free Pascal) и Python. Однако, первая версия, которая могла компилировать сама себя была представлена 22 августа 2008 года (версия 0.6.0).

Компилятор Nim преобразует код, написанный на языке Nim, в код на языке C, C++, Objective-C или JavaScript, и затем вызывает компилятор (или интерпретатор) этого языка.

Поддерживается достаточно большое количество компиляторов C и C++. Однако, при компиляции чаще всего используется C
, так как компиляторы C выполняют оптимизации (см. оптимизирующий компилятор) и переносимы, за счёт чего компилятор Nim и программы, написанные на языке Nim, работают в ОС Windows, Linux, BSD, MacOS X и во многих других ОС, в которых имеется C компилятор.

Я выделил то, что роднит язык nim с ДРАКОНОМ, а именно:
"принцип кукушки".

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

С большим удивлением я обнаружил, что язык nim (в прошлом nimrod) поступает точно так же.


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

Зарегистрирован: Вторник, 27 Май, 2008 13:24
Сообщения: 155
К сожалению в NIM не соблюдается принцип (Вирт-овский?) стремления к простоте: "одна структура - один способ выражения" и чтоб никаких макросов. Несоблюдение этой главной внутренней эргономической стратегии нивелирует преимущества передового внешнего дизайна. Тем не менее использую его для скриптинга вместо питона: значительно выше скорость и автономность результата при той же легкости написания. Кроме того бесплатное богатство готовых сишных библиотек, срабатывает этот самый "принцип кукушки".


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

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Владимир Паронджанов писал(а):
С большим удивлением я обнаружил, что язык nim (в прошлом nimrod) поступает точно так же.
Принципу этому не один десяток лет.

Скажем, лет тридцать назад вовсю использовалась макрогенерация для ассемблера исходный язык, с которого производилась генерация кода, мог вообще не содержать ни одной ассемблерной инструкции и быть полностью domain specific.

Были и более сложные кодогенераторы с различных графических языков.
Например, кодогенерация из FBD на целевой ассемблер и Си используется в моих проектах до сих пор (в том числе с рядом оптимизаций).

В этом подходе есть плюсы (реализуется поверх имеющегося, обычно бесплатного, инструментария, который предлагает разработчик процессора), и минусы (относительно большие накладные расходы при компиляции, хотя это не критично; привязка к особенностям, в т.ч. глюкам, тех или иных сторонних платформ).


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

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


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

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


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

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