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.