Is Dynamo the new API?
I don’t think the API programmers should get scared just yet, but is there a day coming when visual programming will completely replace custom code? Julien seems to think so:
“I firmly believe Dynamo could be used for many many purposes, and addin-like behavior is one…
Definitions are easy to share and update. Users can tune them with only some basic Dynamo skill. It is not the same with addins. It is a lot of work to manage and deploy. And users will not be able to tune things. Same thing for macros.”
Read more:
API or not API: addins vs Dynamo in Revit | AEC, you and me.
Heads-up: https://twitter.com/Jbenoit44/status/414322858823659520
Discussion
6 archived comments. New comments are not enabled.
They are great for the basics, but for a Macro I can write a Macro that does exactly what I want in a fraction of the time and with more freedom then what Dynamo offers now. The speed is something we can change, specific nodes can replace complex code but it cannot replcae the freedom as soon you touch on a niche that Dynamo can't handle then your either Coding new Nodes for Dynamo in VS, writing a Macro or building an Add-on.
Here is a perfect example, in Dynamo I can write a beam creating node that gets line items from a families and builds structural elements around it in 2 mins. However lets say I wanted to add columns to that, as there is no node for it, a vast amount of time is spent either using existing nodes and getting values or writing a new one(back to Visual Studio). Writing new nodes for Dynamo is harder too, because a programmer has to know dotnet, F#, the Revit API and the Dynamo API in order to create a single node.
I used a program called Quest3D for a while, which is probably one of the best examples of visual programming out there. Quest3D is a real-time programming game engine (so you can code and it updates the views automatically) so you would have nodes for Camera's, models, UI, animations the works, both Grasshopper and Dynamo could benefit alot from the UI features and functions for organisation, but even there you still have to write code for complex elements like shaders very custom animation types and so on, and the more complicated the harder for the standard user to customise. UI's are there for a reason to hide all the crap :)
Visual programming is great, but way to high level for every purpose out there, and when we are customising it's generally because we are doing something very specific.
On the other hand our template generator could not have been done in Dynamo without a huge time investment due to lack of UI nodes, copy notes, open file in background all those sorts of things.
I recommend learning bits of everything and applying the best bits of what a tool/language was designed for to solve the issue at hand.
All programs and languages start of doing one thing really well, then they try to start to do everything else this usually is where the weak spots appear and requires mastery, knowing the easy stuff each tool does allows you to make better choices I think.
Visual programming is less powerful, it is not really coding in fact. but it as a huge potential for at least 50% of us here.
We have a bunch of addins we use every day, addins that we're made by professional consultants. Best ROI so far. But as in the CAD days, when we needed every day some small LISP or like to automate tasks, Dynamo could help.
Some will use definition, some will transform them. some will create them. Like internal open source program.We won't do this with code.
My idea is to provide at the company scale definitions as starting kits to do iterative/automatic stuff. Provide some tutorials, that's all. No code training. It is also because every Revit user that is able to build advanced families is able to learn Dynamo, and get use to it, and like it a lot. Not true with code.
Code is the King, yes. But Kings need servant, Dynamo to serve you ;-).
Julien
I don't see code and API's disappearing, though if you haven't seen this JavaScript example below, it's another great example of Visual Programming tools up & coming.
http://www.kickstarter.com/projects/noflo/noflo-development-environment