# Before Mathematica

I figured if I couldn’t explain something clearly in documentation, nobody was ever going to understand it, and it probably wasn’t designed right. And once something was in the documentation, we knew both what to implement, and why we were doing it.

I think this a great practice to follow. I often find it very helpful to write documentation before writing code. I find I end up with a better designed system this way, and as an added bonus it has great documentation too.

— There Was a Time before Mathematica

— Stephen Wolfram

.

The main idea is to regard a program as a communication to human beings rather than as a set of instructions to a computer.

— Donald Knuth

.

Programs are meant to be read by humans and only incidentally for computers to execute.

— Structure and Interpretation of Computer Programs

.

.

2022.08.16 Tuesday ACHK

# 程式員頭腦 15

.

But while you don’t literally need math for most kinds of hacking, in the sense of knowing 1001 tricks for differentiating formulas, math is very much worth studying for its own sake. It’s a valuable source of metaphors for almost any kind of work.[3] I wish I’d studied more math in college for that reason.

[3] Eric Raymond says the best metaphors for hackers are in set theory, combinatorics, and graph theory.

— March 2005

— Paul Graham

.

（安：另外，他提的另一個，有關學習數學的要點是，即使假設你在大學中，學到的數學，在日常生活中沒有用，單單是為獲取，那些嶄新的元素概念本身，就已經能夠令你有超能力；令你有一些，常人沒有的思考工具、比喻語言。）

.

— Me@2022-02-13 10:46:08 AM

.

.

# 長頸豹 3

SICM, 3.2 | SICP, 2.2

（安：你上星期也有提及過，那本電腦界的神作。）

「靈感」中的「靈」，其實就是解「靈活」、「靈通」，即是有大量和多類型的資料或消息來源。

— Me@2014.06.03

# SICP, 3

Just as every day thoughts are expressed in natural language, and formal deductions are expressed in mathematical language, methodological thoughts are expressed in programming languages. A programming language is a method for communicating methods, not just a means for getting a computer to perform operations – programs are written for people to read as much as they are written for machines to execute.

— Lisp: A language for stratified design

— Harold Abelson, Gerald Jay Sussman

— SICP distilled

— jao

2013.05.31 Friday ACHK

# Hacker 3

.

The Jargon File has had a special role in acculturating hackers since its origins in the early 1970s. Many textbooks and some literary works shaped the academic hacker subculture; among the most influential are:

* Hackers: Heroes of the Computer Revolution, by Steven Levy
* Godel, Escher, Bach, by Douglas Hofstadter
* The Art of Computer Programming (TAOCP), by Donald Knuth
* The Mythical Man-Month, by Brooks
* Compilers: Principles, Techniques, and Tools (“the Dragon Book”), by Aho, Sethi, and Ullman
* Structure and Interpretation of Computer Programs (SICP), by Abelson and Sussman
* The C Programming Language (K&R), by Kernighan and Ritchie
* The Hitchhiker’s Guide to the Galaxy, by Douglas Adams
* The Tao of Programming, by Geoffrey James
* The Illuminatus! Trilogy, by Robert Shea and Robert Anton Wilson
* Principia Discordia, by Greg Hill and Kerry Thornley
* The Soul of a New Machine, by Tracy Kidder
* The Cuckoo’s Egg, by Cliff Stoll
* The Unix System, by Stephen R. Bourne
* Hackers & Painters, by Paul Graham
* The Cathedral and the Bazaar, by Eric S. Raymond
* The essays of Richard M. Stallman (many published in Free Software, Free Society: Select Essays of Richard M. Stallman)

– Wikipedia on Hacker (programmer subculture)

.

.

[10] “Hacker” here means a highly skilled programmer, not a computer criminal. — Me

The basic difference is this: hackers build things, crackers break them. — Eric S. Raymond

In academia, a “hacker” is a person who follows a spirit of playful cleverness and enjoys programming.

.

.

.

2010.03.04 Thursday ACHK

# SICM, 3.2

《SICM》（Structure and Interpretation of Classical Mechanics）中的編程語言，除了 Scheme 的本體外，還會用到作者特製的力學程式庫 Scmutils。而這個程式庫（library）卻只有 Linux 的版本，不能安裝在 Windows 之中。那導致我要特意在我的 Windows 中，先裝一個 virtual machine（虛擬機器），從而在那個虛擬機器之上，再安裝一個 Linux 作業系統。

— Me@2012.12.25

# 尋找時間的定義

SICM, 3 | SICP, 2

《SICP》跟《SICM》，同樣是超級名著。但是它不易理解。幸好，它官方網站提供了，一些 1986 年的講課錄影。當年（2006），尚未流行使用 YouTube，所以我要花很多時間，下載那些錄影。我還記得，每節課的錄影檔案，有 600MB 那麼大。

— Me@2012.12.23

# SICM, 2

《SICM》（Structure and Interpretation of Classical Mechanics）總共花了我兩年的時間。我大概由 2006 年，閱讀至 2008 年。除了閱讀課文外，我還把內裡的幾乎所有練習，無論是數學題，還是程式題，都一一擊破。要花那麼長的時間才能完成，主要是因為上班的工務繁忙。每日可以花在自修的時間，通常也不會超過半小時。

— Me@2012.12.21

# 程式員頭腦 14.3

SICM, 1.3

（安：那本書真的用 programming（電腦編程），來講解 mechanics（力學）？）

— Me@2012.12.18

# 概念滑轉

SICM, 1.2 | 程式員頭腦 14

“In almost all textbooks, even the best, this principle is presented so that it is impossible to understand.” (K. Jacobi, Lectures on Dynamics, 1842-1843). I have not chosen to break with tradition.

— V. I. Arnold, Mathematical Methods of Classical Mechanics, footnote, p. 246

Structure and Interpretation of Classical Mechanics

— Me@2012.12.17

# SICM

（安：我怎樣把 mechanics（力學）學得好一點？）

（安：經典力學。）

（安：暫時純粹為了求知和娛樂。）

— Me@2012.12.15

# Hacker 3

.

The Jargon File has had a special role in acculturating hackers since its origins in the early 1970s. Many textbooks and some literary works shaped the academic hacker subculture; among the most influential are:

* Hackers: Heroes of the Computer Revolution, by Steven Levy
* Godel, Escher, Bach, by Douglas Hofstadter
* The Art of Computer Programming (TAOCP), by Donald Knuth
* The Mythical Man-Month, by Brooks
* Compilers: Principles, Techniques, and Tools (“the Dragon Book”), by Aho, Sethi, and Ullman
* Structure and Interpretation of Computer Programs (SICP), by Abelson and Sussman
* The C Programming Language (K&R), by Kernighan and Ritchie
* The Hitchhiker’s Guide to the Galaxy, by Douglas Adams
* The Tao of Programming, by Geoffrey James
* The Illuminatus! Trilogy, by Robert Shea and Robert Anton Wilson
* Principia Discordia, by Greg Hill and Kerry Thornley
* The Soul of a New Machine, by Tracy Kidder
* The Cuckoo’s Egg, by Cliff Stoll
* The Unix System, by Stephen R. Bourne
* Hackers & Painters, by Paul Graham
* The Cathedral and the Bazaar, by Eric S. Raymond
* The essays of Richard M. Stallman (many published in Free Software, Free Society: Select Essays of Richard M. Stallman)

— Wikipedia on Hacker (programmer subculture)

.

.

[10] “Hacker” here means a highly skilled programmer, not a computer criminal. — Me

The basic difference is this: hackers build things, crackers break them. — Eric S. Raymond

In academia, a “hacker” is a person who follows a spirit of playful cleverness and enjoys programming.

2010.03.04 Thursday $ACHK$