Practical development.
WHAT THE ECOSYSTEM PROVIDES
Asynchronous runtimes Web frameworks of varying opinionation Serialisation Database access, with compile-time query checking in some libraries
WHAT COMPILE-TIME QUERY CHECKING PROVIDES
Queries verified against the actual schema during compilation.
WHY THAT IS NOTABLE
Query errors become build failures rather than runtime failures.
WHAT ASYNCHRONOUS CODE REQUIRES
A runtime, chosen explicitly.
WHAT TO BE CAREFUL WITH
Blocking operations inside asynchronous code Mixing runtimes Excessive cloning to satisfy the compiler
WHAT THAT LAST ONE INDICATES
Usually a design that could be restructured.
WHAT ERROR HANDLING LOOKS LIKE
Types representing success or failure, propagated explicitly.
WHAT TO USE
An error library, to reduce boilerplate.
WHAT TO BUILD
An optimised release binary, which differs substantially from a development build.
WHAT TO MEASURE
Compilation time, which affects how it feels to work in.
WHAT TO WEIGH
The operational benefits against development speed and maintainability by others.