On utilizing rust programming language for Internet of Things

Tunc Uzlu, Ediz Saykol
2017 2017 9th International Conference on Computational Intelligence and Communication Networks (CICN)  
Rust, as being a systems programming language, offers memory safety with zero cost and without any runtime penalty unlike other languages like C, C++ or Cyclone. System programming languages are mainly used for low level tasks such as design of operating system components, web browsers, game engines and time critical missions like signal processing. Main disadvantages of the existing systems languages are being memory unsafe and having low level design. On the other hand, Rust offers high level
more » ... language semantics, advanced standard library with modern skill set including most of the features and functional elements of widely-used programming languages. Moreover, Rust can be used as a scripting language like Python, and a functional language like Haskell or any other low level procedural language like C or C++, since Rust is both imperative and functional having no garbage collector. These design choices make Rust a suitable match for low level tasks via including high level scalability and maintainability. Meanwhile, EFI (Extensible Firmware Interface) specification is aimed to remove the limitations of legacy hardware. Hence, we present our analysis of utilizing Rust language on EFIbased bootloader design for x86 architecture, to make it useful for both practitioners and technology developers.
doi:10.1109/cicn.2017.8319363 fatcat:kvv2y35bizgw5ox4r66nafscva