|
I had to study it in a course at the University. It is definetely useful in a number of applications (automotive with ASIL and ISO26262 risk assessment in my case) and it won't kill the programmers' jobs as those systems (the compilers) need a freaking huge amount of maintenance since they must be spots-free.
The code is self-documented and standardized, in many situations it's more than enough. I prefer algorithmic research or low level bloodbaths so I'm not that interested in these technologies but they're a very good idea.
DURA LEX, SED LEX
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
When I was six, there were no ones and zeroes - only zeroes. And not all of them worked. -- Ravi Bhavnani
|
|
|
|
|
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++.
|
|
|
|
|
RichardGrimmer wrote: drop me a pm and we can discuss it further...
Done!
Marc
|
|
|
|
|
Nothing nicer that "a little new girlfriend".
|
|
|
|
|
|
|
Biovia (part of Dassault) have a commercial product called Pipeline Pilot - is that the kind of thing? BIOVIA Pipeline Pilot | Scientific Workflow Authoring Application for Data Analysis[^]
There is an open-source thing called knime KNIME[^] which has a similar function.
A long time ago, Silicon Graphics had a graphical drag-and-drop programming tool that allowed users to connect componentized code together . . . Explorer I think (that hints at how long ago it was - I don't recall it being a name-clash).
Treading on the toes of giants . . .
|
|
|
|
|
Interesting links! I'll dig into those some more, wish they had some screenshots (wasn't obvious if they do.)
Marc
|
|
|
|
|
Ever used SSIS?
(It's dreadful.)
|
|
|
|
|
|
Haven't seen Macromedia / Adobe Authorware mentioned yet. It was (is?) a somewhat useful (for some purposes) version of what you're proposing.
The screen looked like this.
It was an interpreted language without strong types, and kinda verbose and scripty and encouraging of poor practices, but the flowcharting was actually quite well designed. These observations come from 20 years ago, mind.
|
|
|
|
|
1. Take scratch
2. Remove most of the kid-friendly shiny colors
3. Remove the cat mascot
4. Your idea fulfilled
We are talking a gaphical programming environment here, are we?
|
|
|
|
|
Isn't this a bit like Unreal 4's Blueprint?
|
|
|
|
|
Flowcode started out like this: a graphical programming environment for embedded software that relies mainly on flow diagrams and assembles them into C, PIC assembly code and hex for direct porting to a PIC microcontroller. It's been extended since to cover the hardware components of the design.
The problem I find with Flowcode is that as soon as the design gets at all complicated the flow diagram becomes unwieldy.
Peter
|
|
|
|
|
Sometime in the early 90's (before Windows was widely used) I once had a dream wherein I was installing a program. The thing is the program came in a bottle and all I had to do was pour it into a tank that the computer had. Liquid programs. I have no idea how it was supposed to work but I kinda get the idea that "shake well before using" probably wouldn't be too good for the program. Not that pouring it from one container to another would help to keep the bits in any kind of order either. I gotta figure the uninstall would be really weird.
|
|
|
|
|
|
As someone else mentioned, there is a language called scratch, developed at MIT, intended to teach kids programming.
Also, there's a fantastic thing for kids called First Lego League. Kids program a robot, using a visual language called Mindstorms. Along the way, the kids are encouraged to learn about teamwork and to develop a set of core values, one of which is "Have Fun".
|
|
|
|
|
Yeah, I just go ahead and implement it. The difficult gets done immediately, the impossible just takes a tad longer.
|
|
|
|
|
Are you describing something similar to LabView? A kind of flow chart programming system that has been around a long time.
|
|
|
|
|
|
LabView does something very similar to this by "wiring up" code modules.
|
|
|
|
|
It was done 50 years ago - a programming language called AMBIT/G.
- Dennis
|
|
|
|
|
"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?"
|
|
|
|
|
This is the most bizarre thing I've ever come across clicky[^]
|
|
|
|
|
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)
|
|
|
|