---
description: Visual programming is the first step in becoming a proficient coder
---

# 1.1 Why Should I Learn to Code?

#### Dynamo's Simplicity Trade-Off

Using Dynamo is already a form of programming. However, it trades execution speed and functionality for its intuitive, graphical programming interface.

![](https://1200667159-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LqjgCN1whMnYsKXtYmV%2F-Lx6AAeDHIkvlwB6gBo0%2F-Lx6APBIjeS0TfYrL400%2Fimage.png?alt=media\&token=89e6c429-7548-4294-887c-75cc83e224b1)

Dynamo's clean visual interface is useful when first learning how to write programmatic logic and is especially intuitive for visual thinkers and designers.

However, like training wheels on a bicycle these constraints can soon get in the way. Fortunately, they can be transcended! Dynamo can be combined with Python to make the transition to writing your own code as frictionless as possible.

#### The Benefits of Coding

Writing code within Dynamo brings a huge range of benefits that the average Dynamo user doesn't have access to:

* **Speed**: Scripts run many times faster than node equivalents. You will notice a massive jump in speed for more complex operations.
* **Brevity**: You can replace hundreds of nodes with a single Python script node, which means you'll spend more time designing workflows and less time spent reorganising cables!
* **Connectivity**: Python libraries can be used to access web APIs, powerful libraries and other local software (think Excel, Chrome, etc).
* **Full Access to APIs**: Most API functionality does not exist in node form and can only be accessed directly by writing your own scripts.&#x20;
* **Functionality**: Use key programming paradigms that visual programming can't portray, such as looping, complex conditional branching and recursion.

Hopefully the list above sounds appealing to you. If you're new to coding, make sure to check out the next chapter which will introduce Python in a bit more detail.&#x20;
