This three-part podcast series is a round table discussion between a moderator (Mr. Patch) and two software engineering subject matter experts (Mr. Corley and Dr. Fawcett), and walks through a set of common functions, first implemented through C++ and then in Rust, to note initial speed, performance and security of memory access differences. C++ is a mature programming language originally developed to expand on the C language with the goal of incorporating object-oriented capabilities. Rust is a relatively new programming language based on C++ concepts that focuses on embedding explicit security-oriented memory access features guarantees, while maintaining the required processing speeds and reliability demanded by today’s software systems. The series ends by answering key questions and provides advice as to where to get started with this new language that is quickly being adapted by Fortune 500 companies.
Part 2: This discussion between a moderator (Mr. Patch) and two software engineering subject matter experts (Mr. Corley and Dr. Fawcett), walks through a set of common functions, first implemented through C++ and then in Rust, to note initial speed, performance and security of memory access differences. This episode describes how the comparison was conducted by using both Rust and C++ to perform the same function under the relatively same conditions. Then, it shows the results based on the following comparison points:
- Performance – What is the speed and correctness of the code once executed?
- Size and Complexity – How much code is needed to be produced to perform the given function?
- Ease of Construction – How easy is it to produce the code for the given function?
- Safety – How does the code guarantee safe and secure memory access? This is the fundamental key in order to help prevent future vulnerabilities and exploitation while being used in operations.
- Ease of Maintenance – How easy is it to maintain the code once produced?
The views expressed by individuals presenting information in CSIAC videos are their own and may not reflect the official policy or position of the CSIAC, Department of Defense, or the U.S. Government.
The appearance of external hyperlinks on this DTIC website does not constitute endorsement by the United States Department of Defense (DoD) of the linked websites, or the information, products or services contained therein. Any opinions, findings, conclusions, or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the opinions of the United States DoD.