Bloom: Disorderly Programming for a Distributed World
I will present Bloom, a programming language targeted at developers of complex cloud computing and distributed systems. Bloom is a 'disorderly' language: it differentiates itself from most common programming languages by embracing rather than resisting the disorderly realities of distributed computing architectures. Building on recent theoretical results including the CALM Theorem, Bloom supports a powerful new programming analysis framework for analyzing the correctness and consistency of distributed programs. To demonstrate Bloom's utility, I will present examples of distributed system infrastructure and applications, including delivery protocols, a key-value store and a replicated shopping cart application. I will then show how Bloom's analysis tools allow the programmer to compare and evaluate these implementations.