11 ms·
Visual Programming Languages – Snapshots
- eitland 12y agoEverything from Automagic (Android automation package) to Alan Kay demo (from late 60s it seems) to LabVIEW to Alice, Squeak, Automator and a lot I haven't even heard of before.
- jnbiche 12y agoLooking at all these visual programming languages, I'm struck at how complex many of them are. For example, I can almost always understand a recursive Fibonacci generator written in a new procedural or functional language that I've never seen before, yet I struggled to figure out what was happening as some of these visual languages generated the same Fibonacci sequence. Why create that kind of complexity in an effort to avoid text?
- bergie 12y agoBecause generally you'll want to deal with a bit higher-level structures using the visual paradigm. So, a Fibonacci generator should be just a box, not a whole graph. Visual programming can help keeping track of data flows within complex and/or parallel programs.
- arethuza 12y agoI rather like Martin Fowler's view of diagrams being sketches used to communicate rather than blueprints from which to build stuff: "comprehensiveness is the enemy of comprehensibility" I like nice simple diagrams (I joke to colleagues about having a limited budget for boxes and arrows or drawing things in crayon) - having these kinds of things where you try and include everything in your diagram seems to miss the point to me. http://martinfowler.com/bliki/UmlAsSketch.html http://martinfowler.com/bliki/UmlAsSketch.html
- bergie 12y agoYeah, except that in our system the graphs are still executable: http://noflojs.org/ http://noflojs.org/
- arethuza 12y agoSo are your components written directly in a "lower level" language (JavaScript etc.) and then the high level structure relating those components defined in the diagrams?
- bergie 12y agoYep, in NoFlo you write components in JavaScript, though you can also use other diagrams as "subgraph" components. In other environments compatible with the FBP protocol (http://noflojs.org/documentation/protocol/ http://noflojs.org/documentation/protocol/) the components may be written in other languages. For example, MicroFlo components for microcontrollers are C++.
- arethuza 12y agoThanks - that makes sense. I just get a bit nervous with the idea that it makes sense to use a diagram-based representation all the way down the stack.
- bergie 12y agoHere is one example of a project where we used FBP on Node.js, browser, and microcontrollers. The components in the graph you can see there are quite high-level: http://bergie.iki.fi/blog/ingress-table/ http://bergie.iki.fi/blog/ingress-table/
- jayd16 12y agoAt what point does a visual program become low level enough to not just be a architectural whiteboard session?
- epaladin 12y agoThat's an amazingly comprehensive list. Would be great if there was a summary table, or some kind of more organized shorter form view. I'd never heard of Google Web Designer. Looks useful, going to try it out.
- ericHosick 12y ago> That's an amazingly comprehensive list. Thank you. There is so much we could do with this list and would like to add more meta-data. We have someone who spends part of their time finding VPLs and adding them. When we run out of VPLs we can find (and there seem to be so many), we'll try to organize them a little better than alphabetical.
- radicalbyte 12y agoMore discussions from the last time this was posted: https://news.ycombinator.com/item?id=7274674 https://news.ycombinator.com/item?id=7274674
- jmpeax 12y agoWhatever happened to IRIS Explorer by NAG, is it still available?
- zacinbusiness 12y agoI'm excited to see Sikuli on the list this time around (it wasn't there last time). I use Sikuli quite often, and it's basically just Python but with pictures thrown in, so it's really easy to use.
- mdellabitta 12y agoWhy is the Hypercard one a picture of MacOS 6's Control Panel?
- frik 12y agoMore suggestions: * Microsoft InfoPath - form designer, visual "rules" language, http://en.wikipedia.org/wiki/Microsoft_InfoPath http://en.wikipedia.org/wiki/Microsoft_InfoPath , pic: https://cdn.lynda.com/video/130286-219-635215935570714090_540x960_thumb.jpg https://cdn.lynda.com/video/130286-219-635215935570714090_54... * Microsoft SharePoint Designer - visual workflow language, http://en.wikipedia.org/wiki/Microsoft_SharePoint_Designer http://en.wikipedia.org/wiki/Microsoft_SharePoint_Designer , pic: http://i.msdn.microsoft.com/dynimg/IC620514.png http://i.msdn.microsoft.com/dynimg/IC620514.png * Microsoft Powerpoint - visual tweens, timeline, navigation buttons and advanced animation, http://en.wikipedia.org/wiki/Microsoft_PowerPoint http://en.wikipedia.org/wiki/Microsoft_PowerPoint , pic: http://www.brainshark.com/~/media/2012%20Ideas%20Blog%20Images/Bright%20Carbon/animations%203.ashx?h=263&w=450 http://www.brainshark.com/~/media/2012%20Ideas%20Blog%20Imag... * Macromedia/Adobe Flash IDE - visual tweens, timeline and interactive buttons, http://en.wikipedia.org/wiki/Adobe_Flash http://en.wikipedia.org/wiki/Adobe_Flash , pic: http://pad2.whstatic.com/images/thumb/1/17/Make-a-Simple-Animation-in-Macromedia-Flash-Step-5.jpg/670px-Make-a-Simple-Animation-in-Macromedia-Flash-Step-5.jpg http://pad2.whstatic.com/images/thumb/1/17/Make-a-Simple-Ani... * Arena - simulation program - http://www.arenasimulation.com http://www.arenasimulation.com , pic: http://i1.ytimg.com/vi/W_9_bTn2LZE/hqdefault.jpg http://i1.ytimg.com/vi/W_9_bTn2LZE/hqdefault.jpg
- shubb 12y agoTwo more: * FME - a lovely GIS data proccessing language - http://www.safe.com http://www.safe.com * IEC_61131-3 - the main way of programming industrial controller devices - http://en.wikipedia.org/wiki/IEC_61131-3 http://en.wikipedia.org/wiki/IEC_61131-3
- Silhouette 12y agoMany ideas from Bret Victor also seem relevant, such as his recent talk on drawing dynamic visualizations: http://worrydream.com/#!/DrawingDynamicVisualizationsTalk http://worrydream.com/#!/DrawingDynamicVisualizationsTalk
- protomyth 12y agoFrom Microsoft, wouldn't BizTalk qualify?
- rbanffy 12y agoIt's close to the end of the list, but it's worth hearing more about Scheme Bricks and the music people do with it. http://www.pawfal.org/dave/blog/2013/05/algorave-practice/ http://www.pawfal.org/dave/blog/2013/05/algorave-practice/
- bhouston 12y agoVery neat. I found a bug. What is listed as "Foundry Modo" is actually a different product called Katana by The Foundry.
- VladimirGolovin 12y agoShameless plug: Filter Forge, http://www.filterforge.com http://www.filterforge.com We even added (limited) loops and recursion in v4.0: http://www.filterforge.com/features/version4/loops-and-recursions.html http://www.filterforge.com/features/version4/loops-and-recur...
- jerf 12y agoI'm glad this is still being updated. When people announce loudly that visual programming is the future, I'm often one being skeptical, and one of the points I try to make is that it's not a new idea. Not only has it been tried, it's been comprehensively tried, in multitudes of domains and variations. If you think this is the solution, you really ought to spend time studying what has already been tried. This make that point a lot easier, and makes it a lot easier to find the things to study. If nothing else, this screenshot display ought to put to rest the idea that visual programming makes programming "intuitive" or "easy to understand".... most of these screenshots are just as opaque at first glance as any block of code is. (And if their secrets are revealed once you learn the language and understand what is being said... well, that's true of code, too, you know...)
- radiorental 12y agoVisual versus Text are just means to an end. What matters is how you apply the given form within a method or process. A nice example of where hand code struggled and a visual language within the constructs of a formal method succeeded is the V22 Osprey compared to the BA609 Tiltrotor. The Navy struggles to maintain the V22 and the vehicle has a total of around 40 deaths attributed to it. While the BA609 has far fewer operational hours, it also is more rigorously tested. http://www.mathworks.com/videos/bell-helicopter-ensures-a-flawless-first-flight-78718.html http://www.mathworks.com/videos/bell-helicopter-ensures-a-fl... There are other notable examples of Model Based Design being more appropriate for large complex, mission critical, systems; Toyota's Prius, Curiosity, Dreamliner, etc.
- ericHosick 12y ago> I'm glad this is still being updated. We are too. There are a lot of languages out there and as we find them we add them (we have someone who is searching and adding them). > If nothing else, this screenshot display ought to put to rest the idea that visual programming makes programming "intuitive" or "easy to understand".... most of these screenshots are just as opaque at first glance as any block of code is. I'm not sure if I totally agree with your conclusion of what the VPL - Snapshot page is bringing to the table. I think this page shows that there are many different ways people form mental models. Not only in the domain of textual languages but even within the domain of Visual languages. The intuitive or easy part comes from people being able to program a computer using the mental models they are most comfortable with. As for VPLs being tried comprehensively, I think this is true in the case of domain specific VPLs and I think they are becoming more and more main stream. For general purpose, domain agnostic VPLs, I don't think we've even touched the surface.
- mpg33 12y agoNo one has figured it out...yet..
- Rusky 12y agoAlso very interesting: http://www.subtext-lang.org/ http://www.subtext-lang.org/ Schematic tables in particular are a novel interface that is really interesting.
- zwieback 12y agoWow, I had no idea how many of these exist(ed). Also, thanking my lucky star that I don't have to use any of them. Bad memories of LabView and HP Vee.
- Permit 12y agoLast time this came up (https://news.ycombinator.com/item?id=7274674 https://news.ycombinator.com/item?id=7274674) I had been working on a sort of hybrid between visual programming languages and the traditional "text in files" approach most people have been using for the past few decades. I still think that text seems to be the best way to express exactly what we want out of our programs, but I'm not convinced "text in files" is the right way to go about programming, at least not for all cases. I'm working on Code Connect (http://codeconnect.io http://codeconnect.io) with a friend and we're trying out some of the ideas first demonstrated in Code Bubbles. Instead of working with files, one works with individual functions. You can see a demo here if you're interested: https://www.youtube.com/watch?v=CuQ8NJOypqs https://www.youtube.com/watch?v=CuQ8NJOypqs We're currently building it for Visual Studio, but we should be branching out into other languages and IDEs shortly after we release.
- dang 12y agoThis is a dupe of https://news.ycombinator.com/item?id=7274674 https://news.ycombinator.com/item?id=7274674. Submitters: please check whether an article has been posted before. In this case, running the title through HN Search returns the above immediately. Once a story has had significant attention on HN, we generally don't allow reposts for about a year.
- lutusp 12y agoJust a suggestion -- have the submission routine search for prior appearances of the offering, especially effective when the URLs are identical. Then diplomatically suggest that the submission might make the submitter look like a craven copycat. :)
- dang 12y agoHN's dupe detection has always been an honor system. We leave it so porous because we want to give the best stories multiple cracks at the bat. Otherwise randomness and churn, especially during peak hours, would bury far too many. Of course, this also makes the dupe detector easy to game, so we ask people not to game it. A small number of reposts is ok. Several users have complained that randomness and churn are still causing many good stories to disappear without a trace. After looking at the data, we agree, and we're working on some experimental solutions for it. If there's one driving idea behind HN, it's optimizing for curiosity, which cares about quality over quantity, so losing any of the best stories is a big (bad) deal.
- lutusp 12y agoNice reply, thank you. Well put.
- ericHosick 12y agoI wrote the blog post but this one and the one you linked to weren't submitted by me nor do I know who they are. I only found out via an analytics spike and asking someone who emailed me some VPL additions that it was submitted again. Sorry it was added twice.
- bjz_ 12y agoThis is a pretty insane example of using Pure Data (http://puredata.info/ http://puredata.info/) to make procedurally generated music for a game: https://www.youtube.com/watch?v=0xr4aL1C24E https://www.youtube.com/watch?v=0xr4aL1C24E