On Wednesday, May 21, 2014 6:03:04 AM UTC-5, da...@axiom-developer.org 
wrote:
>
> The primary focus of a "documentation system" is communication from 
> the author to the audience. 
>
> One of the struggles apparent in discussing issues of communication, 
> especially with programmers, is Heideggers "present-at-hand" vs 
> "breaking down". 
>
> Programmers write programs to instruct a machine to perform some 
> task. In the ideal, this involves "communication" from the mind of 
> the programmer to the "execution of the program". If the program works 
> the first time it is all a seamless entity ("present-at-hand"). 
>
> When the program fails, by compiler errors, missing libraries, runtime 
> errors, design errors, inappropriate actions, or any of the other dragons 
> of programming, the process is not seamless. The details of the process 
> rise to our awareness ("breaking down"). The burden of failure is likely 
> to fall on people who use or maintain the program rather than the authors. 
> If the program survives, these are likely audiences. 
>
>
>
> Programmers, generalizing from my own case, rarely have a seamless 
> experience.  Programs that work the first time, are correct, efficient, 
> and all of the other properties, are rather far outside our experience. 
>
> The effect of this constant "breaking down" is that we have learned, 
> rather painfully, to be aware of the machinery of the process at every 
> step of the way. This focus on the machinery becomes the expected way 
> of communicating with the machine. Scratch any programmer, interview at 
> any company, listen to any talk, and you find "machinery". 
>
> But communication from the author to the audience is the underlying 
> theme of literate programming. Knuth's point is about communication, 
> not about the machinery of communication. The question is, to what 
> audience, not how. 
>
>
>
> Discussions seem to get lost in a debate about the machinery rather 
> than the goal. We focus our debate on docstrings versus markup versus 
> wiki. We consider literate programming to be "too much machinery". 
>
> In these forums there is rarely find any example of "present-at-hand" 
> issues of communication.  That is, given a large program (e.g. Axiom, 
> Clojure), what is it that we need to communicate, to what audience, 
> and at what level of detail? 
>
> Axiom focuses on "The 30 year horizon" under the assumption that the 
> computational mathematics will be forever valid and that the audience 
> will be unable to contact the likely-dead authors. 
>
> Pharr and Humphreys' "Physically Base Rendering" [0] is written as a 
> literate program, a book that won an Academy Award, using Tex and 
> C++. The very first thing they mention in the preface is the 
> "Audience". They communicate to humans and, also, to machines. 
>
> What is the audience for Clojure? 
>
> Common Lisp has achieved a long-term horizon by raising the language 
> to a standard. No standard is perfect but it does make it possible to 
> construct programs which have a stable base for communication. That 
> base makes it possible to write a book like "Lisp in Small Pieces" [1] 
> which communicates ideas in natural language using an embedded program 
> as a reduction to practice. 
>
>
>
> So the fundamental point is what to communicate to what audience, 
> not how to implement it. Different audiences will need different 
> implementations (e.g. docstrings for REPL users) but we must avoid 
> losing ourselves in the noise. 
>
> Axiom, by choice, has a defined audience. Does Clojure? 
>
> Tim Daly 
> da...@axiom-developer.org <javascript:> 
>
> [0] Pharr, Matt; Humphreys, Greg 
>     Physically Based Rendering 
>     ISBN 978-0-12-375079-2 
> [1] Queinnec, Christian 
>     Lisp in Small Pieces 
>     ISBN 978-0521545662 
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to