Literate programming

Posted by Jordan Kersey

Literate Programming

Literate program can change entire approach to writing programs, and make it possible to make such a complex program. By going further than simply writing instructions for a computer, to apply human-understanding of these instructions, allows for greater exposition of the entire collection of program and language.

The most important consequence of literate programming, is that is has provided higher-quality programs. By implementing literate programming, it forces the designer to state the thoughts behind it, and the poorly-thought out designs are more obvious. This process allows for better documentation of the methodology, and therefore allows for better flow of ideas, even if left and picked back up.

It is also very important because it flows in an order of human logic, making it easier to extract the information necessary and leads to greater general understanding.

Knitr is a really good example of how this process works, by allowing a mixture of “common-form” English and R-code, all neatly contained in one document.

Successful?

The biggest challenges for the complete implementation of literate programming is how time/effort-consuming it can be to include human-understandable language. It is not something that all program-writers do, and therefore the system as a whole is not complete and is fully congruent.

Also, after viewing the assigned video, I did a little extra research regarding people’s opinions of how well/not well literate programming applies to their work and ultimate goals. I found a common thread, that certain types of projects work very well with literate programming, and others are found to be more complicated and harder to work with, when the method is applied.