GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

p761-thompson.pdf

Download link

Notices where this attachment appears

  1. Embed this notice
    pistolero (p@fsebugoutzone.org)'s status on Sunday, 19-Apr-2026 03:54:35 JST pistolero pistolero
    in reply to
    @mjg59 If you measure prose by looking at corporate emails and VCR manuals, then you come to the same conclusion.

    When I write prose, I'm putting my thoughts into English. When I write code, I'm telling my thoughts to a machine.

    Even a little script, I'm teaching the machine how I want to talk to it. I put it in ~/bin and I've taught the computer a word. I build up my little environment where the machine and I understand each other. Dick Gabriel, the "Worse is Better" author, said:

    > I'm always delighted by the light touch and stillness of early programming languages. Not much text; a lot gets done. Old programs read like quiet conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler. Who'd have guessed sophistication bought such noise?

    If style and thoughts couldn't come out through the code, he wouldn't be able to say something like that.

    ken, when describing his compiler bug, started off talking about adding '\v' to the C compiler. First he hard-coded the numeric value for '\v': `if(c == 'v') return 11;`. Then, because the C compiler was written in C, he could write `if(c == 'v') return '\v';`. And he said "It is as close to a 'learning' program as I have ever seen." He's taught the machine. A lot of people have read the paper, but you can go read ken's code, a lot of it is out there. (You can download a CD image, mount it, and look at his code: http://9legacy.org/download.html .) You can see a style of thinking, you can see ken in his code. Maybe you can't see someone's personality in a four-page technical manual that comes with your refrigerator, maybe you can't see someone's personality in a webapp at your day job, but that doesn't mean it's impossible to create something beautiful.

    Here is a small program:

    echo '++++[->++++<]>[-<+++++>>+++++++>++<<]<------.>>+++++.--.+.>.<[-<+>>>+<<]>[--<++>>-<]>---.+++++++++++++.+.<<<.>>>-------.---.<<<--.>.>>+++.-------.++.++[->+<<+>]>++++++.<<.<<.>[-<<->>]<<++++.[>>>--<<<-]>>>+.' | \
    sed -E 's/(.)/\1\n/g' | \
    awk 'BEGIN{print "BEGIN{p=0;"}END{print "}"}/\./{print "printf \"%c\",a[p]"}/\+/{print "a[p]++"}/-/{print "a[p]--"}/</{print "p--"}/>/{print "p++"}/\[/{print "while(a[p]){"}/\]/{print "}"}' | \
    awk -f /dev/fd/0

    Every coder I have showed this program to in person has laughed: why did they laugh?
    p761-thompson.pdf
    In conversation about 6 months ago from fsebugoutzone.org permalink
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.