KTUGFaq

KTUG FAQ

α:
йȣ:
The Tree of Learning bears the noblest fruit, but noble fruit tastes bad.
SampleDocument/AMSLaTeXKTUGCollection2006&value=PDF?독후감&value=%B8%ED%B7%C9%C7%E0 › WinEdtLyX/misc&value= › LiterateProgramming
lpcover.jpg

ڵ Knuth Literate Programming ǥ ִ ڵԴϴ.

1 α׷ ̶?
1.1 Ұ
1.2 Knuth α׷
1.3 Knuth α׷ֿ
1.4 α׷
1.5 α׷ Ʈ
2 α׷ ý
2.1 LaTeX ̿ α׷
2.1.1 noweb ̿ϴ
2.1.2 CWEB ̿ϴ
2.1.3 Ÿ ڷ
2.2 PlainTeX ̿ α׷

[]

1 α׷ ̶?

α׷(literate programming) α׷ , α׷ ǻͷ ڵ带 ͺ ϱ ڵ带 Ϳ δ ̴. , ֵ α׷ ϴ ̴. 'ġ ǰ д ó α׷ ֵ ' ǥ̹Ƿ ' α׷'̶ ̸ . (ó: [http] α׷-Ű)

[]

1.1 Ұ

α׷ 츮 TeX ڷ ˷ Knuth  α׷ ο зԴϴ. Knuth ̿ üȭϱ 1980 ʹ̴ϱ 2006 ν 'ο'̶ ܾ ϴ. ׸ θ ̿ǰ ͽϴ.

п 뺧̶ Ҹ Ʃ([http]A. M. Turing Award) ֽϴ. 1974 Ʃ ڴ ˰ м α׷ ׸, The art of computer programming ̶ о߿ Knuth ϴ.

(?)ν Ʃ ACM Turing Award Lecture ̸ Ǹ ϰ Ǿ ִµ, 1974 Computer Programming as an Art(ο ÷ "knuth-turingaward.pdf)ϴ" ε. Knuth ⼭ ǻ α׷ ܼ ƴ , ̼, а ϳ Ȱ̶ ϰ ֽϴ. ׸ кο ǻ α׷ ڽ ν α׷ ۾ ϸ, α׷ ̰, ̶ մϴ.

To summarize: We have seen that computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better. Therefore we can be glad that people who lecture at computer conferences speak about the state of the Art.

α׷ ̷ ߳ϴ. ǻ α׷ 밡 Դϴ. Ǹ ̴ α׷ Knuth Literate Programming (@knuthweb.pdf (257.24 KB) ) մϴ. Knuth ̻ ǻ͸ α׷ ϴ ô ٰ մϴ. α׷ ڰ մϴ. α׷̶ ǻͿ Ű ɵ , ̰Ϳ Ͽ ʹ ǻͿ , 鿡 ڴ . ǻ α׷ ׻ ô밡 .

ϰǰ ǻ α׷ ǰ(works of literature) ϰ, ִ Literate Programming ̶ ½ϴ. Knuth α׷ ܼ 峭 ġ Ⱦؼ WEB̶ ý ½ϴ. TeX WEB ý ٴ ˷ .

I believe that the time is ripe for significantly better documentation of programs, and that we can best achieve this by considering programs to be works of literature. Hence, my title: Literate Programming. Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.

  • WEB ۼ TeX ҽ: [http]tex.web
    ǻ α׷ ϴ ݵ о Ѵٰ մϴ. TeX ͼ ѹ մϴ.
  • ִ Ͽ: pdf  ϴ. tex.web ٿð,
    % weave tex.web      <-- tex.web Ͽ tex.tex  ϴ.
    % tex tex.tex        <-- tex ̳ ׿. 
    % dvipdfmx tex.dvi
    
    ó Ͽ å ٷ Knuth Computers & Typesetting ø Volume B TeX: The Program Դϴ.

  • :  MiKTeX ̿Ͻô KTUGContrib:3247 (by ̾ƺ) ϸ ˴ϴ.

  • []

    1.2 Knuth α׷

    Knuth 1987 10~12 п Mathematical Writing̶ Ǹ Ͽϴ. Ϻΰ α׷ֿ Դϴ.  ªƼ ˾Ƶ ϴµ, Ѱ Mathematical Writing ̶ å ִµ, å Ǹ л Knuth å " Ʈ" £ϴ. ̿ å ش κ øϴ. û Ǹ ϴ.
    []

    1.3 Knuth α׷ֿ

    [http]TUGboat Volume 26 (2005), No.3 [http]Interview with Donald E. Knuth Knuth ͺ 簡 ǷȽϴ. 翡 TeX ؼ  ߴ° 信 Knuth α׷ֿ ִ κ ֱ⿡ Ű ϴ.

    "The tools I used were home grown and became known as Literate Programming. I am enormously biased about Literate Programming, which is surely the greatest thing since sliced bread. I continue to use it to write programs almost every day, and it helps me get efficient, robust, maintainable code much more successfully than any other way I know. Of course, I realize that other people might find other approaches more to their liking; but wow, I love the tools Ive got now. I couldnt have written difficult programs like the MMIX meta-simulator at all if I hadnt had Literate Programming; the task would have been too difficult."

    []

    1.4 α׷

    []

    2 α׷ ý

    α׷ α׷ ҽ ׿ ȭ ۾ ÿ ϴ ̴. α׷ ҽ ũ α׷ κа ȭ κ . α׷ κ α׷  ٸ, ȭ κ ⺻ LaTeX Ȥ plain TeX ̿Ѵ. ȭ κп  TeX ϴĿ ְڴ.
    []

    2.1 LaTeX ̿ α׷

    WEB/CWEB ⺻ TeX ϵ Ǿ ̿ؼ LaTeX ִ. ũ ΰ ִ.
    []

    2.1.1 noweb ̿ϴ

    noweb LaTeX ̿ ֵ, α׷  ֵ , WEB ̴. LaTeX ϱ ؼ noweb ϴ ̶ ִ.
    • : Ÿ ϸ μ Ŭ ȥϿ ϴ ϴ. α׷  Ѵ.
    • : nawk ٸ ƿƼ Ͽ ҽ ϰ ǹǷ ġ ʿϴ. CWEB ʹ ٸ.
    []

    2.1.2 CWEB ̿ϴ

    CWEB LaTeX ̿ , LaTeX ̿Ϸ, noweb Ѵ.

    CWEB ۼ w Ѵ. cweb.cls ϴ Ŭ Ƿ ̸ ̿ϰ ȴ.
    • : w ϵ  μ LaTeX 󿡼 ϴ.
    • : Ŭ ϸ μ Ȯ Ұ ϴ.  ޸ƿ ϱ ؼ Ŭ cweb.cls .sty Ϸ ؾ ϴµ, ǹ ϴٰ ȴ.
    []

    2.1.3 Ÿ ڷ

    LaTeX CWEB α׷ Ǿ ִ.
    []

    2.2 PlainTeX ̿ α׷


    ^
    Valid XHTML 1.0! Valid CSS! powered by MoniWiki
    last modified 2006-07-17 12:03:48
    Processing time 0.0654 sec