|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,825
|
|
ЯП, IDE и подходы к программированию в будущем18.08.2020, 18:47. Показов 8382. Ответов 69
Метки нет (Все метки)
Фактически эта тема - продолжение моей же темы, созданной ранее: О более новых парадигмах программирования, чем ООП
В общем я с момента создания той темы освоил еще несколько новых для себя ЯП, немного прокачался в алгебре, компьютерной науке, машинном обучении, системной инженерии и т.п. Мое видение программирования будущего становится все более отчётливым. Итак, что я хочу придумать? По сути, новый ЯП, но тут надо сразу оговориться, что ЯП следует понимать не в узком смысле (привычные правила текстового синтаксиса языка), а в более широком смысле. То есть это должен быть программный продукт, в котором ЯП и IDE сплетаются воедино. Более близко мою идею выражают UML-редакторы. Итак, фактически я хочу, чтобы разработчик создавал модель ПО, а не программу (исходный код). Имея готовую модель ПО, легко можно автоматизировать формирование исходного кода и бинарного кода. Модель ПО - это представление кода, наиболее приспособленное к восприятию человеком. То есть фактически я предлагаю, наконец-то, при разработке ЯП не искать баланс между простотой понимания кода человеком и простотой перевода кода в машинный код, понятный компьютеру. Я считаю, что следует бросить все силы на простоту работы разработчика с кодом. Итак, первая идея - вместо кода разработчик создает модель ПО. Модель ПО должна достаточно точно выражать поведение программы. Но тут надо оговориться, что это не всегда правда. Иногда можно поступиться с этим, и это должно решаться разработчиком. Тут есть несколько хороших идей у меня. Частный случай представления модели ПО - набор последовательно выполняемых инструкций, записанных сверху вниз текстовым языком, не лишён смысла! Обозначать переменные, функции с помощью набора букв латинского алфавита без использования пробелов - это тоже допускается. Но всегда следует думать о более привычных человеку представлениях! Я хочу использовать в качестве элементов синтаксиса языка гораздо более широкий диапазон способов передачи данных (текст и графические примитивы - прямоугольники, окружности, стрелки и т.п., а также положение, размер, цвет, форма, толщина текста и графических примитивов). Ещё при разработке модели ПО разработчик должен иметь возможность быстро обнаруживать (видеть) существенные для него элементы, неважные элементы должны скрываться, а важные выделяться. Здесь у меня тоже имеется некоторое понимание (смутное пока представление). Так вот. Я хочу какое-то накопление идей в этой теме. Есть ли какие-то интересные уже реализованные идеи на этот счет?
0
|
|
| 18.08.2020, 18:47 | |
|
Ответы с готовыми решениями:
69
obj\Debug\IDE.o||In function `Z11OpenProjectv':| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|2 36|undefined reference to `GetOpenFileNam каким образом пожна подключить на мать с 2 IDE выходами и 2 SATA 3 жестких диска IDE и 2 CD-ROM IDE? Новая мать не видит ide ЖД и ide привод, проблема в Sata - Ide контроллере? |
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
|
|||
| 24.08.2020, 18:19 | |||
vantfiles, Как Вы считаете, что займёт меньше времени - написать строку вызова функции или найти нужный кубик в Палитре? Добавлено через 1 минуту Единственное преимущество графических языков - не надо ничего знать, так как как всё выбирается мышкой. Я про это писал уже выше.
0
|
|||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
|
|||
| 24.08.2020, 18:22 | |||
|
Добавлено через 1 минуту
0
|
|||
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,825
|
||
| 25.08.2020, 05:31 [ТС] | ||
|
0
|
||
|
|
|||
| 25.08.2020, 11:30 | |||
|
Но. Квадратик в VPL не обязательно должен означать вызов функции. Достаточно вспомнить тот же Delphi (хотя это и не vpl в чистом виде), один квадратик и полсотни параметров по-умолчанию. Добавлено через 1 минуту Я об этом писал выше - не надо делать простыню квадратиков - можно же делать вложенные схемы.
0
|
|||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
|
|||
| 25.08.2020, 13:30 | |||
|
Например, мне нужна подстрока. Я знаю, что в классе String есть метод Substring. Поэтому я быстро наберу вызов. Теперь заменяем C# на XYZ#, в котором в классе StringOps есть статический метод GetPartOfString. Тут мне проще будет через меню квадратик выбрать (так как я даже примерно не представляю, что нужно вводить). Это общий принцип для любых (почти?) задач. Сначала ты ничего не знаешь, и тебе удобнее кликать команды мышкой в меню. А затем тебе уже проще набрать команду в cmd или подправить config в текстовом редакторе или файл разметки (и т.п.), чем искать нужные команды в интерфейсе. Добавлено через 13 минут То же самое и с экранными формами для ввода/редактирования чего-либо. Начальник отдела говорит: "здесь должен быть выпадающий список, чтобы я мог кликнуть и выбрать нужный вариант". Оператор говорит: "только, пожалуйста, никаких выпадающих списков!!! сделайте текстовое поле, чтобы я сразу мог вводить и автокомплит, если значение однозначно определяется по уже введённым буквам... ну и горячую клавишу для отображения списка (отфильтрованного по введённым буквам) на случай, если я вдруг забыл название".
0
|
|||
|
|
||
| 25.08.2020, 16:48 | ||
|
Добавлено через 17 минут Вот, кстати, еще пример - искусственные нейронные сети. Имхо нарисовать произвольную структуру гораздо проще, чем описать ее текстом. Добавлено через 3 минуты Кстати, сюда же идут и электронные схемы - попробуйте для целей моделирования описать текстом ну скажем ZX Spectrum.
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
|
|||||||
| 25.08.2020, 18:52 | |||||||
|
Например, текст будет представлять из себя список деталей и список связей (соединений) между ними. Как детали, так и связи имеют тип и другие свойства. Сложная деталь - это готовый компонент из сторонней библиотеки. Это при условии, что детали не имеют фиксированных координат (что имхо, как я уже писал, является обязательным условием для нормального графического интерфейса). Да, есть какая-то магия, которая вычисляет координаты и размеры элементов интерфейса, но это забота тех, кто будет разметку в картинку на экране превращать. Причём, разметка не обязательно должна быть xml и т.п. Это может быть, например, json или даже алгебраический тип данных Контейнер, который содержит упорядоченный список Контейнеров и/или Компонентов. Добавлено через 11 минут Вот, например, код разметки для картинки часов с тремя стрелками (стрелки двигаются, как положено):
0
|
|||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||
| 25.08.2020, 20:01 | ||
|
Чё-т для описания архитектуры для FPGA, например, используют текстовые языки, а не схемы.
0
|
||
|
|
|||
| 26.08.2020, 09:54 | |||
|
В акаде тоже можно все отрисовывать на автолиспе, но кто ж так делает? Добавлено через 8 минут
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 | ||
|
0
|
||
|
|
||
| 27.08.2020, 12:22 | ||
![]() Добавлено через 1 минуту На самом деле, истина должна быть где-то между.
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,911
|
||
| 27.08.2020, 13:23 | ||
|
Например, среднему пользователю удобнее администрировать винду через графический интерфейс. А тому, кто знает наизусть все команды, названия служб и т.д., проще набрать команду в консоли (или в PowerShell консоли, где есть автокомплит и дополнительные навороты).
0
|
||
|
|
|
| 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
|
|
|
|
||
| 27.09.2020, 11:34 | ||
|
Идеальная система – это такая система, которой нет, а функция которой выполняется."
0
|
||
| 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| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|3 9|undefined reference to `GetStockObject@4'| Подскажите пожалуйста IDE для линукса (например, для кали-линукса) для новичка для обучения программированию на си++ Версионность: подходы, решения. 2-ух, 3-ёх уровневый подходы к проектировнаию БД Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|