Why I chose to write EPDx in Rust:

The goal of EPDx was never just to make another EPD format, but rather provide a set of tools that supports AEC professionals working with LCA. An obvious first tool to build were a parse from ILCD to EPDx.

The first question that comes to mind, when building a new tool is what language to use. In my perspective there are 3 major languages in use in the AEC industry:

  • C#
  • Python
  • JavaScript.

All 3 languages comes with their own set of pros and cons and are typically used in different contexts.

I didn't want to rule anyone or any context out, so I either had to write the parser in 3 languages or find a way to write it once, but make it run in all 3 languages.

This is where Rust comes in.

Rust is a programming language, that is statically typed and memory safe, that provides developers with high-level programming ergonomics and low-level control. Its speed is comparable with C/C++, but with a modern tool-set and a developer friendly syntax like Python's.

Besides having the feature of cross-compiling, Rust is a language that I have been wanting to learn because its high speed and memory safety.

Why Rust for EPDx?

Why I chose to write EPDx in Rust: The goal of EPDx was never just to make another EPD format, but rather provide a set of tools that supports AEC professionals working with LCA. An obvious first tool to build were a parse from ILCD to EPDx.