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.
Two weak links in the chain of techniques TDD
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:
It requires active effort to think through what needs to be tested
It’s possible to ignore these test failures and ship broken code
We’ve taken a three-pronged approach to Rust at FP Complete until now. This has included:
Producing educational material for both internal and external audiences
Using Rust for internal tooling
Writing product code with Rust