Having to do everything in a GUI is just really tough to do, so I give them props for how good it is, there's no other purely visual programming environment I've tried that is even this usable. I did find the discoverability surprisingly poor when starting out, but after a while I think I now understand the structure and what's possible. But my biggest complaint is it's just soooo slow to do basic things. You have to drag and drop every single little construct, instead of typing "if { } else { }" which takes maybe 5 seconds, you have to drag and arrange and connect like 6 different things which takes at least 20 seconds and a lot more focused dexterity. I also find the freeform spatial layout kind of stressful and dread changing anything, instead of going into a function and editing code or adding a couple of lines of new functionality, you have to drag everything everything else around the page to add space for the extra blocks you want to insert.
I don't want to undersell it, the libraries and building blocks you get in Max are amazing, and the ease of things like working with audio buffers make up for a lot of the painpoints. But I do wish there was a first-class way to connect things together with code instead of the current system, I think it would make iterating much faster and more enjoyable.
what ? no :)
You type `n`, type the name of your object, and press enter. e.g. to create a [trigger b b] your keyboard sequence would be `ntrigger b b<enter>`. Hardly the end of the world
Yes, Max has (had?) a ton of limitations and gotchas, but I don't feel that they're something that couldn't be fixed. Some day, I'd like to try make something Max-like but with what I saw as problems "fixed", but I've never had the time to do it.
> I also find the freeform spatial layout kind of stressful
For me it was the opposite. I found it liberating. I did make very heavy use of abstracting things into smaller components and making sure my visual code didn't look like spaghetti. I loved how clear the flow of my code became.
And so on!
(FWIW Max also has many text-based options like the lower level embedded gen language, and many bridges to higher-level languages like javascript, python, lua for programming at control rate...)
https://docs.cycling74.com/max8/vignettes/keycommands
https://docs.cycling74.com/max8/vignettes/quickref
https://docs.cycling74.com/max8/vignettes/shortcuts
https://docs.cycling74.com/max7/vignettes/javascriptinmax
https://docs.cycling74.com/max8/vignettes/00_N4M_index
https://docs.cycling74.com/max8/vignettes/lua_in_max_topic
https://docs.cycling74.com/max8/vignettes/gen_overview
https://cycling74.com/tools/max-toolbox
http://www.music.mcgill.ca/~ich/classes/mumt402/MaxMSPExtern...
http://www.interactionlab.biz/v2/wp-content/uploads/2010/09/...