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

История развития языков программирования. 69 слайдов
https://forum.drakon.su/viewtopic.php?f=62&t=6189
Страница 1 из 1

Автор:  Владимир Паронджанов [ Пятница, 15 Декабрь, 2017 20:23 ]
Заголовок сообщения:  История развития языков программирования. 69 слайдов

https://ppt-online.org/128939
История развития языков программирования.
Презентация 69 слайдов


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

Автор:  Alexey_Donskoy [ Пятница, 15 Декабрь, 2017 20:37 ]
Заголовок сообщения:  Re: История развития языков программирования. 69 слайдов

Форта не хватает...

Автор:  dvuugl [ Суббота, 16 Декабрь, 2017 14:17 ]
Заголовок сообщения:  Re: История развития языков программирования. 69 слайдов

FOTRH да, его наверно надо на стр. 54 в качестве парадигмы "понятийного" программирования.

Автор:  Игорь Мазница [ Суббота, 16 Декабрь, 2017 23:40 ]
Заголовок сообщения:  Re: История развития языков программирования. 69 слайдов

не хватает РЕФАЛа, FORTHа и ERLANGa имхо как имеющих концептуальные особенности

Автор:  dvuugl [ Воскресенье, 17 Декабрь, 2017 02:06 ]
Заголовок сообщения:  Re: История развития языков программирования. 69 слайдов

Первым частично вышел во "второе измерение" (блоки отступом, сразу в минус куча синтаксического мусора) похоже python. Следом nim.

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

Автор:  Владимир Паронджанов [ Воскресенье, 17 Декабрь, 2017 09:12 ]
Заголовок сообщения:  Re: История развития языков программирования. 69 слайдов

dvuugl писал(а):
Первым частично вышел во "второе измерение" (блоки отступом, сразу в минус куча синтаксического мусора) похоже python.
Пожалуйста, дайте пояснение про "синтаксический мусор", который исчезает благодаря питону.
Просто дайте список мусорных элементов, желательно подробный.

Автор:  dvuugl [ Воскресенье, 17 Декабрь, 2017 14:52 ]
Заголовок сообщения:  Re: История развития языков программирования. 69 слайдов

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

Автор:  Владимир Паронджанов [ Воскресенье, 17 Декабрь, 2017 15:36 ]
Заголовок сообщения:  Re: История развития языков программирования. 69 слайдов

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) поступает точно так же.

Автор:  dvuugl [ Воскресенье, 17 Декабрь, 2017 18:03 ]
Заголовок сообщения:  Re: История развития языков программирования. 69 слайдов

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

Автор:  Alexey_Donskoy [ Понедельник, 18 Декабрь, 2017 13:05 ]
Заголовок сообщения:  Re: История развития языков программирования. 69 слайдов

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

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

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

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

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