Literate Programming

In an interview last year, Donald Knuth, who first published an article introducing the concept of literate programming, mentioned the lack of a big incentive to change as one of the reasons why this methodology has not been embraced by a wider community. In his experience literate programming has influenced the creation of better software, but he agrees with Jon Bentley observing that the requirement of being both good at writing and programming has been a problem for its adoption.

The fact is that literate programming proposes a radically different style for developing programs and their documentation in which the concepts are introduced in an order that is best for human understanding in opposition to the order in which the computer needs to see the code.This puts literate programming at disadvantage with others styles of writing source code, like self-documenting, that require a smaller change of perspective from the developers.

Another side of the problem covered in the paper A case for Contemporary Literate Programing is the relationship between technology and literature programing adoption.

“It was announced at a time that technology could not adequately support it, and at a time that there was not yet a sufficient need for it.”

The following table shows a summary of the steps in the development of programming environments to support literate programming (LPE) that are analyzed in that paper.

Necessity Solution
Support a variety of programming languages and produce documents in various formats Adaptable LPE’s
Resolve of problems uncovered by the introduction of object-oriented programming Tools to create a hypertext version of the program
Delegate the need for a document formatting language Integration of editors with WYSIWYG capabilities
Solve problems that arise because the programmer is unable to interact with the extracted code IDEs that include a compiler and can include numerous other tools such as debuggers and code generators
Create documents that can be presented to different audiences in different orders. Theme Based Literate Programming

The question is: How to reach a new stage in the evolution of literate programming environments which makes Literate Programming a success?

What I have being reading?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: