Hacker News new | past | comments | ask | show | jobs | submit login
Fabrik – A Visual Programming Environment (1988) (msu.ru)
54 points by panic on July 16, 2016 | hide | past | favorite | 17 comments




Experience with Fabrik suggests that a successful visual programming kit requires only three things: Specification of an effective visual and computational interface for each component, interactive access to an interesting (network) library of existing components, and the ability to use and combine these components interactively to build new library components and finished applications.

To maybe get some discussion going: are there any programming kits today that have all three of these attributes?


> are there any programming kits today that have all three of these attributes?

While not a fully visual development environment, I'd say Delphi. I think they got the design right 21 years ago. They struck the right balance between visual and non-visual development and married that to a language (Object Pascal) which had fast compilation, directness, and simplicity while also offering low-level capability.

Chuck Jazdzewski was one of the original Delphi developers. Last year he wrote a series of articles on the early days of Delphi: http://removingalldoubt.com/

It's a shame Object Pascal isn't more widely used. It's a nice language. Maybe Free Pascal (http://www.freepascal.org) and Lazarus (http://www.lazarus-ide.org/) can spread the Pascal gospel.


The articles from Chuck Jazdzewski made my day. I sometimes wonder what the early members of the Delphi team are working on today. Thanks for sharing the link!


Unreal Engine 4's "Blueprint" scripting system is the most impressive visual programming system I've seen. It's easy to ignore for many because it's just some videogame thing, but the editor application is very substantial (as is its compatibility with the textual programming side), and the concepts within pretty general.


I'm sure in the near future someone will take that concept and apply it to the web. For example each node can be a React component.

I've seen some attempts before but they sucked for one reason or another.


I have been doing this for awhile as my side project. I have JavaScript frontend (react) communicating with a rust backend. The rust backend loads Dlls which provide functionality to the JavaScript. The idea is that the graphs will be useful for multiple things by loading different Dlls. For instance, in one case a graph may represent a build system, in another it may represent some logic in a game, and in yet another it may represent some components hooked up to a microcontroller. The backend can also be run as a command line interface and supports a small built-in lisp interpreter allowing developers to automate common tasks or debug.


Nice, can I subscribe follow somewhere if you plan to release it?


I'm still working on Full Metal Jacket: http://web.onetel.com/~hibou/fmj/FMJ.html

If you want to dive in, there are tutorials: http://web.onetel.com/~hibou/fmj/tutorials/TOC.html

Once it's ready, I'll release it, probably on a shared-source licence.



Max is mostly for music applications and installations

https://cycling74.com/products/max/


Function Block Diagram (FBD) programming for PLCs is basically this.


LabVIEW would be one, though I'm by no means a fan of it.



Talend also offers a visual programming environment, and I would rather write code any day. If your programming work is simple, and you don't care about conditionals, logging, or error handling, it makes some tasks easier. The second it doesn't make your task easier, it makes it much harder than programming with code.


Haha, this is very much like Reaktor 6 'blocks', esp. the "user frame" stuff.

https://youtu.be/yl_VXrTET7k


Take a look at Fractalide http://github.com/fractalide/fractalide It uses Nix Expressions to lazily coordinate the building and port linking of components.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: