GitHub + nbdev
Hamel Husain wrote in a post on the GitHub blog that the company is going to assist in developing fast.ai’s nbdev, a literate programming environment for Python. Donald Knuth describes literate programming as “a move away from writing computer programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts.” I linked to nbdev last year (DT #28) but haven’t seen it in the wild much since then. I’m also not yet convinced that this notebooks-centric approach scales to making large software projects easier to follow. (Maybe that’s just because I’m used to the current standard structures for Python projects?) But the fact that GitHub is embracing nbdev so enthusiastically makes me curious about how it’ll develop in the coming years, and whether it’ll start to pop up more outside of fast.ai’s courses/projects.