Why Rust is the Best Programming Language for Epsidy

At Epsidy, our mission is to make cardiac imaging more efficient by integrating cutting-edge sensor technology with advanced AI. Our goal: to enhance the efficiency and accuracy of cardiac imaging. One of our biggest challenges is running our sophisticated AI engine efficiently in real-time, within the constraints of a small footprint computer. To meet this challenge, we have carefully chosen Rust as our programming language of choice.

In the fast-evolving field of medical technology, the choice of a programming language is crucial. It affects everything from performance and security to maintainability and scalability. At Epsidy, we've transitioned from MATLAB and Python to Rust, and here's why Rust is the best programming language for us.

Performance and efficiency

Medical technology often requires real-time processing and analysis of large datasets. This is a key feature. Rust's performance is comparable to that of C and C++, making it ideal for applications where speed and efficiency are essential. Rust achieves this by eliminating the need for a garbage collector. In medtech, where every millisecond counts, Rust's performance can make a significant difference.

Memory safety

Rust is focused on memory safety without sacrificing performance. Rust's ownership system ensures that memory errors such as null pointer dereferencing, buffer overflows, and data races are caught at compile time. This is particularly important in medical applications where memory errors can lead to software crashes, data corruption, or, in the worst case, incorrect diagnosis or treatment recommendations.

In fact, a survey conducted by Stack Overflow in 2023 placed Rust as the most loved programming language for the eighth consecutive year¹. This widespread affection is largely due to Rust's ability to combine safety and performance, which are critical in medtech.

Concurrency

An updated system protects Epsidy from most (but not all) known vulnerabilities. When services are directly accessible from the internet, they are more sensitive and must be placed behind a firewall. Is a startup a target for attackers? Of course! Bots (automated programs) scan the internet relentlessly in search of easy-to-exploit vulnerabilities.

Ecosystem and tooling

Rust's ecosystem has grown significantly over the past few years. The Cargo package manager and build system makes dependency management straightforward and reliable. Additionally, Rust has excellent connectors with other languages, particularly C and Python. This allows us to leverage existing libraries and tools during prototyping, before translating new components into Rust.

Moreover, Rust's compatibility with the Open Neural Network Exchange (ONNX) format has been a game-changer for AI integration. ONNX allows us to run AI inference on GPUs, enabling our ECG analysis solutions to perform complex computations at high speed, with low latency. Using ONNX, we can deploy pre-trained AI models in Rust, ensuring that Epsidy eazyG™ leverages the full power of modern hardware to deliver results in real-time.

Growing community and industry adoption

Rust's community is vibrant and growing. Rust is not only the most loved language, but it also attracts a loyal community, with 87% of developers who have used it expressing a desire to continue doing so¹. A growing community translates into more libraries, tools, and frameworks being developed, making it easier to find solutions to common problems.

Moreover, industry giants like Microsoft and Mozilla are adopting Rust for their critical projects. Microsoft's Azure IoT team, for example, has chosen Rust for its security and reliability features². In the medtech industry, where regulatory compliance and patient safety are non-negotiable, adopting a language with a strong safety track record is a significant advantage.

Case studies and real-world applications

Several real-world case studies highlight Rust's benefits in high-stakes environments. For example, Dropbox has reimplemented core components of its storage infrastructure in Rust, resulting in a significant performance boost and reduced memory usage. Although not in the medtech field, Dropbox's experience underscores Rust's potential for performance-critical applications.

In the medical field, the adoption of Rust is increasing. Companies are beginning to recognize Rust's potential to create reliable, efficient, and safe medical software. For instance, Medtronic, a leader in medical technology, has started exploring Rust for developing software for their medical devices, aiming to enhance the reliability of their products

Future-proofing our development

The longevity and maintainability of our codebase are critical. Rust's strict compile-time checks and clear syntax make it easier to maintain and refactor code. This reduces technical debt and ensures that our software can evolve with the rapidly changing medtech landscape.

Furthermore, Rust's ongoing development and the introduction of new features continue to enhance its capabilities. The language's commitment to backward compatibility means that our investments in Rust will remain valuable, protecting our codebase from becoming obsolete.

In conclusion

Rust offers a compelling combination of performance, safety, concurrency, and maintainability, making it the ideal choice for a deeptech medtech startup like Epsidy. Its growing adoption in the industry and the strong, supportive community further reinforce our decision. By leveraging Rust, we are confident that we can deliver cutting-edge medical technology that meets the highest standards of reliability and efficiency.

By choosing Rust, we are not just adopting a programming language; we are embracing a future where medical software is safer, faster, and more reliable than ever before.

References:

  1. Stack Overflow Developer Survey 2023

  2. Microsoft's adoption of Rust for Azure IoT

Shidi XIA

Full Stack software developer, expert in the design and development of IoT, web and client-server solutions, proficient in several programming languages such as Python, JavaScript and Java. His in-depth knowledge of communication protocols enables him to develop software that interacts effectively with different hardware.

Next
Next

5 reasons you need a 3 Tesla for cardiac MRI, and 10 reasons you do not