Visual programming 4
Introduction to Grasshopper
Last updated
Introduction to Grasshopper
Last updated
We can represent composite expressions in a graphical way through Graphs of components and wires instead of text (typical of general programming languages). The main benefit of this approach to computing is that it facilitates learning by easing the difficulty of getting acquainted with programming languages; primarily unfamiliar syntax. It is thus extremely approachable for computing beginners.
The beauty of visual programming diagrams is in their automatic propagation of data changes. Whenever a value is modified, a notification is sent forward to all connected components to recompute themselves. This is amazing in the sense of automation i.e. re-computation is automatic, but also because it allow us to observe step by step the flow of information without having to execute the entire program while crossing our fingers the result will be as expected.
To appreciate the benefits and limitations of this paradigm of computing we need to proceed to applications and progressively understand the reasons why this approach is popular with designers today, but also stumble upon the challenges motivating the introduction to conventional programming languages.
Further References
Grasshopper may appear to be rather esoteric as a programming environment. However, Visual Programming Languages (VPL) have been used extensively in specific domains for some time. Some of the earliest VPLs which continue to be popular today include and , which are geared towards use for laboratory instrumentation and music synthesis/production respectively. In fact, the paradigm of wires connected to black-boxes directly reflects early analogue equipment e.g. patch-cord wires were used to connect synthesizers for audio production.
Similar to Rhinoceros/Grasshopper, software today are increasingly integrating Visual Programming Environments to make it more accessible for end-users to program custom functionality. Some examples include for game development and for animation.
There are numerous resources online for learning more about Grasshopper. While the blog will cover all technical content and concepts necessary for completing the assignments/projects, interested students may refer to the official grasshopper website’s , which answers commonly asked questions.