Talk:VBNET:WikiCompiler

From GPWiki

Files:GUITutorial_warn.gif The Game Programming Wiki has moved! Files:GUITutorial_warn.gif

The wiki is now hosted by GameDev.NET at wiki.gamedev.net. All gpwiki.org content has been moved to the new server.

However, the GPWiki forums are still active! Come say hello.

I would reccommend changing the yellow and green highlights. These colours can be very hard to read on a white background (especially yellow). I would recommend using an orangier (yes, that's a word :) colour and a darker green. - sik0fewl 10:06, 8 Apr 2005 (EDT)

Dead?

Is the project dead, finished or in hibernation, "Created by: X"? I'd love to see some more activity on the projects, it's a fantastic idea! :) --Sion 17:25, 8 December 2005 (EST)

Literate Programming

After reading the below about Literate Programming, one or two years ago, I don't remember exactly, I immediately sent a letter to RMS to ask if it would be a good idea to integrate GCC with Mediawiki, as it struck me as the most obvious way to combine brilliant coders with brilliant documentation writers - you only need a browser to contribute code or documentation, it has version control, and if GCC could just parse the code from the URL you have a winner. He wasn't too keen on the idea, but here you have quite independently - and about the same time too - funny that - come up with a very similar idea and implemented it too! Wonderful! You are so cool!

Cheers, Haakon Meland Eriksen on August 2, 2006

Donald Knuth. "Literate Programming (1984)" in Literate Programming. CSLI, 1992, pg. 99.

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.

The practitioner of literate programming can be regarded as an essayist, whose main concern is with exposition and excellence of style. Such an author, with thesaurus in hand, chooses the names of variables carefully and explains what each variable means. He or she strives for a program that is comprehensible because its concepts have been introduced in an order that is best for human understanding, using a mixture of formal and informal methods that reinforce each other.
Donald Knuth. The CWEB System of Structure Documentation. Addison-Wesley. 1994. pg. 1.

The philosophy behind CWEB is that an experienced system programmer, who wants to provide the best possible documentation of his or her software products, needs two things simultaneously: a language like TeX for formatting, and a language like C for programming. Neither type of language can provide the best documentation by itself; but when both are appropriately combined, we obtain a system that is much more useful than either language separately.

The structure of a software program may be thought of as a "WEB" that is made up of many interconnected pieces. To document such a program we want to explain each individual part of the web and how it relates to its neighbors. The typographic tools provided by TeX give us an opportunity to explain the local structure of each part by making that structure visible, and the programming tools provided by languages like C make it possible for us to specify the algorithms formally and unambiguously. By combining the two, we can develop a style of programming that maximizes our ability to perceive the structure of a complex piece of software, and at the same time the documented programs can be mechanically translated into a working software system that matches the documentation.

Besides providing a documentation tool, CWEB enhances the C language by providing the ability to permute pieces of the program text, so that a large system can be understood entirely in terms of small sections and their local interrelationships. The CTANGLE program is so named because it takes a given web and moves the sections from their web structure into the order required by C; the advantage of programming in CWEB is that the algorithms can be expressed in "untangled" form, with each section explained separately. The CWEAVE program is so named because it takes a given web and intertwines the TeX and C portions contained in each section, then it knits the whole fabric into a structured document.
For another aproach on combining literate programming and wikis, have a look at the LiteratePrograms. It uses Noweb to extract code from literate programs written in wiki markup. The extracted code can be downloaded as tarballs. It also compiles C and C++ code, and display compiler warnings and error messages on the download page. Ahy1 10:46, 2 August 2006 (EDT)