DRAKON.SU

Текущее время: Понедельник, 13 Май, 2024 13:51

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




Начать новую тему Ответить на тему  [ Сообщений: 18 ] 
Автор Сообщение
СообщениеДобавлено: Воскресенье, 02 Октябрь, 2016 10:12 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5862
Откуда: Москва
Исходный и маршрутный код ДРАКОН-технологии программирования

В этой теме предлагается обсудить и уточнить два понятия.

Что такое исходный код ДРАКОН-технологии?
Что такое маршрутный код ДРАКОН-технологии?

Я буду использовать термин "маршрутный транслятор", который впервые предложил и практически реализовал в программе "ИС Дракон" Геннадий Николаевич Тышов.

Исходный код ДРАКОН-технологии — это код на входе маршрутного транслятора.
Маршрутный код ДРАКОН-технологии — это код на выходе маршрутного транслятора.
Маршрутный транслятор получает на входе исходный код ДРАКОН-технологии и преобразует его в маршрутный код.

Ниже даны пояснения и вопрос для обсуждения.

Цитата:
Двумерное структурное программирование

Императивная (процедурная) часть языка ДРАКОН опирается на новую парадигму программирования — двумерное (графическое) структурное программирование[65][66].

Р-технология программирования

Первый шаг по направлению к двумерному структурному программированию был сделан в СССР в рамках Р-технологии производства программ, или «технологии двумерного программирования»[67], созданной в Институте кибернетики имени В. М. Глушкова в 1970 годах[68].

Графическая система Р-технологии программирования закреплена в стандартах ГОСТ 19.005-85[69], ГОСТ Р ИСО/МЭК 8631—94[70].

Автор Р-технологии программирования доктор физико-математических наук профессор Игорь Вельбицкий предложил пересмотреть понятие «структура программы». По его мнению, «структура — понятие многомерное. Поэтому отображение этого понятия с помощью линейных текстов (последовательности операторов) сводит практически на нет преимущества структурного подхода.

Огромные ассоциативные возможности зрительного аппарата и аппарата мышления человека используются практически вхолостую — для распознавания структурных образов в виде единообразной последовательности символов»[71].

Правила двумерного структурного программирования существенно отличаются от классического одномерного (текстового) структурного программирования[65].

Идеи классического структурного программирования разрабатывались, когда компьютерная графика фактически ещё не существовала и основным инструментом алгоритмиста и программиста был одномерный (линейный или ступенчатый) текст. До появления компьютерной графики методология классического структурного программирования была наилучшим решением.

Замена ключевых слов на управляющую графику

С появлением компьютерной графики ситуация изменилась. Используя выразительные средства графики, появилась возможность видоизменить, развить и дополнить три базовые (текстовые) управляющие конструкции (последовательность, ветвление, цикл), а также полностью отказаться от ключевых слов if, then, else, case, switch, break, while, do, repeat, until, for, foreach, continue, loop, exit, when, last и т. д. и заменить их на управляющую графику, то есть использовать двумерное структурное программирование[65][66].

По мнению разработчиков языка ДРАКОН, чтобы добиться улучшения, надо перейти от одномерного (классического) структурного программирования к двумерному (графическому) структурному программированию.

Многие ограничения и запреты, неизбежные при текстовом структурном программировании, во многих случаях противоречат здравому смыслу, затрудняют понимание алгоритмов и программ, искажают нормальный ход человеческой мысли. Недопустимо запрещать правильный процесс мышления. Его надо разрешить. Шампур-метод и язык ДРАКОН устраняют этот недостаток[K 8].

При использовании шампур-метода набор управляющих ключевых слов (идентификаторов) текстового структурного программирования становится ненужным. При визуальном структурном подходе программист работает только с чертежом программы (дракон-схемой), не обращаясь к её текстовому представлению. Точно так же программист, работающий, например, на Дельфи, не обращается к ассемблеру и машинному коду — они для него просто не существуют.

Во многих случаях (список которых ещё предстоит уточнить) желательно отказаться от текстовых управляющих структур, заменив их управляющей графикой[K 9].

Фактически, ДРАКОН — это не просто новый язык (новое семейство языков), а новый взгляд на императивное (процедурное) программирование и новое мировоззрение[K 10].

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

При создании языка ДРАКОН эта задача была решена с помощью визуального логического исчисления (исчисления икон)[2][74], которое лежит в основе графического синтаксиса языка ДРАКОН[75]; метода Ашкрофта-Манны[76], который является математическим обоснованием дракон-схемы «силуэт»; двумерного структурного программирования[77].

Одновременно была решена задача эргономизации блок-схем, то есть задача приспособления блок-схем для наиболее удобного человеческого восприятия и понимания[78][K 11].

Графический и текстовый синтаксис языка ДРАКОН

ДРАКОН — графический (визуальный) язык, в котором используются два типа элементов:
— графические фигуры (иконы);
— текстовые надписи, расположенные внутри или снаружи икон (текстоэлементы)[8][80].

Поэтому язык ДРАКОН имеет не один, а два синтаксиса: графический и текстовый.

Графический (визуальный) синтаксис охватывает алфавит икон, правила их размещения в поле чертежа и правила связи икон с помощью соединительных линий.

Текстовый синтаксис задает алфавит символов, правила их комбинирования и привязку к иконам (привязка необходима потому, что внутри разных икон используются разные типы выражений)[81][27


Вопрос. Какие ключевые слова используются на входе маршрутного транслятора (в исходном коде), а какие на выходе (в маршрутном коде)?

Имеются в виду ключевые слова из следующего списка (но не только): goto, if, then, else, case, switch, break, while, do, repeat, until, for, foreach, continue, loop, exit, when, last и т. д.


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

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1358
Владимир Паронджанов писал(а):
В этой теме предлагается обсудить и уточнить два понятия.

Что такое исходный код ДРАКОН-технологии?
Что такое маршрутный код ДРАКОН-технологии?
Тема пустая, ни о чем.


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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5862
Откуда: Москва
LKom писал(а):
Тема пустая, ни о чем.
Спасибо. Пусть так.
Давайте наполним ее смыслом.

Какие функции выполняет маршрутный транслятор?
Что у него на входе?
Что у него на выходе?


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

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1358
Для программиста в ИС Дракон все очевидно.

Следовательно, программист может ознакомиться в ИС Дракон.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 02 Октябрь, 2016 19:33 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Согласен, тема действительно ни о чём.
То есть о каких-то сугубо специфических аспектах реализации.

Владимир Паронджанов писал(а):
Императивная (процедурная) часть языка ДРАКОН опирается на новую парадигму программирования — двумерное (графическое) структурное программирование
При сколь угодно большом почтении - это не парадигма!

Процедурное программирование, функциональное и декларативное - это парадигмы.
Структурное программирование - это не парадигма, это методология.
Визуальное программирование - это не парадигма, не методология. Это класс языков программирования.

Собственно, на этом можно бы и закончить.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 02 Октябрь, 2016 19:47 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1358
Alexey_Donskoy писал(а):
Но в продолжение предыдущей темы я вынужден заявить, что постоянные попытки автора натянуть на разработанный им инструмент (язык - это инструмент, даже не метод!) фундаментальные спекуляции (чуть ли не до возведения оного инструмента в ранг парадигмы) не имеют отношения к науке и недостойны ни учёного, ни инженера, ни вообще честного человека

Сказав такое: "и недостойны ... ни вообще честного человека", Alexey_Donskoy однако хватил через край.

Нет никакого уважения к человеку, который много сделал и продолжает делать.
Если нет уважения к человеку, то лучше молча отойти.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 02 Октябрь, 2016 20:08 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 02 Октябрь, 2016 20:32 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5862
Откуда: Москва
Алексей Донской предложил уточнить ряд понятий и суждений:
Alexey_Donskoy писал(а):
1. Процедурное программирование, функциональное и декларативное - это парадигмы.

2. Структурное программирование - это не парадигма, это методология.

3. Визуальное программирование - это не парадигма, не методология. Это класс языков программирования.

4. Язык [ДРАКОН] - это инструмент, даже не метод.

5. Язык нельзя возводить в ранг парадигмы.
Какие будут мнения?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 03 Октябрь, 2016 07:51 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Владимир Паронджанов писал(а):
Алексей Донской предложил уточнить ряд понятий и суждений:
Alexey_Donskoy писал(а):
1. Процедурное программирование, функциональное и декларативное - это парадигмы.

2. Структурное программирование - это не парадигма, это методология.

3. Визуальное программирование - это не парадигма, не методология. Это класс языков программирования.

4. Язык [ДРАКОН] - это инструмент, даже не метод.

5. Язык нельзя возводить в ранг парадигмы.
Какие будут мнения?


Есть такие мнения - в отношении термина "парадигма":

1
Википедия: "Парадигма"
[url]https://ru.wikipedia.org/wiki/Парадигма[/url]
Цитата:
Паради́гма (от греч. παράδειγμα, «пример, модель, образец») — совокупность фундаментальных научных установок, представлений и терминов,
принимаемая и разделяемая научным сообществом и объединяющая большинство его членов. Обеспечивает преемственность развития науки и научного творчества.

Другие значения:

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


Цитата:
Кроме того, парадигма может быть абсолютной (???), научной, государственной, личной (индивидуальной, субъективной) и общепринятой:
...........

2
Википедия: "Парадигма программирования"
[url]https://ru.wikipedia.org/wiki/Парадигма_программирования[/url]
Цитата:
Паради́гма программи́рования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ
(подход к программированию).

Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером[1].
Очень широкое определение.
Под него можно подвести почти всякий более или менее концептуально разработанный подход.

Справа страницы приводится список парадигм:
Цитата:
Парадигмы программирования
• Императивная
(контрастирует с декларативной)
Процедурная
Структурная
Аспектно-ориентированная
Объектно-ориентированная
Агентно-ориентированная
Компонентно-ориентированная
Прототипно-ориентированная
Обобщённое программирование
• Декларативная
(контрастирует с императивной)
Чистота языка
Чистота функции
Функциональная
В терминах Рефал-машины
Аппликативная
Комбинаторная
Бесточечная
(чистая конкатенативная)
Логическая
В этом списке структурное программирование выводится на структурную парадигму программирования.
Это все-таки не просто требование применения только трех видов синтаксических конструкций.
За этим следует обоснования необходимости, доказательства достаточности,
протестная аргументация и ограниченное "неструктурное" расширение исходной "структурной" концепции и т.п.

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

И далее:
Цитата:
Связанные темы
Программирование в крупном и мелком масштабе[en]
Модульность
Полиморфизм
Продолжения и CPS
Параллелизм и конкурентность
• Методы и алгоритмы
Автоматное
Динамическое
Потоков данных
Событийно-ориентированное
Реактивное
Сервис-ориентированное

Но автоматное программирование тоже вполне тянет на парадигму.
Особенно если его реально продвинуть на параллельное автоматное программирование
(а не только утверждать, что оно в принципе возможно)

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

----------------------------------------------
Код:
3. [color=#0000FF]Визуальное программирование - это не парадигма, не методология.
Это класс языков программирования[/color]
Визуальное программирование нецелесообразно отождествлять с классом языков визуального программирования - это разные сущности.
Например, визуальное программирование в составе дракон-концепции имеет определенную аргументацию:
достаточную или недостаточную для характеристики как парадигмы визуального программирования
(и визуальной алгоритмизации) - это можно было бы специально обсудить.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 03 Октябрь, 2016 11:16 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
andr писал(а):
Очень широкое определение
Что и плохо.
Лучше всего с этим понятием обстоит дело в науке: "совокупность ценностей, методов, подходов, технических навыков и средств, принятых в научном сообществе в рамках устоявшейся научной традиции в определенный период времени"

Здесь выделяется главное: общее признание, распространение и всеобъемлющий характер.
Соответственно и я предагаю иерархическую классификацию от общего к частному.
Так, использование ЭВМ для решения ряда задач человеческой деятельности - это парадигма.
Использование калькулятора для несложных арифметических расчётов - это методология.
Использование СУБД - это методология.
Использование визуального конструирования схемы БД - это метод.
Использование триггеров для логики на стороне сервера - это метод.
ER-диаграмма сама по себе - это язык (инструмент).
SQL - это язык (инструмент).

Цитата:
В этом списке структурное программирование выводится на структурную парадигму программирования.
Некорректно.
Потому что это всего лишь качественная характеристика (одна из метрик) в рамках императивной (процедурной) парадигмы.

Цитата:
За этим следует обоснования необходимости, доказательства достаточности, протестная аргументация и ограниченное "неструктурное" расширение исходной "структурной" концепции и т.п.
К парадигме это не относится никак.

Цитата:
Но автоматное программирование тоже вполне тянет на парадигму.
Не тянет. Оно остаётся частным случаем внутри императивной. Так же, как и все вышеперечисленные.
А вот на методологию (в рамках императивной парадигмы) - очень даже тянет.

Цитата:
Кроме того само параллельное программирование, концептуально хорошо разработанное вполне потянет на качественно новую параллельную вполне парадигму
Отнесение на иерархический уровень парадигмы никак не определяется степенью концептуальной проработанности!
Здесь имеем иерархический уровень "методология".

Цитата:
традиционную общепринятую парадигму последовательного программирования.
Поскольку понятие парадигмы, в общем, относительное, можно рассмотреть и такое. Но обязательно в рамках иерархии, где оно будет занимать верхнее место - всеобъемлющее и общепризнанное.
В данном случае смысла не видно. Ибо различие в последовательном и параллельном не тянет даже на методологию, а только на более подчинённый уровень - уровень метода.
Ведь, используя методологию автоматного программирования, вы можете решить задачу как последовательным, так и параллельным методом.

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

Как-то так.

P.S. Вот так и выходит, что спекуляции на тему ширины определения есть бесполезное и даже вредное занятие.
А полезным как с теоретической, так и с практической точки зрения будет выстраивание системной иерархии.
Где метод (частное) никогда не станет больше методологии (общего). И т.д.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 03 Октябрь, 2016 21:53 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
Владимир Паронджанов писал(а):
Какие функции выполняет маршрутный транслятор?
Что у него на входе?
Что у него на выходе?

Функция маршрутного транслятора
Насколько я понимаю, функция маршрутного транслятора — исполнять ДРАКОН-схемы в компьютере.

Генерация исходного кода из диаграмм
Частный случай маршрутной трансляции — генерация исходного кода из диаграмм.
На входе: дракон-схема в каком-то представлении.
На выходе: текст на целевом языке программирования, например Си.

Интерактивное исполнение диаграмм
Другой пример маршрутной трансляции — "интерактивное исполнение диаграмм". Это когда ДРАКОН-схема выполняется в интерактивном режиме прямо на мониторе.
На входе: ДРАКОН-схема в некотором формате.
На выходе: некоторый граф исполнения, который программа-исполнитель сможет исполнить.

Входные данные
Формат входных данных для маршрутного транслятора сильно зависит от ДРАКОН-редактора. Можно предположить, что вне зависимости от редактора на каком-то этапе трансляции будет иметь место граф с узлами следующего вида:

Код:
Действие
  Содержимое
  Указатель на следующий узел

Вопрос
  Содержимое
  Указатель на следующий узел из выхода ДА
  Указатель на следующий узел из выхода НЕТ


Выходные данные
Представление выходных данных тоже может быть разным.
1. Одномерный список. Примеры: языки программирования с goto, Assembler, bytecode.
2. Дерево (AST) Примеры: языки программирования без goto.
3. Направленный граф. Эта структура будет характерна для визуального исполнения внутри редактора.

Нужна стандартизация для входного формата данных для маршрутного транслятора
Вопрос представления входных и выходных данных для маршрутного транслятора не пустой. Он важный.
Но он важен в первую очередь для разработчиков ДРАКОН-редакторов и ДРАКОН-сред.

Что имеет смысл обсуждать здесь? Стандартизацию!
Как только ДРАКОН-редакторы выйдут из детского сада, потребуется всеми поддерживаемый формат.
Формат хранения самих ДРАКОН-схем, а также промежуточный формат для скармливания маршрутным трансляторам.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 05 Октябрь, 2016 16:30 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Alexey_Donskoy писал(а):
http://forum.oberoncore.ru/viewtopic.php?p=98433#p98433
Как-то так.

P.S. Вот так и выходит, что спекуляции на тему ширины определения есть бесполезное и даже вредное занятие.

А полезным как с теоретической, так и с практической точки зрения будет выстраивание системной иерархии.
Где метод (частное) никогда не станет больше методологии (общего). И т.д.
Уважаемый Алексей.
Вам уже деликатно заметили в одном посте, типа:
Непременно Вам нужно уколоть оппонента.
И мимо цели - в молоко.
Но уже если зацепили (укололи), то не обижайтесь на ответную жесткую оценку. :D

Давайте посмотрим утверждение
Цитата:
Цитата:
традиционную общепринятую парадигму последовательного программирования.
Поскольку понятие парадигмы, в общем, относительное, можно рассмотреть и такое.
Но обязательно в рамках иерархии, где оно будет занимать верхнее место - всеобъемлющее и общепризнанное.
В данном случае смысла не видно.
Ибо различие в последовательном и параллельном не тянет даже на методологию, а только на более подчинённый уровень - уровень метода.
Это же надо, какая каша в Вашей в системной иерархии.

Например, решить систему линейных алгебраических уравнений некоторым методом,
например, методом Гаусса.
Это понятно.
А вот решить задачу программирования методом последовательного программирования или методом параллельного программирования.
Это как?
Понятно, что это полная иерархическая системная ерундистика.

Понятие парадигмы традиционного последовательного программирования обычно само по себе не упоминается.
Но это становится актуальным в связи с формированием парадигмы параллельного программирования.
И она сопоставляется с последовательным программированием
(которого на она на порядки сложнее).
Многие специалисты в области параллельного программирования занимаются этим вопросом:
можно посмотреть в поисковиках в интернете по ключевым словам типа:
"парадигма параллельного программирования".
Их можно анализироваться, соглашаться, не соглашаться, критиковать.
Но дело продвигается.

И это называется "парадигмой", невзирая на Ваше категорическое отрицание по этому вопросу,
в котором Вы не специалист и, очевидно, не достаточно копенгаген.

Аналогично - по всем другим обсуждаемым парадигмам.

И всегда у Вас идут всякие сомнительные утверждения в категорической авторитетной в форме, не допускающей сомнения.
А для убедительности используются всякие оценочные замечания - явно или неявно в адрес оппонентов.
А в заключении вообще может быть прямая итоговая агрессия
(с прямым переходом на личности) - чтобы боялись сомневаться и возражать.
Например:
http://forum.oberoncore.ru/viewtopic.php?p=98418#p98418
Внизу.
Страшно, аж жуть.

А все пункты пресловутой системной иерархии там - это такая же категорическая каша в голове,
как и по парадигме параллельного программирования. :wink:


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

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
andr писал(а):
Это же надо, какая каша в Вашей в системной иерархии.
Без аргументов - ни разу не убедительно.

Цитата:
А вот решить задачу программирования методом последовательного программирования или методом параллельного программирования. Это как?
Это так, что последовательное и параллельное - это ТЕХНОЛОГИИ.
Что такое технология? Это по существу есть не что иное, как метод (поддержанный конкретным инструментом).

Цитата:
Понятно, что это полная иерархическая системная ерундистика.
Понятно, что вы в системном анализе мало понимаете, хотя бы даже участвовали в написании учебников и формировании образовательных программ.
Что ж, тем хуже для образования.

Цитата:
Но это становится актуальным в связи с формированием парадигмы параллельного программирования.
Вообще, если на то пошло, я предлагаю не упираться в понятие "парадигма", потому как оно расплывчатое, конъюнктурное и вообще слабо формализованное.
Парадигма в этих темах вылезла постольку, поскольку критикуемый автор размахивает этим понятием как убийственным "научным" аргументом, который к науке мало отношения имеет.

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

Цитата:
Но дело продвигается.
Только спекуляции о парадигме никоим образом к этому продвижению касательства не имеют.
А имеют - методы, которые разрабатывают компетентные люди.

Цитата:
И всегда у Вас идут всякие сомнительные утверждения в категорической авторитетной в форме, не допускающей сомнения.
Потому что мне надоело видеть у уважаемых людей бессмысленное жонглирование понятиями.
Как по мне, так оно просто вредно для развития IT-отрасли.

А если вам мои утверждения кажутся сомнительными, то берите аргументы - и по пунктам, по пунктам. Тем более, что я стараюсь писать именно конкретные тезисы (которые вы считаете категоричными утверждениями).
И пока что ни одного убедительного возражения я не увидел ("многие люди" и "можно посмотреть в поисковиках" аргументами, естественно, не являются).
Давайте по существу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Октябрь, 2016 07:38 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Alexey_Donskoy писал(а):
Давайте по существу.
Давайте по существу. :shock:

При этом не буду пытаться Вас переубеждать.
Это Ваши проблемы.
А токмо пользы для.

А польза дела такая.
У нас уже появилась проблемный термин - концепция.
Мы его не добили.
И появился новый проблемный термин - парадигма.

В обоих случаях, пока более или менее не договориться, что имеется в виду за этими словами,
можно с любой степенью категоричности утверждать:
это концепция или это парадигма или же, наоборот, это не концепция или это не парадигма.
И кто кого перебодает в бесконечных спорах:
-- корректно - по сути дела;
-- или некорректно - с переходом на личности и их оценки и т.п.

Желательно довести эти категории до взаимного согласия - но это пока маловероятно.
Но тогда нужно, по крайней мере, каждой несогласной стороне, более или менее четко оговорить свою точку зрения.
Тогда можно будет понимать, что кто-то имеет в виду.
А иначе одними и теми же словами один будет говорить и думать про Фому, а другой про Ерему.

===============================================
Далее будет излагаться личная точка зрения.
Исходная позиция такая (если кому-то это интересно):
в самое последнее время начал задавать специалистам по параллельному программированию
такой вопрос на засыпку.

Теория параллельных алгоритмов возникла из потребностей параллельного программирования (вычислений).
Но сейчас она там практически не применяется.
(используются разные элементы теории, например,
для оценки разных параметров, но это не систематическое применение теории).
Почему?

Пока задал этот вопрос двум спецам высшей по служебной лестнице категории.
1
Первый (инженер по базовому образованию) принял этот вопрос всерьез,
согласился, что это действительно так, и успел высказать на вскидку кое-какие интересные аргументы
(это было на ходу при встрече в коридоре).
2
Со вторым специалистом (математиком по базовому образованию) мы столкнулись в магазине в очереди в кассу
(живем с ним в соседних домах).
На мой вопрос от задал мне два убийственных встречных вопроса на засыпку.
1)
А что это такое? - теория параллельных алгоритмов то есть.
От неожиданности я что-то там провякал - в буквальном смысле.
Тогда он задал второй вопрос:
2)
А зачем это нужно?
применение теории параллельных алгоритмов в параллельном программировании то-есть.
Ну мы еще поговорили по дороге и разошлись по домам.

-------------------------
Теперь эти два вопроса торчат у меня в уме перед глазами:
1)
Что такое теория параллельных алгоритмов?
Но не вообще, а в двух приложениях:
а)
В параллельном программировании вычислений (и вообще в математических приложениях):
лично это интересует только как исторически предшествующий аналог.
И почему она здесь практически (уже) не применяется?
б)
В технических приложениях и, прежде всего,
в автоматизированных и роботизированных технологических системах.
И почему она здесь практически (еще) не применяется?
2)
Зачем это нужно?:
-- и там;
-- и там.

-------------------------
В обсуждениях на форуме понятия концепции
сгенерилась такая проблемная задача:
1)
Разработка (вразумительной) краткой концепции теории параллельных алгоритмов,
в двух указанных приложениях - это две разные концепции.
2)
Разработка, основанного на этой концепции, (вразумительного) определения теории,
в двух ее приложениях - это тоже, наверное, будут два разных определения.

Теперь есть четкая очередная информация для обработки:
прямая польза от таких разборок на форуме.
Спасибо форуму. :wink:

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

Уж как и когда это получится - это другой вопрос.
И опять прямая польза от таких разборок на форуме.
Еще раз спасибо форуму. :wink:

=======================================
Вот эти вопросы по концепциям и парадигмам
имеет смысл добивать на форуме - на этой или на других темах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Октябрь, 2016 16:27 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
andr писал(а):
это концепция или это парадигма или же, наоборот, это не концепция или это не парадигма.
Ох, я пока не вижу конкретных тезисов, которые можно обсуждать - одни вопросы.
Ну давайте изложу свою точку зрения.

Концепция - хорошее понятие, универсальное, применимое ко многому.
Концепция - верхний уровень, начало иерархии.
Концепция, подкреплённая методически, становится методологией.

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

Другими словами, концепция - это обобщённый взгляд на ту или иную предметную область, который показывает одно из возможных направлений.
Методы - это конкретные маршруты, приводящие к результатам (промежуточным и окончательным).
Методология - это путеводитель, описывающий набор полезных маршрутов и способы их стыковки.
Парадигма - это взгляд сверху на толпу туристов, устремившихся в этом направлении :wink:

Потому я и не люблю парадигмы, и особенно спекуляции на них. Пахнет дурно, а толку мало. 10000 леммингов и всё такое.

Цитата:
Что такое теория параллельных алгоритмов?
Не знаю, теорией не занимался, только практикой.
Разве что вспомнить о семафорах, блокировках и прочих понятиях. Теория? Безусловно.

Цитата:
В параллельном программировании вычислений (и вообще в математических приложениях):
лично это интересует только как исторически предшествующий аналог.
И почему она здесь практически (уже) не применяется?
Как это не применяется?! А что у вас в видеокарте при рендеринге происходит? Не вычисления? Не параллельные? Без теории? ;)

Цитата:
В технических приложениях и, прежде всего, в автоматизированных и роботизированных технологических системах.
И почему она здесь практически (еще) не применяется?
Да как же не применяется? Повсеместно применяется.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Октябрь, 2016 17:40 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Alexey_Donskoy писал(а):
Цитата:
Что такое теория параллельных алгоритмов?
Не знаю, теорией не занимался, только практикой.
Разве что вспомнить о семафорах, блокировках и прочих понятиях. Теория? Безусловно.
Умеете ли Вы играть на фортепиано?
Не знаю, не пробовал. :shock:

Описание и применение семафоров - это не теория, а описание и применение языка - по части семафоров.
Разговоры про блокировки - это практические осведомительные положения.
И, возможно, полезные рекомендации, как их предотвратить.
А вот разработка методов выявления и исключения блокировок - это теория.
Но где Вы видели изложение такой теории?:
Имена.
Адреса.
Явки. :D

Цитата:
В параллельном программировании вычислений (и вообще в математических приложениях):
лично это интересует только как исторически предшествующий аналог.
И почему она здесь практически (уже) не применяется?
Как это не применяется?! А что у вас в видеокарте при рендеринге происходит? Не вычисления? Не параллельные? Без теории? ;)
Аналогично.
Покажите, пожалуйста, явное применение теории параллельных алгоритмов?
При рендеринге:
Имена.
Адреса.
Явки. :D

Alexey_Donskoy писал(а):
Цитата:
В технических приложениях и, прежде всего, в автоматизированных и роботизированных технологических системах.
И почему она здесь практически (еще) не применяется?
Да как же не применяется? Повсеместно применяется.
Аналогично.
Покажите, пожалуйста, явное применение теории параллельных алгоритмов в автоматизированных и роботизированных технологических системах:
Имена.
Адреса.
Явки. :D

------------------
Только не следует путать теорию параллельных алгоритмов
с сетевыми конечными автоматами, сетями Петри, сетевыми графиками:
это все недотеории параллельных алгоритмов.
Но хотя бы и их применение.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Октябрь, 2016 17:47 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
andr писал(а):
Alexey_Donskoy писал(а):
Цитата:
Что такое теория параллельных алгоритмов?
Не знаю, теорией не занимался, только практикой.
Разве что вспомнить о семафорах, блокировках и прочих понятиях. Теория? Безусловно.
Умеете ли Вы играть на фортепиано?
Не знаю, не пробовал. :shock:

Описание и применение семафоров - это не теория, а описание и применение языка - по части семафоров.
Разговоры про блокировки - это практические осведомительные положения.
И, возможно, полезные рекомендации, как их предотвратить.
А вот разработка методов выявления и исключения блокировок - это теория.
Но где Вы видели изложение такой теории?:
Имена.
Адреса.
Явки. :D

Alexey_Donskoy писал(а):
Цитата:
В параллельном программировании вычислений (и вообще в математических приложениях):
лично это интересует только как исторически предшествующий аналог.
И почему она здесь практически (уже) не применяется?
Как это не применяется?! А что у вас в видеокарте при рендеринге происходит? Не вычисления? Не параллельные? Без теории? ;)
Аналогично.
Покажите, пожалуйста, явное применение теории параллельных алгоритмов?
При рендеринге:
Имена.
Адреса.
Явки. :D

Alexey_Donskoy писал(а):
Цитата:
В технических приложениях и, прежде всего, в автоматизированных и роботизированных технологических системах.
И почему она здесь практически (еще) не применяется?
Да как же не применяется? Повсеместно применяется.
Аналогично.
Покажите, пожалуйста, явное применение теории параллельных алгоритмов в автоматизированных и роботизированных технологических системах:
Имена.
Адреса.
Явки. :D

------------------
Только не следует путать теорию параллельных алгоритмов
с сетевыми конечными автоматами, сетями Петри, сетевыми графиками и т.п.:
это все недотеории параллельных алгоритмов.
Но хотя бы и их применение - повсеместно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Октябрь, 2016 20:39 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
andr писал(а):
Но где Вы видели изложение такой теории?
Зачем меня спрашиваете? Я же ясно сказал - "теорией параллельных алгоритмов" не занимался. Даже не знаю, есть ли она такая в природе :)
А приложения есть, сколько угодно.
Значит, я не ответил на ваш вопрос. Но как разговаривать без конкретных тезисов для обсуждения, я не знаю...
Но тут уже такой офтопик пошёл, что неплохо бы его куда-нибудь перенести...


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

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


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

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


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

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