Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/35: Рейтинг темы: голосов - 35, средняя оценка - 4.89
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,825

ЯП, IDE и подходы к программированию в будущем

18.08.2020, 18:47. Показов 8382. Ответов 69
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Фактически эта тема - продолжение моей же темы, созданной ранее: О более новых парадигмах программирования, чем ООП

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

Итак, что я хочу придумать? По сути, новый ЯП, но тут надо сразу оговориться, что ЯП следует понимать не в узком смысле (привычные правила текстового синтаксиса языка), а в более широком смысле. То есть это должен быть программный продукт, в котором ЯП и IDE сплетаются воедино. Более близко мою идею выражают UML-редакторы. Итак, фактически я хочу, чтобы разработчик создавал модель ПО, а не программу (исходный код). Имея готовую модель ПО, легко можно автоматизировать формирование исходного кода и бинарного кода. Модель ПО - это представление кода, наиболее приспособленное к восприятию человеком. То есть фактически я предлагаю, наконец-то, при разработке ЯП не искать баланс между простотой понимания кода человеком и простотой перевода кода в машинный код, понятный компьютеру. Я считаю, что следует бросить все силы на простоту работы разработчика с кодом. Итак, первая идея - вместо кода разработчик создает модель ПО.

Модель ПО должна достаточно точно выражать поведение программы. Но тут надо оговориться, что это не всегда правда. Иногда можно поступиться с этим, и это должно решаться разработчиком. Тут есть несколько хороших идей у меня.

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

Ещё при разработке модели ПО разработчик должен иметь возможность быстро обнаруживать (видеть) существенные для него элементы, неважные элементы должны скрываться, а важные выделяться. Здесь у меня тоже имеется некоторое понимание (смутное пока представление).

Так вот. Я хочу какое-то накопление идей в этой теме. Есть ли какие-то интересные уже реализованные идеи на этот счет?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.08.2020, 18:47
Ответы с готовыми решениями:

obj\Debug\IDE.o||In function `Z11OpenProjectv':| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|2 36|undefined reference to `GetOpenFileNam
obj\Debug\IDE.o||In function `Z11OpenProjectv':| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|236|undefined reference to...

каким образом пожна подключить на мать с 2 IDE выходами и 2 SATA 3 жестких диска IDE и 2 CD-ROM IDE?
Доброго вам времени суток Можете подсказать каким образом пожна подключить на мать с 2 IDE выходами и 2 SATA 3 жестких диска IDE и 2...

Новая мать не видит ide ЖД и ide привод, проблема в Sata - Ide контроллере?
на оч старом компе решил заменить мать, ОЗУ, проц, видео. идешный HDD и привод оставил, купил 2 контроллера SATA to IDE марки Gembird,...

69
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
24.08.2020, 18:19
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от vantfiles Посмотреть сообщение
PS: из известных мне примеров VPL рекомендую посмотреть HiAsm.
Вот что пишут:
HiAsm идеально подходит для конструирования простых утилит. Но при этом, как и любой другой механизм графического программирования, не годится для решения задач, в которых требуется производить много расчетов, сравнений, операций со строками и прочих «микро» процедур. Помимо этого есть другое ограничение, связанное с максимально возможной сложностью проекта, для которого в качестве среды разработки выгодно выбирать HiAsm. Несмотря на то, что в палитре пакета есть множество инструментов для масштабирования схемы (разбивка на модули, вкладывания в контейнеры и т.д.), начиная с определенного момента дальнейшее наращивание функционала (и, как следствие, количества элементов) ведет к сильному падению читабельности схемы и пониманию ее работы из-за образования большого числа связей. Это значит, что для разработки более-менее сложных приложений конструктор программ не подходит.
Добавлено через 6 минут
vantfiles,
Как Вы считаете, что займёт меньше времени - написать строку вызова функции или найти нужный кубик в Палитре?

Добавлено через 1 минуту
Единственное преимущество графических языков - не надо ничего знать, так как как всё выбирается мышкой. Я про это писал уже выше.
0
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
24.08.2020, 18:22
Цитата Сообщение от korvin_ Посмотреть сообщение
На одной и не нужно, нужны разноуровневые отображения. =/
Проблема в том, что любой уровень бесполезен.

Добавлено через 1 минуту
Цитата Сообщение от korvin_ Посмотреть сообщение
Попытайся лучше сформулировать как выглядел бы diff двух коммитов.
Очень весомый аргумент против графических языков.
0
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,825
25.08.2020, 05:31  [ТС]
Цитата Сообщение от vantfiles Посмотреть сообщение
PS: из известных мне примеров VPL рекомендую посмотреть HiAsm.
Честно говоря, я смотрю и вижу всякие однотипные реализации функциональной парадигмы. То есть, в принципе, ничего нового. Гораздо лучше, когда хотя бы имеются уровни абстракции, когда ряд стрелок и квадратиков можно хоть как-то скрыть...
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
25.08.2020, 11:30
Цитата Сообщение от Shamil1 Посмотреть сообщение
Как Вы считаете, что займёт меньше времени - написать строку вызова функции или найти нужный кубик в Палитре?
Если речь идет о HiAsm, ответ очевиден - текст выигрывает.

Но. Квадратик в VPL не обязательно должен означать вызов функции. Достаточно вспомнить тот же Delphi (хотя это и не vpl в чистом виде), один квадратик и полсотни параметров по-умолчанию.

Добавлено через 1 минуту
Цитата Сообщение от Mikhaylo Посмотреть сообщение
когда ряд стрелок и квадратиков можно хоть как-то скрыть...
там есть квадратик-контейнер...

Я об этом писал выше - не надо делать простыню квадратиков - можно же делать вложенные схемы.
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
25.08.2020, 11:46
Цитата Сообщение от Shamil1 Посмотреть сообщение
не надо ничего знать, так как как всё выбирается мышкой
Думаю, что Вы знаете, что изображено на картинке, но поймет ли это неофит? Наверняка нет, так что учиться таки придется.
Изображения
 
0
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
25.08.2020, 13:30
Цитата Сообщение от vantfiles Посмотреть сообщение
Но. Квадратик в VPL не обязательно должен означать вызов функции. Достаточно вспомнить тот же Delphi (хотя это и не vpl в чистом виде), один квадратик и полсотни параметров по-умолчанию.
За квадратиком так или иначе стоит вызов функции. Полсотни параметров по-умолчанию могут быть и в функции (или значения свойств по-умолчанию в классе).

Цитата Сообщение от vantfiles Посмотреть сообщение
Наверняка нет, так что учиться таки придется.
Я имею ввиду другое.
Например, мне нужна подстрока. Я знаю, что в классе String есть метод Substring. Поэтому я быстро наберу вызов. Теперь заменяем C# на XYZ#, в котором в классе StringOps есть статический метод GetPartOfString. Тут мне проще будет через меню квадратик выбрать (так как я даже примерно не представляю, что нужно вводить).

Это общий принцип для любых (почти?) задач.
Сначала ты ничего не знаешь, и тебе удобнее кликать команды мышкой в меню. А затем тебе уже проще набрать команду в cmd или подправить config в текстовом редакторе или файл разметки (и т.п.), чем искать нужные команды в интерфейсе.

Добавлено через 13 минут
То же самое и с экранными формами для ввода/редактирования чего-либо. Начальник отдела говорит: "здесь должен быть выпадающий список, чтобы я мог кликнуть и выбрать нужный вариант". Оператор говорит: "только, пожалуйста, никаких выпадающих списков!!! сделайте текстовое поле, чтобы я сразу мог вводить и автокомплит, если значение однозначно определяется по уже введённым буквам... ну и горячую клавишу для отображения списка (отфильтрованного по введённым буквам) на случай, если я вдруг забыл название".
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
25.08.2020, 16:48
Цитата Сообщение от Shamil1 Посмотреть сообщение
За квадратиком так или иначе стоит вызов функции
Не-а, за ним может стоять что угодно, например данные. И стрелочки могут означать поток данных или поток управления, или в общем случае некие отношения, как в UML.

Добавлено через 17 минут
Вот, кстати, еще пример - искусственные нейронные сети.
Имхо нарисовать произвольную структуру гораздо проще, чем описать ее текстом.

Добавлено через 3 минуты
Кстати, сюда же идут и электронные схемы - попробуйте для целей моделирования описать текстом ну скажем ZX Spectrum.
0
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
25.08.2020, 18:52
Цитата Сообщение от vantfiles Посмотреть сообщение
Кстати, сюда же идут и электронные схемы - попробуйте для целей моделирования описать текстом ну скажем ZX Spectrum.
Не думаю, что это сложнее, чем схему нарисовать.

Например, текст будет представлять из себя список деталей и список связей (соединений) между ними. Как детали, так и связи имеют тип и другие свойства. Сложная деталь - это готовый компонент из сторонней библиотеки.
Это при условии, что детали не имеют фиксированных координат (что имхо, как я уже писал, является обязательным условием для нормального графического интерфейса). Да, есть какая-то магия, которая вычисляет координаты и размеры элементов интерфейса, но это забота тех, кто будет разметку в картинку на экране превращать.

Причём, разметка не обязательно должна быть xml и т.п. Это может быть, например, json или даже алгебраический тип данных Контейнер, который содержит упорядоченный список Контейнеров и/или Компонентов.

Добавлено через 11 минут
Вот, например, код разметки для картинки часов с тремя стрелками (стрелки двигаются, как положено):
F#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// View
type Time =
    | Hour of int
    | Minute of int
    | Second of int
 
let clockHand time color width length =
    let clockPercentage =
        match time with
        | Hour n -> (float n) / 12.0
        | Second n -> (float n) / 60.0
        | Minute n -> (float n) / 60.0
    let angle = 2.0 * Math.PI * clockPercentage
    let handX = (50.0 + length * cos (angle - Math.PI / 2.0))
    let handY = (50.0 + length * sin (angle - Math.PI / 2.0))
    line [ X1 "50"
           Y1 "50"
           X2 handX
           Y2 handY
           // Qualify these props to avoid name collision with CSSProp
           SVG.Stroke color
           SVG.StrokeWidth width ] []
 
let handTop n color length fullRound =
    let revolution = float n
    let angle = 2.0 * Math.PI * (revolution / fullRound)
    let handX = (50.0 + length * cos (angle - Math.PI / 2.0))
    let handY = (50.0 + length * sin (angle - Math.PI / 2.0))
    circle [ Cx handX
             Cy handY
             R "2"
             SVG.Fill color ] []
 
let view (CurrentTime time) dispatch =
    svg
      [ ViewBox "0 0 100 100"
        SVG.Width "350px" ]
      [ circle
          [ Cx "50"
            Cy "50"
            R "45"
            SVG.Fill "#0B79CE" ] []
        // Hours
        clockHand (Hour time.Hour) "lightgreen" "2" 25.0
        handTop time.Hour "lightgreen" 25.0 12.0
        // Minutes
        clockHand (Minute time.Minute) "white" "2" 35.0
        handTop time.Minute "white" 35.0 60.0
        // Seconds
        clockHand (Second time.Second) "#023963" "1" 40.0
        handTop time.Second "#023963" 40.0 60.0
        // circle in the center
        circle
          [ Cx "50"
            Cy "50"
            R "3"
            SVG.Fill "#0B79CE"
            SVG.Stroke "#023963"
            SVG.StrokeWidth 1.0 ] []
      ]
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
25.08.2020, 20:01
Цитата Сообщение от vantfiles Посмотреть сообщение
Кстати, сюда же идут и электронные схемы - попробуйте для целей моделирования описать текстом ну скажем ZX Spectrum.
Verilog? VHDL?

Чё-т для описания архитектуры для FPGA, например, используют текстовые языки, а не схемы.
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
26.08.2020, 09:54
Цитата Сообщение от korvin_ Посмотреть сообщение
Чё-т для описания архитектуры для FPGA, например, используют текстовые языки, а не схемы.
Зачем же себя так мучить, берем Vivado и просто рисуем схему, при желании описываем блоки на упомянутых Verilog или VHDL...

В акаде тоже можно все отрисовывать на автолиспе, но кто ж так делает?

Добавлено через 8 минут
Цитата Сообщение от Shamil1 Посмотреть сообщение
Не думаю, что это сложнее, чем схему нарисовать.
Не сложнее, но все-таки схемы рисуют, а не пишут. Просто схема нагляднее текста в данном случае.
0
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,825
26.08.2020, 15:32  [ТС]
Я надеюсь нагрузить графическое программирование дополнительными фишками, которые с текстом никогда не будут реализованы в связи с ненаглядностью. Пока это, конечно, всего лишь декларация цели. Но это тоже нужно.
0
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
27.08.2020, 00:29
Цитата Сообщение от vantfiles Посмотреть сообщение
Просто схема нагляднее текста в данном случае.
Это утверждение (неважно, истинно оно ли ложно) не влияет на предмет обсуждения. У меня есть некий язык разметки, предназначенный для рисования схем и графический редактор к нему. Как мне проще нарисовать схему - в специализированном текстовом редакторе или графическом?
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
27.08.2020, 12:22
Цитата Сообщение от Shamil1 Посмотреть сообщение
Как мне проще нарисовать схему
Уже не знаю, но судя по всему мы с вами заняли противоположные позиции и сдвинуться с них не желаем.

Добавлено через 1 минуту
На самом деле, истина должна быть где-то между.
0
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
27.08.2020, 13:23
Цитата Сообщение от vantfiles Посмотреть сообщение
На самом деле, истина должна быть где-то между.
ИМХО истина зависит от знаний конкретного субъекта.
Например, среднему пользователю удобнее администрировать винду через графический интерфейс. А тому, кто знает наизусть все команды, названия служб и т.д., проще набрать команду в консоли (или в PowerShell консоли, где есть автокомплит и дополнительные навороты).
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
27.08.2020, 13:24
Mikhaylo, в свое время я интересовался VPL в рамках одной диссертации... Сейчас поднял архивы, немного дополнил их и предлагаю к ознакомлению. Это краткий список визуальных языков, сред и просто ПО, использующего визуальный подход.

Я не собирался этот список публиковать, поэтому он весьма лохмат, но я его кладу как есть...

Кликните здесь для просмотра всего текста

AgentSheets

AgentSheets was the first modern block-based programming language for kids.
Легкая в использовании авторская система для игр и научных расчётов.
https://en.wikipedia.org/wiki/AgentSheets

Alice

Alice is an object-based educational programming language with an integrated development environment (IDE).
https://en.wikipedia.org/wiki/Alice_(software)

Analytica

Analytica is a visual software package developed by Lumina Decision Systems for creating, analyzing and communicating quantitative decision models.
https://en.wikipedia.org/wiki/Analytica_(software)

AudioMulch

AudioMulch is modular audio software for making music and processing sound.
-- ???

Adobe Authorware

Adobe Authorware (previously Macromedia Authorware) was an interpreted, flowchart-based, graphical programming language.

Automator

Automator — программа, созданная Apple для OS X, позволяющая по принципу drag-and-drop создавать скрипты для автоматического выполнения различных действий.

AppWare

Also known as MicroBrew, программирование, на основе иконок для MacOS и Microsoft Windows

Aviary Peacock

-- ???

Baltie

Baltie is an educational graphic oriented visual programming tool
Baltie — визуально преобразованный язык программирования, использующийся в образовательных целях.
Он основан на C-подобном языке Baltazar, но все команды заменены на иконки, в результате чего среда разработки становится визуальной.
http://progopedia.ru/language/baltie/

Blockly

Blockly is a client-side library for the programming language JavaScript for creating
block-based visual programming languages (VPLs) and editors. It is a project of Google
and is free and open-source software released under the Apache License 2.0.
https://en.wikipedia.org/wiki/Blockly
-- Initial release 2012 -- уже тогда задумались...
-- Blockly uses visual blocks that link together to make writing code easier,
-- and can generate code in JavaScript, Lua, Dart, Python, or PHP.
-- It can also be customised to generate code in any textual programming language.
-- весьма любопытно !!!

DRAKON

Язык, разработанный для проекта космического корабля Буран.
https://ru.wikipedia.org/wiki/ДРАКОН

EICASLAB

EICASLAB - это программный комплекс, предоставляющий лабораторию для автоматического проектирования управления и прогнозирования временных рядов.
https://en.wikipedia.org/wiki/EICASLAB

Etoys

Графический скриптовый язык программирования

Executable UML

Исполняемый UML - это и метод разработки программного обеспечения, и язык абстрактного программного обеспечения.

eXpecco

eXpecco, основанный на потоках графический язык программирования и среда разработки для автоматизации тестирования.
https://doc.expecco.de/wiki2.x/Expecco_Overview/en

Fabrik

Fabrik is a visual programming integrated development environment implemented in Smalltalk
https://en.wikipedia.org/wiki/Fabrik_(software)

Flowcode

Cреда разработки для встроенных устройств на основе технологий PIC, AVR и ARM.

Flowstone DSP

FlowStone uses a combination of graphical and text based programming.

FxEngine Framework

The FxEngine is an Open C++ Framework under LGPL license.
The FxEngine Framework simplifies the plugin architecture for the data flow processing.
It provides a full control to the plugin architecture for applications that require custom solutions.

G

Язык, используемый в LabVIEW

Game Maker

Легкая в использовании среда для разработки игр

Google App Inventor

Средство для создания приложений Google Android, основанный на OpenBlocks и Kawa

GNU Radio Companion

GNU Radio — программный инструментарий, предоставляющий разработчикам программно-определяемых радиосистем «строительные блоки»,
обеспечивающие основные функции цифровой обработки сигналов.
Программы, создаваемые средствами GNU Radio, представлены как графы потока управления и могут использоваться с внешними
устройствами или для создания программных симуляторов. Для программирования можно использовать визуальную среду
GNU Radio Companion или библиотеки на C++ и Python.
https://ru.wikipedia.org/wiki/GNU_Radio

Grasshopper 3D

Grasshopper — это визуальный редактор программирования, разработанный David Rutten для Robert McNeel & Associates;
это графический редактор алгоритмов, который глубоко интегрирован в инструменты моделирования Rhinoceros 3D

Helix

Helix Visual Client (P4V) is a desktop app that provides access to versioned files in Helix Core through a graphical interface.
It includes tools for merging and visualizing code evolution.
-- ???

HiAsm

HiAsm является практическим примером реализации подхода модель-ориентированной архитектуры, также называемого «разработкой от модели».
Значимость данного подхода состоит в абстрагировании от платформ и архитектур поставщиков аппаратного и системного программного (математического) обеспечения.
https://ru.wikipedia.org/wiki/HiAsm
https://hiasm.com/

Illumination Software Creator

Illumination Software Creator - это инструмент для визуального проектирования и разработки программного обеспечения,
а также соответствующий язык визуального программирования, доступный для Microsoft Windows, Linux и Mac OS X.
https://en.wikipedia.org/wiki/... re_Creator

jMax

jMax is a visual programming environment for building interactive real-time music and multimedia applications.
http://jmax.sourceforge.net/

JMCAD

Программный комплекс для моделирования и симуляции (анализа динамики и проектирования) сложных динамических систем.
JMCAD является альтернативой таким программным продуктам, как Simulink, VisSim, МВТУ и др.
Включает в себя редактор структурных схем, библиотеку типовых блоков и встроенный язык программирования,
позволяющие наглядное представление и реализацию моделей различной степени сложности.
Применяется для проектирования систем автоматического управления, следящих приводов и роботов-манипуляторов,
тепловых энергетических установок, а также для решения нестационарных краевых задач (теплопроводность, гидродинамика и др.).
https://ru.wikipedia.org/wiki/JMCAD

Kodu

Программное средство для создания игр с 3D-интерфейсом, разработанный в Microsoft Research

KTechLab

KTechLab — свободная программа с открытым кодом для проектирования и симуляции электрических схем.
-- уместно ???

LabVIEW

LabVIEW — это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments.

Ladder logic

Ladder diagram — язык релейной логики. Применяются также названия: язык релейно-контактной логики,
релейные диаграммы, релейно-контактные схемы, язык программирования релейно-лестничной логики стандарта МЭК 61131-3.
Предназначен для программирования программируемых логических контроллеров.
https://ru.wikipedia.org/wiki/Ladder_diagram

Lava

Lava is an experimental, visual object-oriented, interpreter-based programming language with an associated
programming environment (Lava Programming Environment or LavaPE) that uses structure editors instead of text editors.
Only comments, constants, and new identifiers may be entered as text.

Lily

Lily, a browser based visual programming environment for Firefox/Mozilla.
https://github.com/billorcutt/lily/

Limnor

Limnor - универсальная система кодирования и визуального программирования общего назначения.
Цель состоит в том, чтобы позволить пользователям создавать компьютерные программы без непосредственного кодирования на текстурном языке программирования.
https://en.wikipedia.org/wiki/Limnor

Mama

-- Что-то там, построенное на основе Alice.

Marten

Marten -- Prograph Visual Programming for MacOS X
http://www.andescotia.com/
http://www.andescotia.com/examples/

Max

Переведено с английского языка. - Max, также известный как Max / MSP / Jitter, является языком визуального программирования для музыки и мультимедиа,
разработанным и поддерживаемым компанией Cycling '74, базирующейся в Сан-Франциско.
https://en.wikipedia.org/wiki/Max_(software)

VPL или Microsoft Visual Programming Language

Язык для робототехники, которая является одним из компонентов Microsoft Robotics Studio.

MicroBrew

-- см. AppWare

MiracleC Compiler

среда графического программирования, позволяющая формировать матрицу отношений компонентов платформы
-- ???

Morphic

Графическая система, изначально появившаяся в Self и портированная под Squeak.
Всё, что видно на экране, состоит из интерактивных графических объектов, морфов (morph).
Morphic позволяет модифицировать поведение отдельных морфов (а не целых классов).
Это соответствует идеологии prototype-based programming, принятой в Self.
Специальная команда позволяет вызвать у морфа обрамление (halo), состоящее из кнопок,
используя которые можно интерактивно менять положение и размеры морфа, вызывать инспектор
и другие инструменты программирования, и т.д. Морфы могут встраиваться в другие морфы.

MST Workshop

MST Workshop - это интерактивный язык программирования. Он содержит сотни компонентов,
которые можно перетащить в рабочее пространство и соединить проводами или соединить их вместе.
Рабочая область немедленно решает созданные уравнения и отображает результаты.
Мастерская MST полезна для создания анимации в 2D и 3D.
https://en.wikipedia.org/wiki/MST_Workshop

Nato.0+55+3d

NATO.0+55+3d was an application software for realtime video and graphics,
released by 0f0003 Maschinenkunst and the Netochka Nezvanova collective in 1999 for the classic Mac OS operating system.
https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d

NXT NXT-G

Lego Mindstorms NXT
Визуальный язык программирования для набора робототехники Lego Mindstorms
https://en.wikipedia.org/wiki/... _NXT#NXT-G

OpenAlea.Visualea

OpenAlea.Visualea is an application that allows to use OpenAlea packages and to build dataflow graphically.
https://github.com/openalea/visualea

OpenBlocks

OpenBlocks - an extendable framework for graphical block programming systems
http://dspace.mit.edu/bitstrea... sAllowed=y

OpenDX

OpenDX расшифровывается как Open Data Explorer и является программным обеспечением IBM для визуализации научных данных.
-- ???
https://en.wikipedia.org/wiki/IBM_OpenDX

OpenMusic

OpenMusic — это объектно-ориентированная визуальная среда программирования для композиции, которая основана на языке Common Lisp.
https://ru.wikipedia.org/wiki/OpenMusic

OpenWire

OpenWire is an open-source dataflow programming library that extends the functionality of Embarcadero Delphi and C++ Builder
by providing pin type component properties.
https://en.wikipedia.org/wiki/OpenWire_(library)

OutSystems

Переведено с английского языка:
OutSystems - это платформа с низким кодом, которая предоставляет компаниям инструменты для разработки,
развертывания и управления многоканальными корпоративными приложениями.
https://www.outsystems.com/platform/

Piet

Piet — эзотерический язык программирования, разработанный Давидом Морган-Маром.
Язык Piet использует разноцветные изображения в качестве программ. Программа на Piet выглядит как постживописная абстракция.
https://habr.com/ru/post/313152/
-- хороший пример, как не надо делать...

Pict programming language

Pict is a statically typed programming language, one of the very few based on the π-calculus.
Work on the language began at the University of Edinburgh in 1992,
and development has been more or less dormant since 1998. The language is still at an experimental stage.
https://en.wikipedia.org/wiki/... g_language)

PointDragon

The Point- Dragon platform is currently being used to run large-scale enterprise systems at biotech and ******ceutical companies.
The PointDragon platform implements an object oriented visual programming language (PVPL),
whose syntax and expressive power derives naturally from the underlying EGCD system.
All three elements of the PointDragon platform, the PVPL, the IDE and the run-time platform are naturally integrated by the EGCD.

Prograph

Prograph is a visual, object-oriented, dataflow, multiparadigm programming language
that uses iconic symbols to represent actions to be taken on data.
https://en.wikipedia.org/wiki/Prograph

Ptolemy II

Ptolemy II [1][6] is an open-source software framework supporting experimentation with actor-oriented design.
Actors are software components that execute concurrently and communicate through messages sent via interconnected ports
https://ptolemy.berkeley.edu/ptolemyII/index.htm
-- моделирование

Pure Data

Pure Data, Pd — визуальный язык программирования, работающий в парадигме программирования потоков данных,
разработанный Miller Puckette в 1990-е годы для создания интерактивных компьютерных музыкальных и мультимедийных произведений.
Является свободным аналогом Max/MSP.
https://ru.wikipedia.org/wiki/Pure_Data

PWCT

PWCT is a free open source visual programming language for software development.
https://en.wikipedia.org/wiki/PWCT_(software)

PWGL

PWGL is a free visual language based on Common Lisp, CLOS and OpenGL, specialized in computer aided composition and sound synthesis.
http://www2.siba.fi/PWGL/

Pypes

-- нет материалов?

Quartz Composer

Quartz Composer is a node-based visual programming language provided as part
of the Xcode development environment in macOS for processing and rendering graphical data.
https://en.wikipedia.org/wiki/Quartz_Composer

Quest3D

Quest3D – это готовое комплексное решение для создания 3D интерактивных приложений.
Главной особенностью программы является возможность создавать достаточно сложные 3D приложения без глубоких знаний программирования.
Разработка программ в Quest3d происходит не с помощью классических языков типа С++, а с помощью специальных блок-схем,
которые позволяют сделать код более гибким и наглядным, а также значительно ускоряют процесс разработки приложений.
https://gcup.ru/load/construct... d/2-1-0-40

Reaktor

-- программная среда обработки звука Reaktor от компании Native Instruments ???

Red-R

A visual programming frontend for R similar to Orange Data Mining for Pyhton
(project initiated by Anup Parikh and Kyle Covington). The authors do not maintain the project any more.
https://github.com/aourednik/Red-R

Sanscript

Родная (и единственная) среда разработки языка Sanscript. Разработана Northwoods Software.
В апреле 2000 года была сделана бесплатной, но при этом поддержка разработчиков была прекращена. Написана на C++/MFC.
http://progopedia.ru/implementation/sanscript/

SCADA

-- Общее название кучи инструментов

Scala Multimedia

https://superruzafa.github.io/... reference/
-- Visual Scala ?

Scicos

Scicos - это модельер и симулятор графической динамической системы.
Пользователи могут создавать блок-схемы для моделирования и симуляции динамики
гибридных динамических систем и компилировать эти модели в исполняемый код.
https://en.wikipedia.org/wiki/Scicos
http://www.scicos.org/

Scratch

Программное средство Массачусетского технологического института для детей 7-12 лет
Scratch written in and based on Squeak, a version of Smalltalk.

SFC

Язык последовательных функциональных схем SFC (SequentialFunctionChart) — графический язык программирования,
широко используется для программирования промышленных логических контроллеров PLC.

Simulink

Simulink is a MATLAB-based graphical programming environment for modeling, simulating and analyzing
multidomain dynamical systems. Its primary interface is a graphical block diagramming tool
and a customizable set of block libraries.
https://en.wikipedia.org/wiki/Simulink

Stagecast Creator

Stagecast Creator - это визуальный язык программирования, предназначенный для обучения детей программированию.
https://en.wikipedia.org/wiki/Stagecast_Creator

Snap!

is a free, blocks-based educational graphical programming language and online community aimed at students to explore,
create and re-mix interactive animations, games, stories, and more,
while learning about mathematical and computational ideas.
https://en.wikipedia.org/wiki/... g_language)

SourceBinder

-- ???

Spreadsheets

A spreadsheet is a computer application for organization, analysis and storage of data in tabular form.
https://en.wikipedia.org/wiki/Spreadsheet
-- как-то с натяжкой, но пусть будет...

Stateflow

Stateflow (developed by MathWorks) is a control logic tool used to model reactive systems
via state machines and flow charts within a Simulink model.
https://en.wikipedia.org/wiki/Stateflow

Subtext

Subtext is a moderately visual programming language and environment, for writing application software.
It is an experimental, research attempt to develop a new programming model, called Example Centric Programming,
by treating copied blocks as first class prototypes, for program structure.
It uses live text, similar to what occurs in spreadsheets as users update cells, for frequent feedback.
It is intended to eventually be developed enough to become a practical language for daily use.
It is planned to be open software; the license is not yet determined.
https://en.wikipedia.org/wiki/... g_language)

SynthMaker

SynthMaker - инструмент для программирования звука, который служит для создания ваших собственных инструментов,
звуковых эффектов и звуков, не вводя код
https://www.malavida.com/ru/soft/synthmaker/#gref
-- очередная звучалка...

SynthEdit

SynthEdit - это условно-бесплатное приложение для Windows, которое использует модульный VPL для создания
музыкальных синтезаторов и модулей эффектов. Затем они могут быть скомпилированы как плагины VST для использования в аудио приложениях.
https://en.wikipedia.org/wiki/SynthEdit

Tarpipe

https://qmacro.org/2009/04/21/... amming-20/
-- что это ???

Tersus

The Easy Way to Create Web and Mobile Applications
100% Visual - No Coding, No Scripting
Tersus is a Visual Programming Platform for creating rich web and mobile applications.
Simply draw flow diagrams and Tersus will bring your application to life.
Tersus is open source.
http://www.tersus.com/
--

TestShell

TestShell is an object-based infrastructure and network test-automation framework.
https://help.quali.com/Online%... bt-TSS.htm
-- это точно отсюда?

ThingLab

ThingLab is a visual programming environment implemented in Smalltalk and designed at Xerox PARC by Alan Borning.
https://en.wikipedia.org/wiki/ThingLab

ToonTalk

Система программирования для детей.
https://en.wikipedia.org/wiki/ToonTalk

Thyrd

Thyrd is an experimental, reflective, visual programming language.
https://sourceforge.net/projects/thyrd/

VEE

Keysight VEE is a graphical dataflow programming software development environment from Keysight Technologies for
automated test, measurement, data analysis and reporting.
-- Agilent VEE - одно из названий?
https://en.wikipedia.org/wiki/Keysight_VEE

Virtools

--

VISION / HPC

--

VisPro

Autodesk Softimage VisPro

VisSim

VisSim is a visual block diagram program for simulation of dynamical systems and
model based design of embedded systems, with its own visual language.
https://en.wikipedia.org/wiki/VisSim

Vvvv

is a general purpose toolkit with a special focus on real-time video synthesis and programming
large media environments with physical interfaces, real-time motion graphics, audio and video.
vvvv uses a dataflow approach and a visual programming interface for rapid prototyping and developing.
https://en.wikipedia.org/wiki/Vvvv

WireFusion

--

Vsxu

--

XOD (programming language)
XOD – is an open-source visual programming language for microcontrollers.
https://en.wikipedia.org/wiki/... g_language)
-- Ардуино и Распбери

1
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,825
28.08.2020, 01:11  [ТС]
У человека натренированный глаз - лучше всего он распознает маму с папой, потом квадратики со стрелками и только потом текст. Надо сказать, что текст - это весьма компактное изложение информации. Но компактность - не всегда хорошо, так бы мы без пробелов, красных строк, глав и разделов писали бы романы... Всё-таки лучше структурировать текст в таблицы или как-то иначе. Вот это "иначе" - это и есть то, как мы будем программировать в будущем. А сейчас портянки текста - совершенно мне непонятно застревание в прошлом веке...
Найти команду по трем буквам - это лишь малозначительная часть труда проектирования ПО.

Добавлено через 1 минуту
vantfiles, спасибо за труд!
0
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,825
26.09.2020, 13:50  [ТС]
Сейчас думал-думал и наконец придумал, как объяснить просто ту фичу, которой я пока даю название "аспект".

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

Суть: когда-то удобно рассматривать работу органов, когда-то - систем. В программировании мы обычно формируем объекты - это нечто вроде органов, которые включают в себя разные функции (функции разных систем), т.е. объекты могут выводить на экран, писать в БД, сохранять данные в файл и т.д. Но мы можем поступить по-другому: аккумулировать все однотипные функции в общих объектах. Это тоже удобно: вот у тебя система вывода на экран, система записи в БД и т.д. Я привел пример двух аспектов (точек зрения).Почему так происходит? Почему имеет смысл рассматривать работу кода с разных аспектов? А потому что программист на разных этапах разработки является наблюдателем с разными целями: когда-то ему важно одно, потом ему важно другое.

Я хочу, чтобы программа умела подстраиваться под разных наблюдателей. Для этого нужна система аспектов.

При реализации такой системы совершенно бессмысленно будет говорить, что текстовый код компактные графического, так как система будет отображать не все подряд, а лишь то, что действительно нужно программисту в данный момент.
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
26.09.2020, 19:31
Все эти диаграммные графические языки программирования - это ни разу не прогресс, а такое же топтание на месте, как и текстовые. Потому что на самом деле это те же яйца, просто чуть чуть поменяли способ записи - вся парадигма, структура программного кода остается той же, просто записана (теперь уже нарисована) по другому. Но суть в том, что сама концепция текстового языка программирования фактически давно устарела и должна быть рано или поздно пересмотрена.
А что придет ей на смену? Скорее всего - автоматизированные интеллектуальные системы разработки ПО. Это однозначно будет движение в сторону декларативного подхода - когда человек - заказчик - описывает системе что ему нужно получить, какую функцию проектирования должна выполнять. Описание будет выполняться на языке максимально приближенном к естественному, а не формальному - возможно и с элементами графическими и диаграммными, но не ограничиваясь ими. Далее интеллектуальная система в диалоговом режиме будет выяснять оставшиеся недоформулированные человеком моменти, и в конечном итоге выдаст готовый программный продукт, решающий поставленную задачу.
На данный момент состояние в отрасли таково, что 99% всех решаемых задач может быть покрыто такой системой, поскольку все они по большому счету типовые. И для разработки подобной интеллектуальной системы уже есть все необходимые компоненты - давно разработаны системы распознавания естественного языка и графических образом, системы извлечения знаний и построения онтологий, экспертные диалоговые системы. Осталось только все это собрать воедино с целью производства ПО.
Т.е. это дело времени, а не принципиальной возможности, которая очевидно есть.
0
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,825
26.09.2020, 20:30  [ТС]
Катафалк, вы замечательно мыслите!
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
27.09.2020, 11:34
Цитата Сообщение от Катафалк Посмотреть сообщение
ни разу не прогресс
"С этой точки зрения в ТРИЗ существует понятие идеальной системы:
Идеальная система – это такая система, которой нет, а функция которой выполняется."

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.09.2020, 11:34

C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|1 5|error: 'InitApplication' was not declared in this scope|
//================================================================================================= #include "IDE.hpp"...

C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|3 9|undefined reference to `GetStockObject@4'|
C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|39|undefined reference to `GetStockObject@4'|

Подскажите пожалуйста IDE для линукса (например, для кали-линукса) для новичка для обучения программированию на си++
Сейчас обучаюсь стандарту си++ 2011. Подскажите новичку, чего выбрать? Есть небольшой опыт работы в qt, в линуксе ничего еще не умею делать.

Версионность: подходы, решения.
Существуют разные подходы к учету версий создаваемого ПО. У какого какие преимущества? А самое главное, как правильней организовать эту...

2-ух, 3-ёх уровневый подходы к проектировнаию БД
Что такое 2-ух, 3-ёх уровневый подходы к проектировнаию БД? Добавлено через 4 часа 58 минут Извиняюсь, неужели ни кто не знает ответ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru