“I want to own the automation of my own profession…” – Mario Guttman, Architect, Programmer.

One may soon come to realize that the roles played out by an architect and a programmer are actually quite similar in nature. Both are creative individuals, equipped with surplus amounts of brain juice at their disposal. One designs the spaces around us and shapes the world we all perceive, while the latter designs various virtual user interfaces for a layman to interact with. Hence, it is not really all that farfetched to consider the two professions crossing paths with each other. Should an architect learn to code?

Architects use an array of CAD tools, in order to turn their designs from ‘thoughts into things’. They use these tools to create elegant aesthetical & functional spaces which are works of art on their own. Now with various parametric tools also coming into the picture, an architect is easily able to establish parameters and constraints on dynamic geometries, to seamlessly produce convoluted designs. Now the question arises as to whether the credit should go to the architect or to the programmer who scripted the tool which contains the algorithms embedded in its code. To solve this dilemma, it would just make more sense if the architects, themselves, had the liberty of creating the tools required to design their own building spaces. Besides, a lot of the design tools, out there now, are open source (encourage third party development) and come with their respective APIs (Application Programming Interfaces) and SDKs (Software Development Kits), and that is an advantage that should be utilized. Let’s look at the top 5 reasons why an architect should learn coding.

1. Coding helps you expand your design capabilities.

Coding helps you explore new architectural forms and investigate how architecture can evolve and adapt to the ever-changing. Usually, design tools use various complex automation routine algorithms which many architects fail to understand, hence their usage of the tool is limited and their overall efficiency is reduced. If they know exactly what these algorithms represent and how they influence the outcome of a geometry, they can make much more conscious and efficient decisions in the design process.

2. To be capable of truly claiming ownership of the entire design process 

Coding Knowledge gives the architect complete control over the whole form generation process, as the architect would know exactly what to expect out of the tool and so, tailors it to their specific needs. The tool becomes unique to the architect’s style and screams originality on a whole new level.

Courtesy of Thrive Detroit

Courtesy of Thrive Detroit

3. To gain an advantage over your competitors

Coding is a skill, after all, and could potentially give the architect an upper hand over the competition. Acquiring and proficiently practicing scripting, as a part of the design process, might throw light on various details that other designers might overlook, and so give you the winning edge.

4. To break into the technical aspects of algorithmic thinking

A designer is encouraged to analyze the problem at hand and solve it in a step by step process in contrast to what he typically does – intuitively or creatively approach the problem, which is very subjective (sort of like solving a math problem with a known set of formulae and solutions, in contrary to writing a subjective essay in English).

5. To get more work done whilst putting in the least effort

Architects who have coding skills get to be more efficient. They can script a function onto a software to accomplish a job, that would normally require multiple steps and lengthy duration, within a matter of seconds.


Now that we’ve discussed the various advantages of learning programming languages, let’s look at some languages that you can explore right now!

Learning to code takes a certain mindset, a lot of practice, and you have to really like it. If you love the idea of learning a programming language and think you can grow your value with this ability, go for it.

There are many points of entry to start learning coding concepts and engage with the community. The wider-spread adoption of graphical programming tools, such as Dynamo or Grasshopper, are also providing a great point of entry into the world of coding for the visually minded. Here is our list of coding software for architects.

1. Grasshopper 3D

Grasshopper is a visual programming language that is primarily used to build generative algorithms. It was developed by David Rutten at Robert McNeel & Associates, to create 3D geometry by dragging components onto a canvas. The outputs of these components are then connected to the inputs of subsequent components. Advanced uses of Grasshopper include parametric modeling for structural engineering, parametric modeling for architecture and fabrication, computational Japanese garden design, lighting performance analysis for eco-friendly architecture, and building energy consumption.

2. Dynamo

Dynamo is a visual programming extension for Revit that allows you to manipulate data, sculpt geometry, explore design options, automate processes, and create links between multiple applications. Dynamo running in Revit is Sandbox, with access to the Revit model, Revit API, and uses Revit’s authorization for cloud services. Autodesk Dynamo Studio is the core technology with Autodesk’s geometry tools, and access to cloud services without any other software prerequisites.

3. Python

It is one of the most popular programming languages and can be used to create scripts for parametric algorithms and other forms of complex geometry. There are a lot of resources available for anybody to get started. It is relatively easy to comprehend and can be used alongside various design software like Rhino, Grasshopper, and even Autodesk’s Dynamo .

Courtesy of Jose Sanchez

4. VB.NET [Visual Basic .NET]

It can be leveraged to create various automation routine algorithms in AutoCAD or Revit. One can bundle a defined set of functions onto Revit by writing macros using this language. Besides, it is very user friendly, and there are plenty of available tutorials to get you started on it. You can, also, use this language to bind automation algorithms for Microsoft Office applications.

Courtesy of Black Spectacles

5. C#

It can be used to code a design tool from scratch. It is a bit complicated to learn, but knows no inadequacy when it comes to support and resources available. It is built on top of Microsoft’s .NET framework, just like VB.Net, and hence shares a lot of similarities under the hood. It can also be used to compile macros in Revit.

Courtesy of Autodesk DevTV

6. Ruby

It opens up a whole new world of possibilities in terms of creating interactive web applications, stand-alone software, and third party plugins. It can be used to script additional functions into Google Sketchup.

Courtesy of  silencedidgood

Hence, it goes without saying that, learning to code could be a huge plus point for architects, designers and creative minds alike. As we strive through the digital revolution, where virtual environments ultimately shape up our real world, people across diverse professions have realized the importance of programming languages and have begun to incorporate them into their daily workflows. With leading practices like Zaha Hadid Architects investing huge sums of capital into the development of their in-house software based research group called ‘CODE’, it is about time we too embark on this journey and become masters of the code.

Written by Aprameya S Pandit – Edited by Yosra M. Ahmed 

  • Arthur

    Hi guys, please credit the first picture above? Extracted from the 3D Printing Pop-Up Studio by Mamou-Mani ltd.

  • Jaime Ingram Solís

    When talking about programming languages for Architects, a very important one would be GDL, Geometric Description Language that is the foundation of Archicad. This was the first scripting language focused in creating architectural forms and after more than 30 years of development it is still very relevant to learn if you want to go beyond what Archicad offers out of the box.

Send this to a friend

ARE YOU READY? GET IT NOW!
Subscribe to our weekly newsletter.. It's Free !
Email confirmation is required. Please check your Junk E-mail folder just in case !
ARE YOU READY? GET IT NOW!
Subscribe to our weekly newsletter.. It's Free !
Email confirmation is required. Please check your Junk E-mail folder just in case !