{"id":24873,"date":"2024-02-13T05:05:44","date_gmt":"2024-02-13T13:05:44","guid":{"rendered":"https:\/\/essential.construction\/news\/do-you-speak-my-language-programming-for-the-aec-industry\/"},"modified":"2024-02-13T05:05:47","modified_gmt":"2024-02-13T13:05:47","slug":"do-you-speak-my-language-programming-for-the-aec-industry","status":"publish","type":"post","link":"https:\/\/essential.construction\/news\/do-you-speak-my-language-programming-for-the-aec-industry\/","title":{"rendered":"Do you speak my language? &#8211; Programming for the AEC Industry"},"content":{"rendered":"<p> <a href=\"https:\/\/essential.construction\/files\/membership-default-internal\/\" class=\"memberhide\"><img decoding=\"async\" src=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2023\/01\/20220718_175041000_iOS.jpg\" alt=\"-\"><\/a><br\/><br \/>\n<\/p>\n<div id=\"\">\n<p><strong>At VIATechnik, we are constantly exploring and analyzing different programming languages to identify which tools align best with project goals. Here\u2019s what we\u2019ve learned.<\/strong><\/p>\n<p> <span id=\"more-2011911\"\/><\/p>\n<p>As digital technologies become more pervasive in the design and construction space, the industry is no longer an exclusive domain to\u00a0architects,\u00a0engineers, and\u00a0contractors.\u00a0Many processes related to building design and construction increasingly depend on digital technologies. A decade ago, automating routines in AutoCAD with one programming language LISP might have been enough. Today, the industry\u2019s changing dynamics are now in search professionals with knowledge of Python and C#, among others. These programming languages are essential for custom plug-in development or task automation. Autodesk has certainly been a key player in the cloud technologies and app development field. A clear example is Forge,<sup>[1]<\/sup>\u00a0which has helped popularize and streamline the development of AEC-specific apps.<\/p>\n<p>The construction industry\u2019s digitalization,\u00a0along with the growing project complexity and duration,\u00a0has forced construction professionals\u00a0to transfer from design to design-development\u00a0where apps and plug-in development can help improve efficiency and effectiveness within the industry. Many\u00a0programming languages are available, and\u00a0determining which one is right for a project can be overwhelming. Choosing the right language is crucial to get the best performance in the shortest time possible.<\/p>\n<p>In this post, we\u2019ll give you an overview of the following categories that VIATechnik views as essential to our software work: web development, plug-in and add-in development, visual scripting, VR\/AR development, and iOS\/Android development.<\/p>\n<h2 class=\"wp-block-heading\">Web Development<\/h2>\n<p>Web development means the building and maintenance of websites and web apps. It\u2019s a combination of several different technologies exchanging data over the internet. Why should we consider web development for the AEC industry? How is it relevant to metal framing or cable tray fill capacity or spool sheet generation?<\/p>\n<p>Autodesk made a big step toward web development with Forge, which enables companies to leverage design and engineering data to develop custom software apps and connect workflows. With web development, sharing the building information model with the public, stakeholders, and design professionals is possible. To design anything with a pleasing user interface that communicates over the internet, developers will be using Javascript and Python. Picture 1 shows a modern digital facilities management web app.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><noscript><img loading=\"lazy\" decoding=\"async\" width=\"357\" height=\"396\" src=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/RevittoWeb.png\" alt=\"Revit to Web\" class=\"wp-image-2011919 lazyload\"\/><\/noscript><figcaption>Picture 1. Digital Facilities Management Web App, Photo Credit: VIATechnik<\/figcaption><\/figure>\n<\/div>\n<p><strong>JavaScript.\u00a0<\/strong>According to Northeastern University\u2019s recent research,<sup>[2]<\/sup>\u00a0Javascript was one of the most popular languages in 2020. Many frameworks are built on Javascript. Now, it\u2019s a modern, fully-featured, and very flexible language. A vast majority of free, open-source user interface (UI) and user experience (UX) libraries are available on Javascript.<\/p>\n<p>Javascript developers can use Microsoft authentication libraries, Uber mapping libraries, Google UI components, Facebook\u2019s rendering framework, and Netflix backend server design. This is all maintained by large companies with the resources to do so. Javascript developers can build backend servers, website front-end, and web apps that can function as websites but can also cache and store data offline.<\/p>\n<p>For example, some apps allow users to plan out and mass a rough shape of a building on a real-world map in 3D and then run energy and cost analysis.<\/p>\n<p><strong>Python.\u00a0<\/strong>Artur Yolchan, Senior Software Engineer and owner of the website Coding Skills, says: \u201cPython will probably be the most favorite programming language for developers in 2021.\u201d<sup>[3]<\/sup>\u00a0It\u2019s one of the top 5 programming languages and the fastest-growing major language in the world.<sup>[4]<\/sup>\u00a0Python\u2019s growth skyrocketed in the last five years due to its adaptation of machine learning and data science.<\/p>\n<p>Python\u2019s general purpose is server-side programming. It works directly with file systems on the server side. Developers can use all its power to analyze data not only for machine learning but also for BIM data processing, math, and analytic fields. It does all this work for websites behind the scenes. Dice, one of the leading websites for tech careers, is prognosing the growth of interest in Python in 2021.<\/p>\n<h2 class=\"wp-block-heading\">Add-in and Plug-in Development\u00a0<\/h2>\n<p>Plug-ins can automate, customize, and expand even the most powerful BIM platforms. At VIATechnik\u2019s\u00a0<a rel=\"nofollow noopener\" href=\"https:\/\/www.viatechnik.com\/software-development\/\" target=\"_blank\">Cirrus Studio<\/a>, our team is constantly working on various Revit automation and data management plug-ins. Any BIM manager, architect, engineer, or motivated user can create custom plug-ins. (Note: Revit APIs are built on .NET Framework, so any language for this platform will be useful.) .NET is a free, cross-platform, open-source developer platform for building various types of apps.<\/p>\n<p><strong>C#.<\/strong>\u00a0C# is a good choice for this field because it\u2019s versatile and applicable to other programming areas. It\u2019s fully integrated with Microsoft\u2019s .NET software framework, which supports app development for Windows, browser plug-ins, and mobile devices. C# offers shared codebases, a large code library, and various data types.<\/p>\n<p>With C#, developers can make custom Revit toolbars that contain different commands to automate daily tasks. It also allows for the development of apps that connect different platforms such as Salesforce, Procore, and Bluebeam.<\/p>\n<h2 class=\"wp-block-heading\">Visual Scripting<\/h2>\n<p>Even though Dynamo and Grasshopper aren\u2019t programming languages, they\u2019re worth mentioning. The growing interest in visual programming throughout the last few years is hard to ignore. They\u2019re both convenient and powerful tools for designers who don\u2019t want to code. In Dynamo, regular nodes fit in a basic knowledge level of visual scripting. Intermediate level users can use assemblies created by others, where code can be written in the nodes already. However, more complicated tasks require complex scripts and extensive programming experience. At the advanced level, users can write code in Python and get access to the API and be on the same playing field as those seasoned developers.<\/p>\n<p><strong>Python.<\/strong>\u00a0Can\u2019t find the Dynamo node you need? Python lets you create powerful custom nodes that extend Dynamo\u2019s functionality and solve your Revit modeling challenges faster and smarter. It offers much more achievable methods for writing conditional statements (if\/then) and looping. It also lets you replace many nodes with a few concise lines of code.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/Dynamo.png\" alt=\"Dynamo\" class=\"wp-image-2011916 lazyload\"\/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1428\" height=\"852\" src=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/Dynamo.png\" alt=\"Dynamo\" class=\"wp-image-2011916 lazyload\" srcset=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/Dynamo.png 1428w, https:\/\/aec-business.com\/wp-content\/uploads\/2021\/02\/Dynamo-1200x716.png 1200w, https:\/\/aec-business.com\/wp-content\/uploads\/2021\/02\/Dynamo-768x458.png 768w\" sizes=\"auto, (max-width: 1428px) 100vw, 1428px\"\/><\/noscript><figcaption>Picture 2. Dynamo Scripting for MEP Coordination, Photo Credit: Slava Krel (VIATechnik)<\/figcaption><\/figure>\n<p>Rhino users can use Python as well because Python runs on both the Windows and Mac versions of Rhino. Since both platforms have Rhino Python scripting, the same Python scripts can run on either platform.<\/p>\n<h2 class=\"wp-block-heading\">VR\/AR Development<\/h2>\n<p>Augmented Reality (AR) and Virtual Reality (VR) are now available for everyday use.\u00a0\u00a0Like web development, VR\/AR development combines several different technologies. However, developers can use AR\/VR viewers and build apps that allow for the display of any 3D model from BIM360, Revit, and Navisworks with an AR-enabled smartphone or tablet in your hands.<\/p>\n<p>Image processing is another field that can bring the most value to the AEC industry in the nearest future. There are three levels of image processing machine learning:<\/p>\n<ol type=\"1\">\n<li>Image classification, where you can tell generically what\u2019s in the image<\/li>\n<li>Object detection, where you can draw a bounding box around the image<\/li>\n<li>Image masking, where you can get the exact outline of the image<\/li>\n<\/ol>\n<p>Developers can train their own models to detect construction objects, enabling them to automate on-site quality control.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/image-recognition.png\" alt=\"-\" class=\"wp-image-2011920 lazyload\" width=\"389\" height=\"400\"><noscript><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/image-recognition.png\" alt=\"-\" class=\"wp-image-2011920 lazyload\" width=\"389\" height=\"400\" srcset=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/image-recognition.png 1556w, https:\/\/aec-business.com\/wp-content\/uploads\/2021\/02\/image-recognition-1167x1200.png 1167w, https:\/\/aec-business.com\/wp-content\/uploads\/2021\/02\/image-recognition-768x790.png 768w, https:\/\/aec-business.com\/wp-content\/uploads\/2021\/02\/image-recognition-1494x1536.png 1494w\" sizes=\"auto, (max-width: 389px) 100vw, 389px\"><\/noscript><figcaption>Picture 3. Object detection Image Processing, Photo Credit: Slava Krel (VIATechnik)<\/figcaption><\/figure>\n<\/div>\n<p><strong>C#.<\/strong>\u00a0C# is the most popular programming language among AR\/VR developers, according to SlashData.<sup>[5]<\/sup>\u00a0It\u2019s widely used for developing games with Unity, the most popular game engine. It works on both Mac and PC, and\u00a0several\u00a0VR apps are created with C#. Unity\u2019s platform can be used with Autodesk Forge AR\/VR tool kit.<\/p>\n<h2 class=\"wp-block-heading\">iOS\/Android Native App Development<\/h2>\n<p>Since the percentage of smartphone ownership and usage posted by the Pew Research Center<sup>[6]<\/sup>\u00a0is growing every day, programming for mobile devices can be very valuable in the near future. In this case, the programming language is determined by the platform.<\/p>\n<p><strong>Kotlin<\/strong>. Android development requires the Kotlin programming language. The Dice report states, \u201cIn late 2018, an analysis of Dice data found that the number of job postings mentioning \u2018Kotlin\u2019 had skyrocketed since the second quarter of 2017, which roughly corresponds with Google announcing that Kotlin was officially a first-class language for Android.\u201d<sup>[8]<\/sup><\/p>\n<p><strong>Swift<\/strong>. For the iOS platform, more and more developers choose Swift as a programming language.<sup>[9]<\/sup>Unfortunately, Objective-C isn\u2019t an option anymore. According to the same\u00a0Tiobe index,<sup>[7]<\/sup>\u00a0Objective-C is losing popularity every year.<\/p>\n<p>It\u2019s possible to make a cross-platform solution with\u00a0React Native, a JavaScript\u00a0framework, that will work on Android and iOS, but there will always be limitations. The cross-platform solutions for mobile devices will never outperform native apps.<\/p>\n<p>A number of useful mobile apps can increase project productivity by managing prints, punch lists, and other project issues.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/Prefab-App.png\" alt=\"-\" class=\"wp-image-2011918 lazyload\"><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/Prefab-App.png\" alt=\"-\" class=\"wp-image-2011918 lazyload\" srcset=\"https:\/\/essential.construction\/news\/wp-content\/uploads\/sites\/15\/2024\/02\/Prefab-App.png 1600w, https:\/\/aec-business.com\/wp-content\/uploads\/2021\/02\/Prefab-App-1200x675.png 1200w, https:\/\/aec-business.com\/wp-content\/uploads\/2021\/02\/Prefab-App-768x432.png 768w, https:\/\/aec-business.com\/wp-content\/uploads\/2021\/02\/Prefab-App-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\"><\/noscript><figcaption>Picture 4. Prefab Solution Android App, Photo Credit: Slava Krel (VIATechnik)<\/figcaption><\/figure>\n<p>While programming itself is becoming easier and more accessible for most people, newer languages are replacing big and more dated languages. A lot of pieces go into a modern app, and it\u2019s not a \u201cpress of a button.\u201d<\/p>\n<p>With the growing complexity of BIM projects, it\u2019s hard to get through without model data management or repetitive task automation. Software development extends BIM, as well as provides solutions for workflow automation and optimization for AEC companies already initiated in the BIM methodology. Getting a grip on code and what these languages do and how to assemble them into a working product is key to the success of the future state of BIM.<\/p>\n<p><strong>About the Author<\/strong><\/p>\n<p><strong>Slava Krel<\/strong> is a Senior VDC Engineer at VIATechnik. Slava specializes in MEPF BIM coordination and Scan-to-BIM workflows. He leverages his understanding of data flow, from concept through construction. Over the past few years, Slava has been following his passion for app development, programming, and scripting for the AEC industry.\u00a0<\/p>\n<p><strong>VIATechnik<\/strong><\/p>\n<p>VIATechnik is the global leader in\u00a0<a rel=\"nofollow noopener\" href=\"https:\/\/www.viatechnik.com\/bim-services\/\" target=\"_blank\">BIM services<\/a>\u00a0and virtual design and construction with a mission to transform the analog world of design and construction into a digital platform, enabling efficient design, industrialized construction, and a digital real estate service model. Through this transformation, we believe we can solve the world\u2019s housing and infrastructure challenges and deliver spaces that nurture life, commerce, and relationships. Visit us on the web at <a rel=\"nofollow noopener\" href=\"https:\/\/viatechnik.com\" target=\"_blank\">viatechnik.com<\/a>.<\/p>\n<p><strong>Links:<\/strong><\/p>\n<p><sup>[1]<\/sup><a rel=\"nofollow noopener\" href=\"https:\/\/forge.autodesk.com\/\" target=\"_blank\">https:\/\/forge.autodesk.com\/<\/a><\/p>\n<p><sup>[2]<\/sup><a rel=\"nofollow noopener\" href=\"https:\/\/www.northeastern.edu\/graduate\/blog\/most-popular-programming-languages\/\" target=\"_blank\">https:\/\/www.northeastern.edu\/graduate\/blog\/most-popular-programming-languages\/<\/a><\/p>\n<p><sup>[3]<\/sup><a rel=\"nofollow noopener\" href=\"https:\/\/insights.dice.com\/2020\/12\/09\/5-programming-languages-that-will-dominate-2021-python-go-more\/\" target=\"_blank\">https:\/\/insights.dice.com\/2020\/12\/09\/5-programming-languages-that-will-dominate-2021-python-go-more\/<\/a><\/p>\n<p><sup>[4]<\/sup><a rel=\"nofollow noopener\" href=\"https:\/\/www.tiobe.com\/tiobe-index\/\" target=\"_blank\">https:\/\/www.tiobe.com\/tiobe-index\/<\/a><\/p>\n<p><sup>[5]<\/sup><a rel=\"nofollow noopener\" href=\"https:\/\/apply.workable.com\/slashdata\/?lng=en\" target=\"_blank\">https:\/\/apply.workable.com\/slashdata\/?lng=en<\/a><\/p>\n<p><sup>[6]<\/sup><a rel=\"nofollow noopener\" href=\"https:\/\/www.pewresearch.org\/global\/2019\/02\/05\/smartphone-ownership-is-growing-rapidly-around-the-world-but-not-always-equally\/\" target=\"_blank\">https:\/\/www.pewresearch.org\/global\/2019\/02\/05\/smartphone-ownership-is-growing-rapidly-around-the-world-but-not-always-equally\/<\/a><\/p>\n<p><sup>[7]<\/sup><a rel=\"nofollow noopener\" href=\"https:\/\/www.tiobe.com\/tiobe-index\/\" target=\"_blank\">https:\/\/www.tiobe.com\/tiobe-index\/<\/a><\/p>\n<p><sup>[8]<\/sup><a rel=\"nofollow noopener\" href=\"https:\/\/adtmag.com\/articles\/2019\/06\/25\/kotlin-climb.aspx\" target=\"_blank\">https:\/\/adtmag.com\/articles\/2019\/06\/25\/kotlin-climb.aspx<\/a><\/p>\n<p><sup>[9]<\/sup><a rel=\"nofollow noopener\" href=\"https:\/\/www.businessofapps.com\/insights\/heres-why-you-should-plan-your-next-ios-app-with-swift\/\" target=\"_blank\">https:\/\/www.businessofapps.com\/insights\/heres-why-you-should-plan-your-next-ios-app-with-swift\/<\/a><\/p>\n<p> <span class=\"et_social_bottom_trigger\"\/><\/div>\n<p><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-5143531171910809\"\r\n     crossorigin=\"anonymous\"><\/script>\r\n<!-- News - Bottom -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-5143531171910809\"\r\n     data-ad-slot=\"8320848692\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script><br \/>\n<br \/><a href=\"https:\/\/aec-business.com\/do-you-speak-my-language-programming-for-the-aec-industry\/\" rel=\"nofollow noopener\" target=\"_blank\">This article was originally posted at Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>At VIATechnik, we are constantly exploring and analyzing different programming languages to identify which tools align best with project goals. &#8230; <a title=\"Do you speak my language? &#8211; Programming for the AEC Industry\" class=\"read-more\" href=\"https:\/\/essential.construction\/news\/do-you-speak-my-language-programming-for-the-aec-industry\/\" aria-label=\"Read more about Do you speak my language? &#8211; Programming for the AEC Industry\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":24874,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1062,1066],"tags":[],"class_list":["post-24873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aec-business","category-all-posts","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"_links":{"self":[{"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/posts\/24873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/comments?post=24873"}],"version-history":[{"count":0,"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/posts\/24873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/media\/24874"}],"wp:attachment":[{"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/media?parent=24873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/categories?post=24873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/essential.construction\/news\/wp-json\/wp\/v2\/tags?post=24873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}