Design Script or Python...Which one?

Hi all¡¡¡

I´m starting in this new world of Dynamo and It is amazing…Actually I don´t have much time and I will like to learn Design Script or Phyton to help me with the Dynamo definitions…Wich one is going to help faster to get the definition that I need? I have find many webpages to learn Phyton but for Design Scrip of Dynamo there is only the pdf file that is uploaded in the webpage of dynamobim…What do u think? I´m into a big project and I need to get quicly results, maybe Design Script is easier, but there is not so much documentation about it. Phyton looks harder, but I can laarn it in many places but I don´t know how many time is going to take…

Thanks in advice

1 Like

It really depends on how far you want delve into the Dynamo/Revit environment. With Python, it’s a more widely used language which will give you transferable skills (Grasshopper and a myriad of other programs also use it whereas DesignScript is Dynamo-specific). You can also tap into the Revit API which DesignScript currently can’t do. Python is also a lot more mature than DesignScript but of course, as a much broader language the learning curve is going to be steeper.

To answer your question is a bit difficult really because it depends on many factors, but to frame it in a pragmatic way I would say:

  1. If you’re anArchitect or Engineer and have no intention of changing career or specialising in computation or app development, DesignScript will do everything you would ever need to do (just)
  2. If you’re looking to specialise in computation, programming, app development etc, then I would go with Python

Having said that, documentation for DS is pretty sparse so some coding experience would be needed to pick it up quickly, but then this forum is highly active with some very experienced contributors who I’m sure would be able to help if you get stuck. The main thing with either choice is enthusiasm (and good problem solving skills!)


I would go with Python over DS for a simple reason of it being a very incomplete and software specific language. You won’t be able to use DS anywhere else other than Dynamo for a long time while Python skills will serve you well everywhere else.


At the outset, I must confess I’m a huge advocate of Design Script.

I mostly use Dynamo sandbox and don’t look at it as being software specific (disagree with Konrad there) and look at it mostly as a design tool.
Sure hope that in future a Revit installation wouldn’t be required to utilize Dynamo and Design Script.

Ironically, if one is looking to extend Revit and work on the API, seems like Python is the way to go (not a very informed observation though, as I’m unfamiliar with Python)

As a designer, with absolutely no prior programming background, I’d say I find Design Script to be fascinating and I’m quite sure I wouldn’t have managed to use Python in the ways I use Design Script.

In conclusion, I’d say, if you have to learn any one, the choice would depend on the immediate task and should consider Thomas’ two ‘pragmatic’ points above as very good advice.


@Vikram_Subbaiah yeah I can see why you would recommend DS over Python, but with all due respect I would recommend that now that you are familiar with DS, go and try other things like C# and Python. Come back to this conversation in a month or so and you will see why I say that DS is software specific and incomplete. :slight_smile:

I have been using Python with Rhino, Grasshopper, Revit and Dynamo while DS only exists in Dynamo. Support for DS is non existing, there is no Stack Overflow or a forum - again, other than Dynamo - that you can ask DS questions. It’s pretty clear to me that DS is not a language that I would recommend to anyone. It has potential, of course, but at the moment it looks like another unfinished brainchild of Robert Aish and Autodesk and that combo just doesn’t have a good history of delivering stable and reliable products. Just saying.


@Konrad_K_Sobon I assumed your software specific referred to Revit, hence the comment :smile:

To take the discussion further, C# and Python might be better and more versatile. I’ll take your advice and renew attempts to learn them, but to me, it doesn’t diminish the fact that Design Script is good for architects / designers.

Call me retarded :slight_smile: , but I’ve made attempts at learning C# and Python before Design Script. Never managed to put the little acquired knowledge to any creative use though. With Design script I manage to code design intent.

This ‘unfinished’ tool has managed to sustain my interest and confidence for a few years now. It sure is a work in progress, but it does seem to be progressing.

Also, to clarify, I’m not recommending Design Script over Python. Just saying that it wouldn’t be a wasted effort.

1 Like

@Vikram_Subbaiah oh for sure no wasted effort. I am just trying to stay one step ahead of someone’s development curve. You can only do some much with DS and after a while you will want to move on to other things…or not. It’s of course a programming language and learning it has its benefits like understanding of syntax for example. These are all transferable skills that apply to all languages.


I started using Dynamo about a year ago with no prior programming knowledge. Obviously I ran into some walls back then and with the DS tutorials being partically non-existent I started learning Python. As you say there’s a wealth of knowledge from other people to learn about Python on the web. Also when you compare DS syntax to Python syntax I’d say that Python feels more natural than DS. When you compare some simple stuff like if-statements and for-loops between the 2 languages I’d say that Python is easier to comprehend.
As I learned more Python I also learned more programming basics and with that Dynamo itself became easier as well. Finding out that Dynamo has a lot of those basics in OOTB nodes available. I just learned knowing what to look for in Dynamo because of my Python programming knowledge.

Maybe learning Python takes a bit longer than learning DS because the scope of DS is a lot smaller, but in the long run learning Python will probably help you more.


Thanks for all of you, it has been a very interesting topic…I don´t know what to do…maybe I gonna try both, and I will see by my own advantages and disadvantages of each one…

Thanks everybody so much

1 Like

There are a lot of people using Dynamo that come from an AutoCAD background who have learnt Visual Basic or c#. It’s a shame that Dynamo doesn’t support those languages and uses Python.

Learn Python and will be much happier in the long run. Python is well-known for readability and ease of getting started. IMO the major issue to learn Python in Dynamo is Dynamo’s Python node. You may want to use other available editors (PyCharm, Sublime, AtomEditor, etc.) to write the code and use Python Script From String to execute the code in Dynamo.


I suspect some of the prejudices (irrespective of which side one takes) are superficial and on account of a degree of ignorance.

Actually, it really boils down to the objective / task and choosing the right tool/s.

Again, I found this response above to be apt…


1 Like

Picasso didn’t use a single brush did he? the more you have to choose from, the better


:slight_smile: i like this answer

To add my 2 cents; definitely Python is the go.

I find DesignScript very unintuitive to use and the syntax seems to be in a bizarre world of its own.

With Python, if you decide to later move on to another programming language like C#, it will be much easier as the principles are the same and the syntax isn’t that much different.

It really depends on what you want to do, I prefer Python over design script, but prefer C# over Python, but they are all just tools to get the job done, however, just like workshop tools, some take a little more understanding and effort to master and use effectively but will give you a better product in the end. It’s a little like Dynamo vs developing add-ins for Revit, Dynamo is awesome and I use it for most things, however, I use Visual Studio for where Dynamo is less suited, neither is better, just better suited to what I am trying to achieve. Like Paulo aptly pointed out, Picasso didn’t just use one brush, and a carpenter doesn’t just use a wood chisel. :wink:


Problem with Python is the way it is implemented in Dynamo. It requires a specific version to be nominated which may not be installed. Best to avoid if possible.

@Antony_Mcphee that required specific version gets installed with Dynamo. so unless you went out on a limb and upgraded, i believe everything was working just fine.

There is an outstanding request with Dynamo developers to upgrade to IronPython 2.7.6 if I am not mistaken.


Just seems a strange way to do things . . . old code has to be reworked just because there is a newer version of the language. Bit like books becoming unreadable because a new dictionary is published.

1 Like