Blub programmer

大世界 3.2

    Our hypothetical Blub programmer wouldn’t use either [Cobol or assembly]. Of course he wouldn’t program in machine language. That’s what compilers are for. And as for Cobol, he doesn’t know how anyone can get anything done with it. It doesn’t even have x (Blub feature of your choice).

    As long as our hypothetical Blub programmer is looking down the power continuum, he knows he’s looking down. Languages less powerful than Blub are obviously less powerful, because they’re missing some feature he’s used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn’t realize he’s looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub.

    When we switch to the point of view of a programmer using any of the languages higher up the power continuum, however, we find that he in turn looks down upon Blub. How can you get anything done in Blub? It doesn’t even have y.

    By induction, the only programmers in a position to see all the differences in power between the various languages are those who understand the most powerful one. (This is probably what Eric Raymond meant about Lisp making you a better programmer.) You can’t trust the opinions of the others, because of the Blub paradox: they’re satisfied with whatever language they happen to use, because it dictates the way they think about programs.
   
— Paul Graham

2011.03.02 Wednesday ACHK

Binomial Theorem 1.1

二項式定理有一個驗算方法。例如,題目要你把 展開(expand)至 為止。而你運算到的答案是 。你怎樣可以知道,自己有沒有運算錯誤呢?

首先,你要知道,這種題目的目的,是要做近似值,以簡化運算。如果把 的所有項也寫出來的話,你總共要寫 24 項。

如果你只想寫(次方由小至大的)頭幾項,而又要近似值足夠準確的話,x 一定要是在 1 和 -1 之間的一個很小的數值,因為 x 的數值越小, x 越大次方的數值就越可以忽略。例如,x 是百份之一的話, x 二次方就是萬分之一。而 x 三次方就是百萬分之一。

— Me@2011.03.02

2011.03.02 Wednesday (c) All rights reserved by ACHK