Hacker News new | ask | show | jobs
by clappski 3483 days ago
Back when I was studying for my degree, we used visual programming with an application called Max/MSP [1]. Having a quick glance at Skov it looks very similar although Max (and its open source brethren PureData [2]) probably has a much more mature ecosystem (it's been around for quite a long time). I believe you could even program extensions in Java that you could drop in if you needed to have a performant algorithm that wasn't supplied by the 'standard library'.

The main difference is Max and PureData are focussed around creating audio and graphics, but they're both perfectly suitable for general-purpose programming. You could even build quite complex GUIs that were just a shim over the application logic.

However, AFAIK, there wasn't a concept of 'building'/'compiling'. You had to ship your application with the full run time which required a user to make a separate install with no option for a statically built 'fat' executable.

[1] https://cycling74.com/products/max/

[2] https://puredata.info/

1 comments

I used Max/MSP (well, max4live) for a while and I loved it. I especially found that not having to name stuff (variables, functions etc in other languages) quite liberating when experimentally working towards a solution. Once the design solidified, I could go back and name things nicely.

I also found that while Max gets a bad rep for "literal spaghetti code" (I mean, google image search for Max/MSP and what you'll find is a mess), my code really didn't reflect this. I put it down to the fact that most users of Max are musicians and artists and not programmers who have learned basic software engineering principles like abstraction and separation of concerns and whatnot. When you compartmentalism logic into self-contained little blocks, I found the code to be super clear and actually kinda beautiful.

My main complaint with Max is that its data structures are very.. lacking. As far as I remember, you couldn't even do nested lists (or any kind of references), so things like trees and such were out. You basically had their built in types and nothing else.

I'd love to see a visual programming language very similar to Max/MSP but with better support for user-defined types/data structures, unit testing and other basic things lacking from Max but present in modern programming languages (or their tooling).

This was a few years ago though, so perhaps some of these things are now "fixed".