In the field of data science, Jupyter Notebooks have become widely adopted as they allow the sharing of reproducible computational analysis. However, these tools are only accessible to those who understand computer code. To engage a broader audience of scientists interested in data analysis and computation—yet unfamiliar with code—we introduce Plainbook, a notebook centered around natural language.
Plainbook is based on two principles: promoting natural language descriptions and verifying values. In Plainbook, natural language descriptions are preserved instead of the resulting code; the code is generated automatically from the cell descriptions. As natural language is read top to bottom, Plainbook adopts linear execution semantics, ensuring that cells are executed in the order they appear, with no 'hidden state' or out-of-order execution as seen in Jupyter.
To enable users who may not understand code to verify the correctness of computations, we have built verification mechanisms centered on values and value inspection into Plainbook. These include mechanisms that focus on individual cells, akin to unit tests, as well as global mechanisms. Both linear execution semantics and verification mechanisms are supported by a snapshot kernel that caches execution states, making execution and verification efficient.
Blogger's Review: The emergence of Plainbook offers a fresh perspective on data science, particularly for scientists without programming backgrounds. By marrying natural language with computation, it lowers the barriers to data analysis, enhancing accessibility and transparency in science. Moving forward, enhancing its functionality and user experience will be crucial.