Afbeelding van de auteur.
70 Werken 8,882 Leden 50 Besprekingen Favoriet van 29 leden

Besprekingen

Engels (38)  Deens (7)  Italiaans (4)  Hongaars (1)  Russisch (1)  Alle talen (51)
1-25 van 51 worden getoond
At one point, I wrote C++ code using CWEB. The experience (which I found rather positive) convinced me that almost no other developer I knew would find it positive. (The approach of writing discursive text and code in parallel, although highly conducive to good code, is also extremely demanding.)

This collection of papers, centred on WEB and on related issues -- the article on "The Errors of TeX" should be required reading in any CS course of study -- remains both enlightening and relevant thirty-plus years on, although the overall approaches of most software practitioners (IDEs, automated refactoring tools, etc.) make the application of the disciplines described less likely than ever.
 
Gemarkeerd
jsburbidge | 2 andere besprekingen | Dec 20, 2023 |
Wonderful discussion of all sorts of ideas, both scientific and theological. Especially excellent explanation of his 3:16 project.
 
Gemarkeerd
mrklingon | 5 andere besprekingen | May 1, 2023 |
This was a very useful book when I was new to programming as a career, and needed deeper understanding of what was meant by a well-constructed program.
 
Gemarkeerd
mykl-s | 5 andere besprekingen | Apr 16, 2023 |
This latest volume has the cloth cover and sewn binding of the other volumes, which is nice in this day and age of shoddy bookmaking workmanship. A few pages in my copy seem to have gotten too much ink, but I guess that's the price you pay to have a book printed using real ink rather than toner.

The "Mathematical Preliminaries Redux" section talks about countable probability spaces but then talks about nontrivial random processes (of infinite length) that are apparently supported on such spaces. In the standard formulation, such a process would be a function with an uncountable range but a countable domain, which I find puzzling. I passed my concerns on to Dr. Knuth, but I wasn't able to convince him that there was an issue. It was an honor to get a hand-written reply from an icon anyway.

At the time of this book's release, Dr. Knuth is 84 and has plans for writing Volumes 5, 6, and 7. May it be!
 
Gemarkeerd
cpg | Oct 21, 2022 |
Like any of Donald Knuth’s books, this work constitutes a classic of computer science. Knuth attempts to integrate the art of writing good literature with the art of writing computer code. Using a series of papers and articles published between 1974 and 1989, he illustrates the historical genesis of writing more understandable code. Although modern programmers will find many constructs to be dated, the historical and conceptual value of these writings cannot be underestimated. Without such understanding of the past, modern programmers will merely spin their wheels in older problems instead of inventing the future.

This work starts out with an old debate (1970s) on the “goto” statement’s use. The conclusion Knuth reaches is the conclusion the rest of the community ended up maintaining – that the goto statement obscures rather than clarifies readable code. It’s interesting to see, even if just at a scanning glance, how ideas come together in one context and inspire further conversation in later contexts (i.e., the rest of the book). This introduction, though lengthy, climaxes in an important question: What exactly is readable code?

The author develops a system called WEB to address this problem. WEB combines markup text in the TEX markup language with Pascal code. As such, each approach is described twice in code, once in human language and another in computer language. This provides obvious benefit to programmers seeking to maintain code – a challenge far more difficult in today’s context thirty years hence. Although present-day languages are different, many approaches still use the basic kernel of this book’s ideas by combining coding and documentation (e.g., JavaDoc and PHPDoc). These are more than comments; they are systematic documentation for a pre-processor to parse and produce compiled, printable literature.

Obviously, this work is a historical gem to those interested in the history of computing. Advanced programmers and those interested in the theoretical and historical underpinnings of modern technologies will be most interested. Even those working with programmers might find some benefit. Studying the thought processes behind innovation is a helpful process for speeding modern development. This is a really good case study in such approaches over 16 years of written conversations.

Beginning and even intermediate programmers may not be interested in this work as much as I am. However, such programmers should still familiarize themselves with the author’s name Donald Knuth. He is perhaps the greatest founder of computer programming. At the time of my writing (2021), he is still alive. He helped with several advances, including the LaTEX markup language, which is partially described in this book. Literate Programming is often described as a fourth work added to Knuth’s trilogy (his magnum opus) on computer algorithms. It’s always fun and beneficial for me to wrestle with good minds; this book provides plenty of fodder for that.
 
Gemarkeerd
scottjpearson | 2 andere besprekingen | Mar 28, 2021 |


The mouseover to Randall's cartoon says:

'Dear Reader: Enclosed is a cheque for 98 cents. Using your work, I have proved this equals the amount you requested.'

Nick provides a proper review...http://www.goodreads.com/review/show/46996559

Oh. It's full of jokes, by the way. Just as well I didn't have my cup of tea in hand when I came upon this one:

4. [M50] Prove that when n is an integer, n > 2, the equation xn yn = zn has no solution in positive integers x, y, z. (NB the book was published in the 1960s.)
 
Gemarkeerd
bringbackbooks | 5 andere besprekingen | Jun 16, 2020 |
Donald E. Knuth is an emeritus professor of computer science at Stanford. Perhaps computer scientists know him best for his 3-volume _The Art of Computer Programming_, which is allegedly a classic in their field. In my field of mathematics, Knuth is best known for having written the program TeX, which is used by almost all mathematicians to typeset their mathematical writings. His other activities make it not unusual for his name to be mentioned in the same breath as the names of Martin Gardner, Douglas Hofstadter, Ron Graham, John Conway, etc.

In 1997, I attended a professional conference at Stanford and saw Knuth in person when he gave a plenary address. His talk didn't stick with me, but I won't soon forget the unusual shirt he was wearing, which made him look like a devotee of some eastern religion. Well, he isn't. It turns out that Knuth is a lifelong Lutheran, that unusual shirt was made for him by one of his co-parishoners, and this book is Knuth's attempt to explain his faith and to relate it to his profession.

This book is a quick and easy read. It's based on a series of 6 talks Knuth gave in a seminar on God and Computer Science at MIT. Much of the book is devoted to a discussion of Knuth's creation of the book 3:16 several years ago. That book dealt with the bible verses Genesis 3:16, Exodus 3:16, . . ., John 3:16, . . ., Revelation 3:16. With no knowledge of Hebrew, Greek, or Aramaic, Knuth came up with his own translation of each of these verses (using Strong's Concordance and similar tools), had a different world-class calligrapher write out each one, and then gave a 4 page analysis of each verse, based on his reading of every commentary he could get his hands on.

In the course of discussing his 3:16 work, Knuth spends a chapter talking about language translation, which ties into Hofstadter's Le Ton Beau De Marot. In fact, in the Q&A session following the MIT lecture
corresponding to this chapter, someone asked Knuth about Hofstadter's book, and he replied that he wasn't familiar with it (even though he apparently knows Hofstadter personally and Hofstadter's book had been in print for about 2 years at the time of the lecture). I think Knuth's decision not to be familiar with Le Ton Beau may have been a wise one!

This book confirms my previous impression of Knuth as an eccentric. His choice of topics seems a bit unusual for a book ostensibly on science and religion. Several of his questioners at the MIT lectures seemed to share my mild disappointment. For example, one questioner after the final lecture asked "What do all these issues of computational complexity, infinity, and the positing of God have to do with good, bad, and purpose?"

When he does open up, Knuth is revealed as a humble and devout Christian, with views leaning toward the liberal side of the spectrum. (It seems like he quotes Tillich--and Harvard's Peter Gomes--an awful lot.)
 
Gemarkeerd
cpg | 5 andere besprekingen | May 16, 2020 |
Knuth è Knuth. Per un matematico e informatico quale io sono è la cosa più vicina a un dio in terra. Se aggiungete la mia rinomata serietà, capirete perché non potevo non comprarmi questo volume, che raccoglie articoli non esattamente accademici, da "Controesempio a una congettura di Peano" che dimostra che 1+1=3 in certi casi, come per l'appunto la nascita del suo primo figlio, oppure due lunghe dissertazioni su targhe automobilistiche "vanità" e cartelli stradali americani. Non spaventatevi troppo dalla lunghezza del testo: più di 100 pagine sono dedicate al codice per Adventure (chi ha la mia età sa bene di che si parla). Ci sono anche tratti personali, come le cartoline matematiche natalizie che lui e sua moglie hanno spedito negli anni agli amici o il concorso che aveva vinto da ragazzo trovando il maggior numero di anagrammi parziali del nome dello sponsor di una trasmissione televisiva. Il libro è insomma consigliato ai fan di Knuth (quorum ego) ma non al lettore comune.
 
Gemarkeerd
.mau. | Jan 13, 2019 |
(Original Review, 2011)

Here's my code and a sample run attempting to find the shortest path from "Home" to "School":

class Location:
def __init__(self, name):
self.name = name
self.connections = []

def set_connections(self, connections):
self.connections = connections

def __str__(self):
return self.name

home = Location("Home")
storeA = Location("StoreA")
storeB = Location("StoreB")
school = Location("School")
intersection = Location("Intersection")

home.set_connections([storeA, storeB, intersection])
storeA.set_connections([home, storeB])
storeB.set_connections([school])
school.set_connections([storeB, intersection])
intersection.set_connections([school])

visited = []
paths = []

def find_path(start, dest):
visited.append(start)
if start.connections.count(dest) == 1:
print("From ", start, " to ", dest)
print("Found", dest)
visited.append(dest)
paths.append(list(visited))
visited.clear()
else:
for location in start.connections:
if visited.count(location) != 1:
#visited.append(location)
print("From ", start, " to ", location)
find_path(location, dest)

find_path(home, school)

minn = len(paths[0])
index = 0
for i in range(len(paths)):
#print(paths[i])
if minn > len(paths[i]):
minn = len(paths[i])
index = i

print("The shortest path is:")
for j in range(len(paths[index])):
print("From ", paths[index][j], " to ")

#Output:
From Home to StoreA
From StoreA to StoreB
From StoreB to School
Found School
From Home to StoreB
From StoreB to School
Found School
From Home to Intersection
From Intersection to School
Found School
The shortest path is:
From StoreB to
From School to

Question: What Knuth algorithm did I use here?

Bottom-line: Knuth once said something that I still remember to this day (and I follow this dictum to the letter): "Do your own thing and know what you are talking about."
 
Gemarkeerd
antao | Oct 20, 2018 |
Donald Knuth, writes about his thoughts on God and Computer Science, but he goes into a lot of details about 3:16 book. Most of this book goes to talk about 3:16 book.

He says theologians, bible translations are more difficult than Computer Science, and mathematicians because there's more work involved, and scholarly opinion on each text.

I learnt about sampling method, and how he learnt a lot by selecting sample verses from each chapter of the Bible. Other than, that I don't think he said something new. He's humble about this topic.

Deus Vult,
Gottfried.
 
Gemarkeerd
gottfried_leibniz | 5 andere besprekingen | Apr 5, 2018 |
Donald Knuth, writes about his thoughts on God and Computer Science, but he goes into a lot of details about 3:16 book. Most of this book goes to talk about 3:16 book.

He says theologians, bible translations are more difficult than Computer Science, and mathematicians because there's more work involved, and scholarly opinion on each text.

I learnt about sampling method, and how he learnt a lot by selecting sample verses from each chapter of the Bible. Other than, that I don't think he said something new. He's humble about this topic.

Deus Vult,
Gottfried.
 
Gemarkeerd
gottfried_leibniz | 5 andere besprekingen | Apr 5, 2018 |
Very, very good — and beautiful.
 
Gemarkeerd
leandrod | 2 andere besprekingen | Oct 4, 2017 |
About God. And it is good, if a bit liberal.
 
Gemarkeerd
leandrod | 5 andere besprekingen | Oct 4, 2017 |
Indeholder "Preface", "Preface to the Second Edition", "Notes on the Exercises", "Chapter 5. Sorting", " 5.1* Combinatorial Properties of Permutations", " 5.1.1* Inversions", " 5.1.2* Permutations of a Multiset", " 5.1.3* Runs", " 5.1.4* Tableaux and Involutions", " 5.2. Internal sorting", " 5.2.1. Sorting by Insertion", " 5.2.2. Sorting by Exchanging", " 5.2.3. Sorting by Selection", " 5.2.4. Sorting by Merging", " 5.2.5. Sorting by Distribution", " 5.3. Optimum Sorting", " 5.3.1. Minimum-Comparison Sorting", " 5.3.2* Minimum-Comparison Merging", " 5.3.3* Minimum-Comparison Selection", " 5.3.4* Networks for Sorting", " 5.4. External Sorting", " 5.4.1. Multiway Merging and Replacement Selection", " 5.4.2. The Polyphase Merge", " 5.4.3. The Cascade Merge", " 5.4.4. Reading Tape Backwards", " 5.4.5. The Oscillating Sort", " 5.4.6. Practical Considerations for Tape Merging", " 5.4.7* External Radix Sorting", " 5.4.8* Two-Tape Sorting", " 5.4.9. Disks and Drums", " 5.5. Summary, History, and Bibliography", "Chapter 6. Searching", " 6.1 Sequential Searching", " 6.2 Searching by Comparison of Keys", " 6.2.1 Searching an Ordered Table", " 6.2.2 Binary Tree Searching", " 6.2.3 Balanced Trees", " 6.2.4 Multiway Trees", " 6.3. Digital Searching", " 6.4. Hashing", " 6.5. Retrieval on Secondary Keys", "Answers to Exercises", "Appendix A: Tables of Numerical Quantities", " 1. Fundamental Constants (decimal)", " 2. Fundamental Constants (octal)", " 3. Harmonic Numbers, Bernoulli Numbers, Fibonacci Numbers", "Appendix B: Index to Notations", "Index and Glossary".

Biblen om sortering og søgning. En masse varianter hedder noget med Knuth, fx Bose-Nelson-Knuth Search.
 
Gemarkeerd
bnielsen | 1 andere bespreking | Nov 8, 2016 |
Indeholder "Preface", "Preface to the Second Edition", "Notes on the Exercises", "Chapter 3. Random Numbers", " 3.1. Introduction", " 3.2. Generating Uniform Random Numbers", " 3.2.1. The Linear Congruential Method", " 3.2.1.1. Choice of modulus", " 3.2.1.2. Choice of multiplier", " 3.2.1.3. Potency", " 3.2.2. Other Methods", " 3.3. Statistical Tests", " 3.3.1. General Test Procedures for Studying Random Data", " 3.3.2. Empirical Tests", " 3.3.3* Theoretical Tests", " 3.3.4. The Spectral Test", " 3.4. Other Types of Random Quantities", " 3.4.1. Numerical Distributions", " 3.4.2. Random Sampling and Shuffling", " 3.5* What Is a Random Sequence?", " 3.6. Summary", "Chapter 4. Arithmetic", " 4.1. Positional Number Systems", " 4.2. Floating Point Arithmetic", " 4.2.1. Single-Precision Calculations", " 4.2.2. Accuracy of Floating Point Arithmetic", " 4.2.3* Double-Precision Calculations", " 4.2.4. Distribution of Floating Point Numbers", " 4.3. Multiple Precision Arithmetic", " 4.3.1. The Classical Algorithms", " 4.3.2* Modular Arithmetic", " 4.3.3* How Fast Can We Multiply?", " 4.4. Radix Conversion", " 4.5. Rational Arithmetic", " 4.5.1. Fractions", " 4.5.1. The Greatest Common Divisor", " 4.5.3* Analysis of Euclid's Algorithm", " 4.5.1. Factoring into Primes", " 4.6. Polynomial Arithmetic", " 4.6.1. Division of Polynomials", " 4.6.2* Factorization of Polynomials", " 4.6.3. Evaluation of Powers", " 4.6.4. Evaluation of Polynomials", " 4.7* Manipulation of Power Series", "Answers to Exercises", "Appendix A. Tables of Numerical Quantities", " 1. Fundamental Constants (decimal)", " 2. Fundamental Constants (octal)", " 3. Harmonic Numbers, Bernoulli Numbers, Fibonacci Numbers", "Appendix B. Index to Notations", "Index and Glossary".

Mesteren selv fortæller hvordan man bør programmere. Heldigvis har folkene bag Mathematica, Maple og lignende programmer læst på lektien, så vi andre ikke behøver være helt så skarpe.
 
Gemarkeerd
bnielsen | 2 andere besprekingen | Nov 8, 2016 |
Indeholder "Preface", "Preface to the Second Edition", "Procedure for Reading This Set of Books", "Notes on the Exercises", "Chapter 1. Basic Concepts", " 1.1. Algorithms", " 1.2. Mathematical Preliminaries", " 1.2.1. Mathematical Induction", " 1.2.2. Numbers, Powers, and Logarithms", " 1.2.3. Sums and Products", " 1.2.4. Integer Functions and Elementary Number Theory", " 1.2.5. Permutations and Factorials", " 1.2.6. Binomial Coefficients", " 1.2.7. Harmonic Numbers", " 1.2.8. Fibonacci Numbers", " 1.2.9. Generating Functions", " 1.2.10. Analysis of an Algorithm", " 1.2.11* Asymptotic Representations", " 1.2.11.1* The O-notation", " 1.2.11.2* Euler's summation formula", " 1.2.11.3* Some asymptotic calculations", " 1.3. MIX", " 1.3.1. Description of MIX", " 1.3.2. The MIX Assembly Language", " 1.3.3. Applications to Permutations", " 1.4. Some Fundamental Programming Techniques", " 1.4.1. Subroutines", " 1.4.2. Coroutines", " 1.4.3. Interpretive Routines", " 1.4.3.1. A MIX simulator", " 1.4.3.2* Trace routines", " 1.4.4. Input and Output", " 1.4.5. History and Bibliography", "Chapter 2 Information Structures", " 2.1. Introduction", " 2.2. Linear Lists", " 2.2.1. Stacks, Queues, and Deques", " 2.2.2. Sequential Allocation", " 2.2.3. Linked Allocation", " 2.2.4. Circular Lists", " 2.2.5. Doubly Linked Lists", " 2 2.6. Arrays and Orthogonal Lists", " 2.3. Trees", " 2.3.1. Traversing Binary Trees", " 2.3.2. Binary Tree Representation of Trees", " 2.3.3. Other Representations of Trees", " 2.3.4. Basic Mathematical Properties of Trees", " 2.3.4.1. Free trees", " 2.3.4.2. Oriented trees", " 2.3.4.3* The "infinity lemma"", " 2.3.4.4* Enumeration of trees", " 2.3.4.5. Path length", " 2.3.4.6* History and bibliography", " 2.3.5. Lists and Garbage Collection", " 2.4. Multilinked Structures", " 2.5. Dynamic Storage Allocation", " 2.6. History and Bibliography", "Answers to Exercises", "Appendix A. Index to Notations", "Appendix B. Tables of Numerical Quantities", " 1. Fundamental Constants (decimal)", " 2. Fundamental Constants (octal)", " 3. Harmonic Numbers, Bernoulli Numbers, Fibonacci Numbers", "Index and Glossary".

En total klassiker indenfor datalogi. Knuth viser vejen og vejen er ikke altid let, men det er Vejen!
 
Gemarkeerd
bnielsen | 5 andere besprekingen | Nov 8, 2016 |
Indeholder "1. The Name of the Game", "2. Book Printing versus Ordinary Typing", "3. Controlling TEX", "4. Fonts of Type", "5. Grouping", "6. Running TEX", "7. How TEX Reads What You Type", "8. The Characters You Type", "9. TEX's Roman Fonts", "10. Dimensions", "11. Boxes", "12. Glue", "13. Modes", "14. How TEX Breaks Paragraphs into Lines", "15. How TEX Makes Lines into Pages", "16. Typing Math Formulas", "17. More about Math", "18. Fine Points of Mathematics Typing", "19. Displayed Equations", "20. Definitions (also called Macros)", "21. Making Boxes", "22. Alignment", "23. Output Routines", "24. Summary of Vertical Mode", "25. Summary of Horizontal Mode", "26. Summary of Math Mode", "27. Recovery from Errors", "Appendices", "A. Answers to All the Exercises", "B. Basic Control Sequences", "C. Character Codes", "D. Dirty Tricks", "E. Example Formats", "F. Font Tables", "G. Generating Boxes from Formulas", "H. Hyphenation", "I. Index", "J. Joining the TEX Community".

En klassiker med illustrationer af Duane Bibby. En Tex-Løve hopper rundt og prøver at holde styr på bogstaver, ord og symboler.
 
Gemarkeerd
bnielsen | 2 andere besprekingen | Nov 7, 2016 |
È stato molto bello vedere tradotto in italiano questo libretto, che ha inaugurato la collana Scienza FA di Franco Angeli. Io avevo letto l'edizione originale una ventina d'anni fa e l'ho sempre ricordata con piacere. Il libro tecnicamente è una "novelette", ma non si può leggere come un romanzo, perché di matematica ce n'è parecchia. Ma d'altra parte non è nemmeno un manuale di matematica, anche se alla fine surrettiziamente Knuth ha aggiunto qualche esercizio. In realtà è un modo per vedere come si fa davvero matematica. Si parte da una serie di regole - quelle di JHWH Conway sono solo due, proprio un insieme minimale - e si verifica da un lato che siano coerenti e dall'altro che creino una teoria interessante. Nel testo si vedono delle false strade, dei ripensamenti e a un certo punto ci si accorge di un errore fondamentale dovuto al pensare troppo per analogia: tutte cose che capitano, ma che i libri di testo nascondono accuratamente. Non è probabilmente un libro per tutti, ma gli appassionati di matematica non dovrebbero farne a meno. La traduzione di Francesco Oliveri è molto ben fatta dal punto di vista matematico, ma a mio parere avrebbe dovuto osare un po' di più nelle parti più discorsive, che sono rimaste un po' piatte. Sicuramente meglio così che una traduzione fiammeggiante ma incomprensibile, intendiamoci!
 
Gemarkeerd
.mau. | 5 andere besprekingen | Oct 22, 2016 |
A prima vista un divertissement matematico, ma in realtà un modo per vedere come si può creare una teoria, tra idee e false partenze.
 
Gemarkeerd
.mau. | 5 andere besprekingen | Oct 7, 2016 |
Too much religion... but there were some interesting thoughts throughout the book.
 
Gemarkeerd
rcoaguila | 5 andere besprekingen | Jul 19, 2014 |
Az egyik legfontosabb alapmű, ha programozásról van szó. Mégis, mire hozzájutottam, már talán képzett programozóként, túl késő volt.
Belelapozva nem éreztem úgy, hogy végig kellene olvasnom, mert elég sok algoritmust már tanultam addigra, amit pedig nem annak nem éreztem szükségét. Vagy azért, mert a használt magas szintű nyelvek alapkészletébe tartozik, így különösebb elemzés nélkül használni tudom, vagy mert nem hittem, hogy valaha is használni fogom.
A szerző kellő szintű absztrakciót nyújtó S nyelvét pedig nehézkesnek éreztem, nem akartam algoritmusokat ezen keresztül tanulni.
 
Gemarkeerd
rics | 1 andere bespreking | Mar 26, 2014 |
I used to be able to quote verbatim from various parts of this book. The massive influence Knuth had upon the computing world cannot be overestimated. I long ago accepted that the promised volumes 4, 5, 6, and 7 would never appear, and am pleased and amazed to see that there's a Volume 4A.
 
Gemarkeerd
Lyndatrue | 1 andere bespreking | Jan 11, 2014 |
I used this volume less than Fundamental Algorithms, and Sorting and Searching, but it still saved me hours and hours of work, more than once.
 
Gemarkeerd
Lyndatrue | 2 andere besprekingen | Jan 11, 2014 |
There aren't enough stars to rate this. My only regret (and it's a minor one) is that I don't have my old copies, which I gave to a friend when I bought the new and updated ones. The old ones fell open at certain pages, and this volume (and its two companions are new), and will never see the use of the others.

I see that there's a Volume 4A, but I'm not really sure that it makes sense for me to get it, at this stage in life.

Donald Knuth is one of my heroes.
3 stem
Gemarkeerd
Lyndatrue | 5 andere besprekingen | Jan 11, 2014 |
Indeholder "1. The Rock", "2. Symbols", "3. Proofs", "4. Bad Numbers", "5. Progress", "6. The Third Day", "7. Discovery", "8. Addition", "9. The Answer", "10. Theorems", "11. The Proposal", "12. Disaster", "13. Recovery", "14. The Universe", "15. Infinity", "16. Multiplication", "Postscript".

Pudsig bog. Knuth præsenterer sine hovedpersoner, Alice og Bill, for en klippe med inskriptioner om et talsystem og lader dem så udforske teorien, lidt i stil med Proofs and Refutations.
Vi følger deres glæde ved at opdage teorien og deres frustrationer, når de løber i en blindgyde eller bare går i stå.
Knuth har skrevet den som eksempel på hvad han mener der mangler i uddannelsessystemet for matematiks vedkommende.
 
Gemarkeerd
bnielsen | 5 andere besprekingen | Sep 13, 2013 |
1-25 van 51 worden getoond