WFBarnes [Home] - [Sxript] - [Linkboard] - [qjTerm]


Making Good Programs
wfbarnes



Of Blocks and Pyramids

...




Appendix

Elements of Programming Style

Computer science founding father Brian W. Kernighan shared plenty of useful wisdom on programming style in his legendary book, Elements of Programming Style. Over time, searches for the same quote turn up the following (weaker) version:

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."

[return]

Citation:
Kernighan, Brian W. (1974)
Elements of Programming Style
Version: ISBN 0-07-034207-5

Gödel's Incompleteness Theorems

According to plato.stanford.edu:

"Any consistent formal system F within which a certain amount of elementary arithmetic can be carried out is incomplete; i.e., there are statements of the language of F which can neither be proved nor disproved in F."

"For any consistent system F within which a certain amount of elementary arithmetic can be carried out, the consistency of F cannot be proved in F itself."

[return]

Citation:
Gödel's Incompleteness Theorems
https://plato.stanford.edu/entries/goedel-incompleteness/
Version: 2020-04-02
Accessed: 2021-01-16

Noble Eightfold Path

The Noble Eightfold Path, translated to English:

(1) Right View
(2) Right Resolve
(3) Right Speech
(4) Right Conduct
(5) Right Livelihood
(6) Right Effort
(7) Right Mindfulness
(8) Right Insight

[return]

Citation:
Vetter, Tilmann (1988)
The Ideas and Meditative Practices of Early Buddhism.
Version: ISBN 90-04-08959-4.

Proving a Computer Program's Correctness

According to phys.org:

"Professor Gernot Heiser, the John Lions Chair in Computer Science in the School of Computer Science and Engineering and a senior principal researcher with NICTA, said for the first time a team had been able to prove with mathematical rigour that an operating-system kernel - the code at the heart of any computer or microprocessor - was 100 per cent bug-free and therefore immune to crashes and failures."

[return]

Citation:
Code breakthrough delivers safer computing
https://phys.org/news/2009-09-code-breakthrough-safer.html
Version: 2009-09
Accessed: 2021-01-15

Richard Feynmann: Computer Heuristics

In a lecture named Computer Heuristics, Richard Feynmann playfully explains that computers don't really compute - the nuts-and-bolts is all about storage and retrieval.

At Bell Labs in 1985, Feynmann would reduce computers out of the "science" category altogether:

"The question is, is there any science to be gained from this, or have we reduced it to engineering from this point out? I thought it was engineering from the first place! I don't believe in computer "science". To me, science is the study of the bahavior of nature, and engineering is [about] things we make."

[return]

Citation:
Richard Feynman: Computer Heuristics - Principia Scientifica
https://sites.google.com/site/principiascientifica/lecture/richard-feynman-computer-heuristics
Accessed: 2021-01-15

Socratic Method

The sources for this topic are numerous, but the excat text quoted above comes from lucidphilosophy.com.

[return]

Citation:
Socratic Method: Explanation and Exercises
https://lucidphilosophy.com/chapter-4-socratic-method/
Accessed: 2021-01-19