Software development language, TDD, Three-pronged approach from Rust at FP Complete, 2020

Summary - Rust at FP Complete, 2020 update

This article is about Software development language, TDD, Three-pronged approach from Rust at FP Complete, 2020 update - https://www.fpcomplete.com/blog/rust-at-fpco-2020/.

Productivity, Robustness, and Performance

Three pillars of a software development language: productivity, robustness, and performance. Often times, these three pillars are in conflict with each other, or at least appear to be.

Getting to market quickly (productivity) often involves skimping on quality assurance (robustness), or writing inefficient code (performance). Or you can write simple code which is easy to test and validate (productivity and robustness), but end up with a slow algorithm (performance). Optimizing the code takes time and may introduce new bugs.

We’re big believers in using the computer itself to help us write better code. Some of this can be done with methodologies like test-driven development (TDD). But there are two weak links in the chain of techniques like TDD:

  1. It requires active effort to think through what needs to be tested

  2. It’s possible to ignore these test failures and ship broken code

Three-pronged approach

We’ve taken a three-pronged approach to Rust at FP Complete until now. This has included:

  1. Producing educational material for both internal and external audiences

  2. Using Rust for internal tooling

  3. Writing product code with Rust

References

[1] Rust at FP Complete, 2020 update - https://www.fpcomplete.com/blog/rust-at-fpco-2020/