What is the best language to learn while developing Revit API scripts?

Which language program is better between C# and Pythom to develop Revit APIs? Why?

As far as my knowledge goes (not that much thought), Revit API is built in C# (someone correct me if I’m wrong). In RevitAPIDocs all the examples are in C# or VB, so it would be a logical language to prefer. With this said, Python’s syntax is simpler than C#'s, easier to learn and for most cases better and faster to code than C#, considering it doesn’t need to be compiled and variable types don’t need to be specifically declared.

From my point of view:

  • Use python for particular tasks, which won’t necessary be reused in the future on other dynamo definitions. It will also save you from the overhead of compiling and loading dll libraries or creating packages. And also if the definitions is to be shared, the python code is in the definition, so the receiver will only need that dyn file.

  • For something more stable, using classes and/or helper methods/functions, and with high probability of being reused, I would choose C# as it gives more options to test and debug your code.

1 Like

It all depends on what you trying to do.

Also possibly duplicate of this: Design Script or Python...Which one? and few more topics already discussed.

Not far off - Revit’s built in C++, see the discussion here, really interesting:

http://forums.augi.com/archive/index.php/t-26675.html

Personally I use Python as an on-the-fly scripting tool but I see myself using C# (not quite there yet) for more substantial tasks / projects.

1 Like