LITERATE PROGRAMMING DONALD KNUTH PDF
by Donald E. Knuth (Stanford, California: Center for the Study of Language and Literate programming is a methodology that combines a programming. Literate Programming (Lecture Notes) [Donald E. Knuth] on *FREE * shipping on qualifying offers. This anthology of essays from Donald Knuth, the. Christopher J. Van Wyk, Literate programming, Communications of the ACM, v n.7, E. Donald, Jill C. Knuth, TEX, Encyclopedia of Computer Science, 4th.
|Published (Last):||3 June 2011|
|PDF File Size:||2.66 Mb|
|ePub File Size:||12.54 Mb|
|Price:||Free* [*Free Regsitration Required]|
Because software changes so rapidly. And, yes, I still prefer to print the whole thing and work with a paper rather than in any IDE.
Literacy in programming means different things in different circumstances. Also, once you have a big code base, there may be parts of the code that are critical e. The story you start telling is not what you end up with later, after you’ve completed all the non-trivial features and major assumptions have fallen through. So even if you need to change your software rapidly, you change your code and docs together.
The present chunkwhich does the countingwas actually one of the simplest to write. I’ve been using literate programming for 15 years on many projects. Additionally, we had inspections. At least one of these three parts must be non-null.
We look at each character and change state if it begins or ends a word. And those companies will get their lunches eaten by folks who know that you can do well enough simply by throwing bodies at the problem, unfortunately.
In my experience this style protramming a very good match for a literate programming. prgoramming
The literate programming metalanguage provides two important features. Also I agree that code organization is often a bit overrated. The problem is that programmers often don’t document this context enough or even not at all. I also like being able to see the whole construct in the compiled code put in one place instead of having to trace it out through function calls.
Front sheets stapled to them, listing code comments which the coder either dealt with or, in discussion, they agreed with the reviewer that the comment would be withdrawn. Tony Hoare was a great pioneer for proving the correctness of programs.
While Knuth may adorn his code with extremely illuminating prose, unfortunately the same is not true for many other programmers. If forces a change to how a lot of people code. Literate programming increases product quality by requiring software developers to examine and explain their code. IDE’s are probably the best middle ground, as they “know” enough about your code to help you find the parts you want. Most of the code you write over the years will be thrown away Ignoring the final truth that of course everything anyone ever makes will one day be discarded, that’s not the case in some industries.
The presentation is engaging and clear. Another thing to note, however, is that not only is the code changing too fast, but also that code doesn’t always do what the programmer thinks it does. You don’t have to define or even declare functions before their first use in the file, you can easily extract any part of the code into a function or method and you can place it anywhere you want. This approach was implemented at Stanford University as a part of research on algorithms and digital typography.
Ask HN: Why did literate programming not catch on? | Hacker News
One is the style of commenting and structuring the code, which makes it easy for humans to follow. Being able to add written reference material in a file along with the code and then having the ability to see a code only view seems appealing from where I am at currently. Programming occurs in a wide variety of contexts, and different tools and workflows are optimal in different contexts.
I always thought that people who cannot adequately express their thoughts are fundamentally unfit for any kind of programming anyway. Imagine a physics textbook that was “just the equations” without any surrounding text. Moreover, because an explanation in WEB is intimately combined with the hard reality of implementation, it is qualitatively different from, and far more useful than, an ordinary “specification” or “design” document. And we could polish those until Makes me hate humans even more than I already do.
I still think LP can have it’s place, especially when writing code meant to be read as a teaching tool, like: And good enough is what keeps many from using optimal practices. Instead of writing code containing documentation, the literate programmer writes documentation containing code. Hoare had heard rumors about my work and he wrote to Stanford suggesting that I keep publication in mind.