When I was a kid, I had this battery powered toy train. It wasn't just any train though, this one laid dominoes from its back. It was my favourite toy. But if I'm honest, the TV was more entertaining but I wasn't allowed to watch it on weekdays. So, the train was my regular entertainment on school days. Every day, after school, I would load the dominoes onto the train, then watch it travel across my wooden tiled bedroom floor laying dominoes. I would push one domino down, watch the rest fall, gather all the dominoes and repeat the cycle again. It was bliss.
One day, I came back from school and like clock work, I put down my bag, went to the bucket of dominoes on the floor and started loading the train with them. But this time, something was wrong, I should be watching a train unload dominoes on the ground by now. Instead, I am seeing a train moving across the floor with no dominoes. Nothing was coming out.
I stopped it midway, picked up the train to see what was going on. I did everything I could to try and fix it. I tried shaking it, even smacking it with my hands (that usually works) but no dominoes. Nothing.
Luckily, my dad was home at the time. He was the one person that could always fix everything. Surely, this is not a problem.
He held the train and inspected it. Then he reached into his toolbox and fished out a yellow tube with a black plastic cap. He squeezed the tube and a drop of some transparent liquid fell onto the train. He blew on it, smiled and then handed the train back to me.
In less than five minutes, I was back on the floor watching the train lay dominoes again. But now, I didn't care about the train anymore. My mind was on that magical transparent liquid. It saved me in my time of crisis. What was it's secret ? I intended to study it's power and make it my own.
I went back to my dad's office when he wasn't around and fished out the yellow tube from his toolbox. I needed to know if I could fix my other broken toys with this it's magic. The first patient was a toy car with a crack on it. A dab and the crack disappeared. One of my figurines was cracked because I dropped it, another dab and it's fixed. This was amazing.
While doing my miracle work, I somehow cut myself. It wasn't very deep and since this magical liquid can fix all my toys, I figured it could fix me too. I dabbed it on my cut and I was right, it disappeared. But when I tried to wipe the excess liquid off, my finger got stuck to my shirt. I pulled harder but it wasn't coming off. The harder I did, the more it started to hurt. Was I going to be stuck to my shirt forever ? Why did this miracle liquid betray me ? I needed a higher power to help me.
So, I ran back to my dad and he saw what had happened. By using some water that smelled funny (I found out it was nail polish remover later on), he got my finger back unstuck from my shirt. But, I also got a scolding. Apparently, the miracle liquid I have been running around with is called superglue and it's dangerous when used wrongly. Kids are not supposed to be running around with it. I could have accidentally glued something important shut. He told me I was lucky that it was only a finger.
The superglue is Grasshopper
When I first learnt of Grasshopper, I wanted to use it for everything. I even wanted to manage my personal finances. I know that sounds stupid now, but I really thought it was a good idea at the time.
There's an undeniable allure to Grasshopper that makes it feel limitless. The visual interface and immediate feedback creates a sense of unlimited possibility. But like the superglue, it has limitations. And understanding it is crucial for knowing when to use it.
If the only tool you have is a hammer, you tend to see every problem as a nail — Abraham Maslow
Grasshopper's Top Three Limitations
1. No native collaboration features
Grasshopper scripts are just files. Unlike modern cloud based programs like Microsoft Word or Figma, you cannot have multiple people on the same file at the same time.
This actually means:
No simultaneous editing
No version control beyond just saving a new file each time
It's difficult to track changes across team members
Limited options for review and quality assurance
Even if you find ways around these limitations, they are hacks around the problem. They still don't address the root cause of these problems.
2. No scaling or deployment methods
The speed of building in grasshopper is intoxicating. You can build a complex tool in a quarter of the time it takes with regular text programming. But the trade-off is the difficulty of scaling solutions across teams or organizations.
I have actually written about this in depth in There Is No Such Thing As the Perfect Tool and Why You Should Always Build Scripts With Others in Mind.
Unlike regular software tools, to get someone else to use your script, they need to know Grasshopper. It takes more time and effort to teach someone how to use scripts than simply making a proper tool with text programming for them.
It's also difficult to ensure that everyone has the latest version. Since scripts are just files, it's hard to deploy and update them on people's computers. Even though we can build something quickly in Grasshopper, distributing scripts to others can become more trouble than it's worth.
Grasshopper is bad with large datasets
An advantage to Grasshopper is it's flexibility with data. Just by stringing components together, you can build something useful and powerful. Part of that is because Grasshopper offers very granular control with it's components and makes handle data easy. And this makes the entire scripting experience very inviting. Especially when you compare that to regular text programming.
To achieve this, Grasshopper actually does a lot work in the background. Normally, it's not a problem but all that background work adds up when you have a big dataset. This is where text programming has the advantage. As performant as Grasshopper is, it does not beat the processing speed of conventional text programming. If you have a lot of data to process, it's best to look for efficient ways to handle that rather than letting Grasshopper handle it for you.
Final Thoughts
All that said, Grasshopper is still an invaluable tool. I still use it regularly. The only difference is that I now have a clearer understanding of it's limitations. It's awesome to be excited about using Grasshopper, but it's important to know when not to use it.
Grasshopper is amazing and it solves a lot of problems, just not all of them. Like me as a kid, I was so busy solving everything with superglue that I didn't stop to think if it was even the right tool for the job. Understanding its limitations makes us better at choosing the right tool for each challenge.
Want a examples of where computational design actually helps?
Grab my free guide: A Practical Guide to Applying Computational Design at Work