Have you ever come up with a programming idea so bizarre...
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
LabView does something very similar to this by "wiring up" code modules.
-
Yes now you mention it, Scratch on the Raspberry PI!
Marc's invention just had me thinking of that.
Follow my adventures with .NET Core at my new blog, Erisia Information Services.
-
Yes, Yes I have, and I've also implemented it...(assuming what you're aiming for is drag n drop coding on a "design surface".... I used the VS DSL Tools SKD (now part of the visualisation and modelling SDK) to provide a tool which allowed the user to drag n drop a table / view / sp etc from Server Explorer's Sql server node, which generated all the Data Access code you'd need, then allowed dragging various UI "types" from the toolbox (List view / editor view / list & detail view). Once you'd got it how you wanted it, you right-clicked and selected "Generate Code". This then popped up a dialog which asked you how you wanted the code generated (new project in the existing sln, new sln, add to existing projects)....I was working on allowing actual proper code (i.e. business logic rather than boilerplate) when I lost interest a little (new girlfriend - nuff said ;) ), but by a strange coincidence, I'm revisiting it as a private project right now - if you're interested, drop me a pm and we can discuss it further....
C# has already designed away most of the tedium of C++.
Nothing nicer that "a little new girlfriend". :laugh:
Follow my adventures with .NET Core at my new blog, Erisia Information Services.
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
If you wait around long enough you'll see the same concepts "reinvented" every few years or so, just in whatever flavor happens to be in vogue at the time. This particular idea is one I've seen over and over, in various flavors. Probably the most sophisticated one I've actually used is Microsoft's WF, an alternative to their hideously expensive BizTalk product's orchestrations, running on Windows Server AppFabric. There, the base units are Activity objects, which themselves may be composed of other Activity objects. All activities have code to surface properties and functionality, but once an activity is coded, the visual designer may be used to simply drag and drop and connect these activities, setting values on properties, without even being aware of their underlying code. A quick search reveals a bunch of relatively recent implementations of visual "programming" tools for IoT devices: Visual Programming Guide | 2016 Overview of Available Languages and Software Tools[^] So, yeah, the concept is not new.
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
If you wait around long enough you'll see the same concepts "reinvented" every few years or so, just in whatever flavor happens to be in vogue at the time. This particular idea is one I've seen over and over, in various flavors. Probably the most sophisticated one I've actually used is Microsoft's WF, an alternative to their hideously expensive BizTalk product's orchestrations, running on Windows Server AppFabric. There, the base units are Activity objects, which themselves may be composed of other Activity objects. All activities have code to surface properties and functionality, but once an activity is coded, the visual designer may be used to simply drag and drop and connect these activities, setting values on properties, without even being aware of their underlying code. A quick search reveals a bunch of relatively recent implementations of visual "programming" tools for IoT devices: Visual Programming Guide | 2016 Overview of Available Languages and Software Tools[^] So, yeah, the concept is not new.
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
If you wait around long enough you'll see the same concepts "reinvented" every few years or so, just in whatever flavor happens to be in vogue at the time. This particular idea is one I've seen over and over, in various flavors. Probably the most sophisticated one I've actually used is Microsoft's WF, an alternative to their hideously expensive BizTalk product's orchestrations, running on Windows Server AppFabric. There, the base units are Activity objects, which themselves may be composed of other Activity objects. All activities have code to surface properties and functionality, but once an activity is coded, the visual designer may be used to simply drag and drop and connect these activities, setting values on properties, without even being aware of their underlying code. A quick search reveals a bunch of relatively recent implementations of visual "programming" tools for IoT devices: http://www.postscapes.com/iot-visual-programming-tools So, yeah, the concept is not new.
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
If you wait around long enough you'll see the same concepts "reinvented" every few years or so, just in whatever flavor happens to be in vogue at the time. This particular idea is one I've seen over and over, in various flavors. Probably the most sophisticated one I've actually used is Microsoft's WF, an alternative to their hideously expensive BizTalk product's orchestrations, running on Windows Server AppFabric. There, the base units are Activity objects, which themselves may be composed of other Activity objects. All activities have code to surface properties and functionality, but once an activity is coded, the visual designer may be used to simply drag and drop and connect these activities, setting values on properties, without even being aware of their underlying code. A quick search reveals a bunch of relatively recent implementations of visual "programming" tools for IoT devices: http://www.postscapes.com/iot-visual-programming-tools So, yeah, the concept is not new.
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
If you wait around long enough you'll see the same concepts "invented" every few years or so, just in whatever flavor happens to be in vogue at the time. This particular idea is one I've seen over and over, in various flavors. Probably the most sophisticated one I've actually used is Microsoft's WF, an alternative to their hideously expensive BizTalk product's orchestrations, running on Windows Server AppFabric. There, the base units are Activity objects, which themselves may be composed of other Activity objects. All activities have code to surface properties and functionality, but once an activity is coded, the visual designer may be used to simply drag and drop and connect these activities, setting values on properties, without even being aware of their underlying code. A quick search reveals a bunch of relatively recent implementations of visual "programming" tools for IoT devices: http://www.postscapes.com/iot-visual-programming-tools So, yeah, the concept is not new.
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
I've seen this sort of thing before, 30+ years ago, in the 80's. Borland had something 20+ years ago in the 90's. Microsoft, I believe, tried something like that about 10 years later. It was a grand idea but didn't go anywhere. It might today given different toolsets and performance gains and the right execution.
#SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
Unleash the inner mad scientist. On the original PlayStation, there was a game called Carnage Heart with a tile programming system for making robots fight. Graphical representation is valuable for many reasons. Some people generate UML from code, others generate code from UML. The value I see with what you're doing there is maybe a way to enforce a sanity check on code and graphically show why it may be broken or sub-optimal. "You clearly triangled when you should have pancaked." I would never want to get caught up in fidgeting with shapes and lines to make my code work. But I'll fidget with my code to make the shapes and lines work if graphical representation shows me I'm painting a Picasso when I've intended Rembrandt.
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
"because it's probably never been done before" As people here have noted "it HAS been done before". Labview (1986) Borland Object Vision (1990) Scratch (2002) And many others ... The real question is "Why do these non-verbal programming tools never take off?". And: "Why can't I program in Emojis?"
-
"because it's probably never been done before" As people here have noted "it HAS been done before". Labview (1986) Borland Object Vision (1990) Scratch (2002) And many others ... The real question is "Why do these non-verbal programming tools never take off?". And: "Why can't I program in Emojis?"
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
I may be missing something, but what is the difference to UML tools like RationalRose, or EnterpriseArchitect, that can both generate code from diagrams and diagrams from code? Also, Eclipse has a built-in UML editor/generator that works great for Java (not so great for C++) List of Unified Modeling Language tools - Wikipedia[^]
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Google made a similar tool for developing Java apps on android a few years ago called "App Inventor". This looks quite a bit like that did. It was indeed abandoned by Google.
"There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
A company called Steeplechase Software (the name has been changed since they were bought out by another company) actually compiled code from a flow diagram. The diagram was used to define the control flow for Programmable Logic Controllers. Someone who understood Ladder Logic but had no idea about programming could actually get the code generated by his flow diagram. The idea was to replace several Programmable Logic Controllers with a PC. The company could convince major automobile manufacturers to buy the product. So there goes the average programmer's belief that only they could write industrial-strength code.
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
As others have pointed out - and as you surmised - graphical/diagramatical/flow programming isn't anything new, and has been tried in many variations in the past - and present. But don't let that stop you; maybe you'll come up with a new concept or way to get around certain issues all of those have suffered from. Way back at the beginning of Java - before it was popular and widely used - there was a graphical language for it, called (IIRC) "Java Beans" - which had nothing to do with what are today known as "Java Beans"! Basically, various nodes each contained executable code, and parameters and i/o were passed via links between nodes. Another long-lived and widely used system of a similar nature is LabView. Someone else mentioned Simulink. There's also Max - aimed at musicians: Max (software) - Wikipedia[^] Octoblu is in IoT platform by Citrix [^] that has it's own drag-and-drop, connect the nodes, add code, etc - designer software. It's actually pretty amazing (before they were acquired by Citrix, they were a startup here in the Phoenix area hacking on this stuff). So all I can say is have fun with this! And to answer your direct question, yes, there have been similar times for myself - and probably every software developer - where an idea was come up with that was seemingly outlandish or crazy, but needed to be tried. Heck, I would imagine that's how many of the breakthroughs are accomplished. Good luck with your project!
-
...that you have no idea whether the concept is viable, let alone how to implement the concept because it's probably never been done before? Like this[^]. (Sorry for the clicky to my blog, but it's the easiest way to show you all a screenshot.) Now, in some ways, I can't imagine this hasn't been tried (and probably abandoned) but I am definitely having fun exploring the marriage of not-really-flowcharting code diagramming with highly component-ized code. The diagramming concepts (creating small "functional" components graphically represented in some way) should be applicable to just about any other language as well. I can already see how this could be used with Javascript, Python, etc., and with some interesting "intelligence" to glue the code together into applications. I even have a simple static page web-server that runs "written" in this style. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
It's referred to as "Visual Programming". Many such variants have been made since the 60s. From my personal experience I use this one a lot: Dynamo[^]. Most of its "nodes" (called tiles) are pre-made actions compiled from C# source. But it also allows tiles containing either IronPython or DesignScript (a C#-like language running as a script). E.g. Code Block- Function - DesignScript - Dynamo[^] and Topic: Python script adjustment to obtain iterative output | Dynamo BIM[^]