Web (programming system): Difference between revisions

Content deleted Content added
No edit summary
m Disambiguating links to Dependency (link changed to Dependency (computer science)) using DisamAssist.
 
(67 intermediate revisions by 53 users not shown)
Line 1:
{{Short description|Macro-based programming language}}
{{Two other uses|the computer programming system|the [[Bible translation]]|World English Bible||web}}
{{distinguish|World Wide Web}}
{{Redirect-several|Tangle|Weave|Web}}
{{primary sources|date=October 2017}}
 
'''WEBWeb''', traditionally styled WEB, is a [[computer programming]] system created by [[Donald E. Knuth]] as the first implementation of what he called "[[literate programming]]": thehis idea that one could create [[software]] as works of [[literature]], by embedding [[source code]] insidein descriptive text, rather than the reverse. (asUnlike isstandard commonprogramming practice inwhich mostrelegates programmingdocumentation languages)to comments, inthe anWEB order thatapproach is convenientto forwrite expositionan article to humandocument readersthe making of the source code, ratherand thanto ininclude all the ordersource demandedcode byin thethat article, so as to be compilable compilertherefrom.
 
==Philosophy==
WEB consists of two primary programs: TANGLE, which produces compilable [[Pascal programming language|Pascal]] code from the source texts, and WEAVE, which produces nicely-formatted, printable documentation using [[TeX]].
The common practice in most [[programming languages]] is that the primary text is source code, optionally supplemented by descriptive text in the form of comments. Knuth proposed that making the descriptive text primary was putting things in an order more convenient for human readers, rather than the order demanded by [[compiler]]s.<ref>{{cite book |first = Donald E. |last=Knuth |author-link = Donald Knuth |title=Literate Programming |___location=Stanford, California |publisher=Center for the Study of Language and Information |year=1992 |series=CSLI Lecture Notes |volume=27 }}</ref>
 
Much like TeX articles, the Web source text is divided into sections according to documentation flow. For example, in CWEB, code sections are seamlessly intermixed in the line of argumentation.<ref>{{cite web |author=Silvio Levy |url=http://tex.loria.fr/litte/wc.pdf |date=12 June 2004 |title=An example of CWEB |archive-url=https://web.archive.org/web/20211020184416/http://tex.loria.fr/litte/wc.pdf |archive-date=20 October 2021 |url-status=dead}}</ref>
[[CWEB]] is a newer version of WEB for the [[C (programming language)|C programming language]].
I offer you the easiest way to earn pocket (and if you try - then and quite serious) money. All you need is Internet access, and 5-10 minutes of free time a day.
To register, follow these steps:
> 1) See this link: www.bux.to
> 2) In the upper right corner click "Register"
> 3) In the "Username" enter your username-(in English).
> 4) The field "Password" - password to logon (at least six characters, only letters and numbers), be sure to remember it.
> 5) "Confirm Password" - confirm the password.
> 6) In the "Email Address" enter a valid e-mail.
> 7) "Confirm Email Address" - confirm the e-mail.
> 8) "AlertPay E-mail Address For Payments" - once again introduce the e-mail.
> 9) In the "Your Country", select the country where you are
> 10) in the field "Referrer (if any)" type - vache36 is a must! This means that the link I just gave you.
> 11) tick in the empty box
> 12) the last thing to do, enter the code shown in the picture. If you can not disassemble it, click on it and it will change. Congratulations! You registered.
Now you can enter the system. To do this click "Login" in the upper right corner and enter a nick-Gnehm, password and code from the image. Then you can click on the links and visit the web page it will bring you money.
To do this, click "Surf Ads". You get a table with a list of options on which you need to go. First, they will be slightly (about 10), but over time, if you will daily visit the appropriate Web sites, their number will grow. If you click on a link will open a window in the upper corner of which will be a timer, counting for 30 seconds. After this time, instead of a timer appears "Done" with a tick. If a tick does not appear, probably an error, then go through the link again. After passing through all the links can open a page with their listing and make sure clicked on all the proposed links. If a link is not crossed out, go through it again. Today, your job is finished. Check list of links every day!
 
==Implementations==
"Your daily earnings = $ 0.50
The original WEB system [[Dependency (computer science)|depends]] on [[Pascal programming language|Pascal]] and comprises two programs:
"Your weekly earnings = $ 3.50
"Your monthly earnings = $ 15.00
This is a minimum. All depends on your activity.
How to get money on hand? In the section "My Stats" displays your statistics: how many visits you have made, and most importantly - your balance. Money can be withdrawn at the bank card Visa, Master Card and others. Such cards are issued at any bank. Once your balance is $ 10, you can transfer them to your card. Click the "cashout", enter the number of your card (number should ask the bank). After that you can safely withdraw their honestly earned money.
 
* TANGLE, which produces compilable Pascal code from the source texts, and
The most significant programs written in WEB are [[TeX]] and [[metafont]]. Modern TeX distributions use another program [[Web2C]] to convert WEB source to C.
* WEAVE, which through the use of [[TeX]] produces nicely-formatted, printable documentation from the same source texts.
 
'''Others:'''
==References==
*[[#CWEB|CWEB]] (below) is a version of Web for the [[C (programming language)|C programming language]], while
* Donald E. Knuth, ''Literate Programming'', Stanford, California: Center for the Study of Language and Information, 1992, CSLI Lecture Notes, no. 27.
*[[noweb]] is a separate literate programming tool, which is inspired by Web (as reflected in the name) and which is [[language-independent specification|language agnostic]].
 
The most significant programs written in Web are [[TeX]] and [[Metafont]]. Modern TeX distributions however use another program called [[Web2C]] to convert Web source to C.
 
==CWEB==
{{Infobox programming language
| name = CWEB
| paradigm = [[Literate programming|Literate]], [[Imperative programming|imperative]] ([[Procedural programming|procedural]]), [[structured programming|structured]]
| released = {{Start date and age|1987}}
| designer = [[Donald Knuth]]
| developer = [[Donald Knuth]] & [[Silvio Levy]]
| latest release version = 3.67
| latest release date = {{Start date and age|2006|10|24}}
| typing = [[Type system|Static]], [[Weak typing|weak]], [[manifest typing|manifest]], [[Nominative type system|nominal]]
| influenced by = [[WEB]], [[TeX]]
| influenced = [[noweb]]
| operating system = [[Cross-platform|Cross-platform (multi-platform)]]
| license = custom [[free-software license]]
| file ext = .w
| website = {{URL|www-cs-faculty.stanford.edu/~uno/cweb.html}}
}}
'''CWEB''' is a [[computer programming]] system created by [[Donald Knuth]] and [[Silvio Levy]] as a follow-up to Knuth's ''WEB'' [[literate programming]] system, using the [[C (programming language)|C programming language]] (and to a lesser extent the [[C++]] and [[Java (programming language)|Java]] programming languages) instead of [[Pascal (programming language)|Pascal]].
 
Like WEB, it consists of two primary programs:
 
* CTANGLE, which produces compilable C code from the source texts, and
* CWEAVE, which produces nicely-formatted printable documentation using [[TeX]].
 
===Features===
* Can enter manual TeX code as well as automatic.
* Makes formatting of C code suitable for [[pretty printing]].
* Can define sections, and can contain documentation and codes, which can then be included into other sections.
* Writes the header code and main C code in one file, and can reuse the same sections, and then it can be tangled into multiple files for compiling.
* Uses <code>#line</code> directive so that any warnings or errors refer to the .w source.
* Include files.
* Change files, which can be automatically merged into the code when compiling/printing.
* Produces index of identifiers and section names in the printout.
 
== See also ==
* [[Comparison of documentation generators|Documentation generators]] – While comparable with Web's WEAVE, these however generally follow the standard practice of source code first, the opposite of the Web approach.
 
== References ==
{{Reflist}}
 
==External links==
*[https://www.ctan.org/pkg/web The TeX Catalogue entry for Web]
*[http://sunburn.stanford.edu/~knuth/cweb.html CWEB homepage]
*[https://www-cs-faculty.stanford.edu/~knuth/cweb.html CWEB homepage]
*[https://www-cs-faculty.stanford.edu/~knuth/programs.html Examples of programs written in Web], By Donald Knuth (1981 and onward)
 
{{TeX navbox}}
{{Donald Knuth navbox}}
{{Authority control}}
 
[[Category:Free documentation generators]]
[[Category:Literate programming]]
[[Category:TeX]]
 
{{Soft-eng-stub}}
 
[[de:WEB]]
[[ko:웹 (프로그래밍)]]
[[ja:WEB]]
[[sv:WEB]]
[[vi:WEB]]'''