Football is a family of team sports that involve, to varying degrees, kicking a ball to score a goal. Unqualified, the word football is understood to refer to whichever form of football is the most popular in the regional context in which the word appears. Sports called football in certain places include association football; these different variations of football are known as football codes. There are a number of references to traditional, ancient, or prehistoric ball games played by indigenous peoples in many different parts of the world. Contemporary codes of football can be traced back to the codification of these games at English public schools during the nineteenth century; the expansion of the British Empire allowed these rules of football to spread to areas of British influence outside the directly controlled Empire. By the end of the nineteenth century, distinct regional codes were developing: Gaelic football, for example, deliberately incorporated the rules of local traditional football games in order to maintain their heritage.
In 1888, The Football League was founded in England, becoming the first of many professional football competitions. During the twentieth century, several of the various kinds of football grew to become some of the most popular team sports in the world; the various codes of football share certain common elements and can be grouped into two main classes of football: carrying codes like American football, Canadian football, rugby union and rugby league, where the ball is moved about the field while being held in the hands or thrown, kicking codes such as Association football and Gaelic football, where the ball is moved with the feet, where handling is limited. Common rules among the sports include: Two teams of between 11 and 18 players. A defined area in which to play the game. Scoring goals or points by moving the ball to an opposing team's end of the field and either into a goal area, or over a line. Goals or points resulting from players putting the ball between two goalposts; the goal or line being defended by the opposing team.
Players being required to move the ball—depending on the code—by kicking, carrying, or hand-passing the ball. Players using only their body to move the ball. In all codes, common skills include passing, evasion of tackles and kicking. In most codes, there are rules restricting the movement of players offside, players scoring a goal must put the ball either under or over a crossbar between the goalposts. There are conflicting explanations of the origin of the word "football", it is assumed that the word "football" refers to the action of the foot kicking a ball. There is an alternative explanation, that football referred to a variety of games in medieval Europe, which were played on foot. There is no conclusive evidence for either explanation. A Chinese game called cuju has been recognised by FIFA as the first version of the game with regular rules, it existed during the Han dynasty and the Qin dynasty, in the second and third centuries BC. The Japanese version of cuju is kemari, was developed during the Asuka period.
This is known to have been played within the Japanese imperial court in Kyoto from about 600 AD. In kemari several people stand in a circle and kick a ball to each other, trying not to let the ball drop to the ground; the Ancient Greeks and Romans are known to have played many ball games, some of which involved the use of the feet. The Roman game harpastum is believed to have been adapted from a Greek team game known as "ἐπίσκυρος" or "φαινίνδα", mentioned by a Greek playwright and referred to by the Christian theologian Clement of Alexandria; these games appear to have resembled rugby football. The Roman politician Cicero describes the case of a man, killed whilst having a shave when a ball was kicked into a barber's shop. Roman ball games knew the air-filled ball, the follis. Episkyros is recognised as an early form of football by FIFA. There are a number of references to traditional, ancient, or prehistoric ball games, played by indigenous peoples in many different parts of the world. For example, in 1586, men from a ship commanded by an English explorer named John Davis, went ashore to play a form of football with Inuit people in Greenland.
There are accounts of an Inuit game played on ice, called Aqsaqtuk. Each match began with two teams facing each other in parallel lines, before attempting to kick the ball through each other team's line and at a goal. In 1610, William Strachey, a colonist at Jamestown, Virginia recorded a game played by Native Americans, called Pahsaheman. On the Australian continent several tribes of indigenous people played kicking and catching games with stuffed balls which have been generalised by historians as Marn Grook; the earliest historical account is an anecdote from the 1878 book by Robert Brough-Smyth, The Aborigines of Victoria, in which a man called Richard Thomas is quoted as saying, in about 1841 in Victoria, that he had witnessed Aboriginal people playing the game: "Mr Thomas describes how the foremost player will drop kick a ball made from the skin of a possum and how other players leap into the air in order to catch it." Some historians have theorised. The Māo
In computer science, control flow is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated. The emphasis on explicit control flow distinguishes an imperative programming language from a declarative programming language. Within an imperative programming language, a control flow statement is a statement, the execution of which results in a choice being made as to which of two or more paths to follow. For non-strict functional languages and language constructs exist to achieve the same result, but they are not termed control flow statements. A set of statements is in turn structured as a block, which in addition to grouping defines a lexical scope. Interrupts and signals are low-level mechanisms that can alter the flow of control in a way similar to a subroutine, but occur as a response to some external stimulus or event, rather than execution of an in-line control flow statement. At the level of machine language or assembly language, control flow instructions work by altering the program counter.
For some central processing units, the only control flow instructions available are conditional or unconditional branch instructions termed jumps. The kinds of control flow statements supported by different languages vary, but can be categorized by their effect: Continuation at a different statement Executing a set of statements only if some condition is met Executing a set of statements zero or more times, until some condition is met Executing a set of distant statements, after which the flow of control returns Stopping the program, preventing any further execution A label is an explicit name or number assigned to a fixed position within the source code, which may be referenced by control flow statements appearing elsewhere in the source code. A label marks a position within source code, has no other effect. Line numbers are an alternative to a named label, that are whole numbers placed at the start of each line of text in the source code. Languages which use these impose the constraint that the line numbers must increase in value in each following line, but may not require that they be consecutive.
For example, in BASIC: In other languages such as C and Ada, a label is an identifier appearing at the start of a line and followed by a colon. For example, in C: The language ALGOL 60 allowed both whole numbers and identifiers as labels, but few if any other ALGOL variants allowed whole numbers. Early Fortran compilers only allowed whole numbers as labels. Beginning with Fortran-90, alphanumeric labels have been allowed; the goto statement is the most basic form of unconditional transfer of control. Although the keyword may either be in upper or lower case depending on the language, it is written as: goto label The effect of a goto statement is to cause the next statement to be executed to be the statement appearing at the indicated label. Goto statements have been considered harmful by many computer scientists, notably Dijkstra; the terminology for subroutines varies. In the 1950s, computer memories were small by current standards so subroutines were used to reduce program size. A piece of code was written once and used many times from various other places in a program.
Today, subroutines are more used to help make a program more structured, e.g. by isolating some algorithm or hiding some data access method. If many programmers are working on one program, subroutines are one kind of modularity that can help divide the work. In structured programming, the ordered sequencing of successive commands is considered one of the basic control structures, used as a building block for programs alongside iteration and choice. In May 1966, Böhm and Jacopini published an article in Communications of the ACM which showed that any program with gotos could be transformed into a goto-free form involving only choice and loops with duplicated code and/or the addition of Boolean variables. Authors showed that choice can be replaced by loops; that such minimalism is possible does not mean that it is desirable. What Böhm and Jacopini's article showed was that all programs could be goto-free. Other research showed that control structures with one entry and one exit were much easier to understand than any other form because they could be used anywhere as a statement without disrupting the control flow.
In other words, they were composable. Some academics took a purist approach to the Böhm-Jacopini result and argued that instructions like break and return from the middle of loops are bad practice as they are not needed in the Böhm-Jacopini proof, th
Inform is a programming language and design system for interactive fiction created in 1993 by Graham Nelson. Inform can generate programs designed for the Glulx virtual machines. Versions 1 through 5 were released between 1993 and 1996. Around 1996, Nelson rewrote Inform from first principles to create version 6. Over the following decade, version 6 became reasonably stable and a popular language for writing interactive fiction. In 2006, Nelson released Inform 7, a new language based on principles of natural language and a new set of tools based around a book-publishing metaphor. All versions of Inform generate files in Z-code from source code; these files can be run by any Z-code interpreter – that is, by any program which properly implements the Z-code virtual machine specification. The Z-machine was developed by Infocom in 1979 for their interactive fiction titles; because there is at least one such interpreter for nearly every major and minor platform, this means that the same Z-code file can be run on a multitude of platforms with no alterations.
Andrew Plotkin created an unofficial version of Inform 6, capable of generating files for Glulx, a virtual machine he had designed to overcome many of the limitations of the several-decades-old Z-machine. Starting with Inform 6.3, released February 29, 2004, Inform 6 has included official support for both virtual machines, based on Andrew Plotkin's work. Early release of Inform 7 did not support Glulx. Inform was created by Graham Nelson in 1993. In 1996 Nelson rewrote Inform from first principles to create version 6. Over the following decade, version 6 became reasonably stable and a popular language for writing interactive fiction; the Inform 6 system consists of two major components: the Inform compiler, which generates story files from Inform source code, the Inform library, a suite of software which handles most of the difficult work of parsing the player's text input and keeping track of the world model. The name Inform refers to the Inform programming language that the compiler understands.
Although Inform 6 and the Z-Machine were designed with interactive fiction in mind, many other programs have been developed, including a BASIC interpreter, a LISP tutorial, a Tetris game, a version of the game Snake. The Inform compiler generates files for the Glulx from Inform 6 source code; the Inform programming language is procedural. A key element of the language is objects. Objects are maintained in an object tree. Since the parent–child relationship is used to represent location, an object, the parent of another object is said to "hold" it. Objects can be moved throughout the tree. Top level objects represent rooms and other locations within the game, which may hold objects representing the room's contents, be they physical items, non-player characters, the player's character, or background effects. All objects can hold other objects, so a livingroom object might hold an insurancesaleman object, holding a briefcase object which contains the insurancepaperwork object. In early versions of Inform, objects were different from the notion of objects from object-oriented programming, in that there was no such thing as a class.
Versions added support for class definitions and allowed objects to be members of classes. Objects and classes can inherit from multiple classes. Interactive fiction games contain many unique objects; because of this, many objects in Inform do not inherit from any class, other than the "metaclass" Object. However, objects frequently have attributes that are recognized by the Inform library. In other languages this would be implemented via inheritance. Here is a simple example of Inform 6 source code; the Inform system contains the Inform library, which automates nearly all the most difficult work involved in programming interactive fiction. The Inform compiler does not require the use of the Inform library. There are several replacement libraries available, such as Platypus and InformATE, a library that codes Inform in Spanish. Here is an example of Inform 6 source code that makes use of the Inform library; the Inform 6 code sample below is usable in Inform 7, but not without special demarcation indicating that it is embedded legacy code.
Curses, by Graham Nelson, the first game written in the Inform programming language. Considered one of the first "modern" games to meet the high standards set by Infocom's best titles. Zork: The Undiscovered Underground, written by Marc Blank & Michael Berlyn, programmed by Gerry Kevin Wilson. Given away free by Activision to promote the release of Zork: Grand Inquisitor. Anchorhead, by Michael S. Gentry is a rated horror story inspired by H. P. Lovecraft's Cthulhu Mythos. Photopia, by Adam Cadre, the first entirely puzzle-free game. Won the annual Interactive Fiction Competition in 1998. Varicella by Adam Cadre, it won four XYZZY Awards in 1999 including the XYZZY Award for Best Game, had a scholarly essay written about it. Galatea, by Emily Short. Galatea is focused on interaction with the animated statue of the same name. Galatea has one of the most complex interaction systems for a non-player c
ALGOL 68 is an imperative computer programming language, conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously defined syntax and semantics. The contributions of ALGOL 68 to the field of computer science have been deep, wide ranging and enduring, although many of these contributions were only publicly identified when they had reappeared in subsequently developed programming languages. ALGOL 68 features include expression-based syntax, user-declared types and structures/tagged-unions, a reference model of variables and reference parameters, string and matrix slicing, concurrency. ALGOL 68 was designed by the IFIP Working Group 2.1. On December 20, 1968, the language was formally adopted by Working Group 2.1 and subsequently approved for publication by the General Assembly of IFIP. ALGOL 68 was defined using a two-level grammar formalism invented by Adriaan van Wijngaarden. Van Wijngaarden grammars use a context-free grammar to generate an infinite set of productions that will recognize a particular ALGOL 68 program.
ALGOL 68 has been criticized, most prominently by some members of its design committee such as C. A. R. Hoare and Edsger Dijkstra, for abandoning the simplicity of ALGOL 60, becoming a vehicle for complex or overly general ideas, doing little to make the compiler writer's task easier, in contrast to deliberately simple contemporaries such as C, S-algol and Pascal. In 1970, ALGOL 68-R became the first working compiler for ALGOL 68. In the 1973 revision, certain features – such as proceduring and formal bounds – were omitted. C.f. The language of the unrevised report.r0 Though European defence agencies promoted the use of ALGOL 68 for its expected security advantages, the American side of the NATO alliance decided to develop a different project, the Ada programming language, making its use obligatory for US defense contracts. Algol 68 had a notable influence within the Soviet Union, details of which can be found in Andrey Ershov's 2014 paper: "ALGOL 68 and Its Impact on the USSR and Russian Programming" and "Алгол 68 и его влияние на программирование в СССР и России" - pages: 336 & 342.
Steve Bourne, on the Algol 68 revision committee, took some of its ideas to his Bourne shell and to C. The complete history of the project can be found in C. H. Lindsey's A History of ALGOL 68. For a full-length treatment of the language, see Programming Algol 68 Made Easy by Dr. Sian Mountbatten, or Learning Algol 68 Genie by Dr. Marcel van der Veer which includes the Revised Report. "A Shorter History of Algol 68" ALGOL 68 - 3rd generation ALGOL Mar. 1968: Draft Report on the Algorithmic Language ALGOL 68 - Edited by: A. van Wijngaarden, B. J. Mailloux, J. E. L. Peck and C. H. A. Koster. Oct. 1968: Penultimate Draft Report on the Algorithmic Language ALGOL 68 – Chapters 1-9 Chapters 10-12 – Edited by: A. van Wijngaarden, B. J. Mailloux, J. E. L. Peck and C. H. A. Koster. Dec. 1968: Report on the Algorithmic Language ALGOL 68 – Offprint from Numerische Mathematik, 14, 79-218. – Edited by: A. van Wijngaarden, B. J. Mailloux, J. E. L. Peck and C. H. A. Koster. WG 2.1 members active in the original design of ALGOL 68: Friedrich L. Bauer • Hans Bekic • Edsger Dijkstra※ • Fraser Duncan※ • Jan Garwick※ • Gerhard Goos • Tony Hoare※ • Peter Zilahy Ingerman • Kees Koster • Peter Landin • Charles Lindsey • Barry Mailloux • John McCarthy • Jack Merner • Peter Naur‡ • Manfred Paul • John Peck • Willem van der Poel • Brian Randell※ • Doug Ross • Klaus Samelson • Gerhard Seegmüller※ • Michel Sintzoff • Wlad Turski※ • Aad van Wijngaarden • Niklaus Wirth‡ • Mike Woodger※ • Nobuo Yoneda.
‡Resigned after. Sep. 1973: Revised Report on the Algorithmic Language Algol 68 - Springer-Verlag 1976 - Edited by: A. van Wijngaarden, B. J. Mailloux, J. E. L. Peck, C. H. A. Koster, M. Sintzoff, C. H. Lindsey, L. G. L. T. Meertens and R. G. Fisker. 1968: On December 20, 1968, the "Final Report" was adopted by the Working Group subsequently approved by the General Assembly of UNESCO's IFIP for publication. Translations of the standard were made for Russian, German and Bulgarian, later Japanese and Chinese; the standard was made available in Braille. 1984: TC97 considered Algol 68 for standardisation as "New Work Item" TC97/N1642. West Germany, Netherlands, USSR and Czechoslovakia willing to participate in preparing the standard but the USSR and Czechoslovakia "were not the right kinds of member of the right ISO committees" and Algol 68's ISO standardisation stalled. 1988: Subsequently ALGOL 68 became one of the GOST standards in Russia. GOST 27974-88 Programming language ALGOL 68 – Язык программирования АЛГОЛ 68 GOST 27975-88 Programming language ALGOL 68 extended – Язык программирования АЛГОЛ 68 расширенный There are about 60 such reserved words in the standard language: mode, op, proc, heap, long, short, bool, char, int, sema, void, file, struct, union, at "@", eitherr0, is ":=:", isnt is notr0 ":/=:" ":≠:", of "→"r0, false, nil "○", skip "~", co "¢", comment "¢", pr, case ~ in ~ ouse ~ in ~ out ~ esac "", for ~ from ~ to ~ by ~ while ~ do ~ o
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College, they wanted to enable students in fields other than mathematics to use computers. At the time, nearly all use of computers required writing custom software, something only scientists and mathematicians tended to learn. In addition to the language itself and Kurtz developed the Dartmouth Time Sharing System, which allowed multiple users to edit and run BASIC programs at the same time; this general model became popular on minicomputer systems like the PDP-11 and Data General Nova in the late 1960s and early 1970s. Hewlett-Packard produced an entire computer line for this method of operation, introducing the HP2000 series in the late 1960s and continuing sales into the 1980s. Many early video games trace their history to one of these versions of BASIC; the emergence of early microcomputers in the mid-1970s led to the development of the original Microsoft BASIC in 1975.
Due to the tiny main memory available on these machines 4 kB, a variety of Tiny BASIC dialects were created. BASIC was available for any system of the era, became the de facto programming language for the home computer systems that emerged in the late 1970s; these machines always had a BASIC installed by default in the machine's firmware or sometimes on a ROM cartridge. BASIC fell from use during the 1980s as newer machines with far greater capabilities came to market and other programming languages became tenable. In 1991, Microsoft released Visual Basic, combining a updated version of BASIC with a visual forms builder; this reignited use of the language and "VB" remains a major programming language in the form of VB. NET. John G. Kemeny was the math department chairman at Dartmouth College, on his reputation as an innovator in math teaching, in 1959 the school won an Alfred P. Sloan Foundation award for $500,000 to build a new department building. Thomas E. Kurtz had joined the department in 1956, from the 1960s they agreed on the need for programming literacy among students outside the traditional STEM fields.
Kemeny noted that “Our vision was that every student on campus should have access to a computer, any faculty member should be able to use a computer in the classroom whenever appropriate. It was as simple as that."Kemeny and Kurtz had made two previous experiments with simplified languages, DARSIMCO and DOPE. These did not progress past a single freshman class. New experiments using Fortran and ALGOL followed, but Kurtz concluded these languages were too tricky for what they desired; as Kurtz noted, Fortran had numerous oddly-formed commands, notably an "almost impossible-to-memorize convention for specifying a loop:'DO 100, I = 1, 10, 2'. Is it'1, 10, 2' or'1, 2, 10', is the comma after the line number required or not?"Moreover, the lack of any sort of immediate feedback was a key problem. Kurtz suggested. Small programs would return results in a few seconds; this led to increasing interest in a system using time-sharing and a new language for use by non-STEM students. Kemeny wrote the first version of BASIC.
The acronym BASIC comes from the name of an unpublished paper by Thomas Kurtz. The new language was patterned on FORTRAN II. However, the syntax was changed. For instance, the difficult to remember DO loop was replaced by the much easier to remember FOR I = 1 TO 10 STEP 2, the line number used in the DO was instead indicated by the NEXT I; the cryptic IF statement of Fortran, whose syntax matched a particular instruction of the machine on which it was written, became the simpler IF I=5 THEN GOTO 100. These changes made the language much less idiosyncratic while still having an overall structure and feel similar to the original FORTRAN; the project received a $300,000 grant from the National Science Foundation, used to purchase a GE-225 computer for processing, a Datanet-30 realtime processor to handle the Teletype Model 33 teleprinters used for input and output. A team of a dozen undergraduates worked on the project for about a year, writing both the DTSS system and the BASIC compiler; the main CPU was replaced by a GE-235, still by a GE-635 The first version BASIC language was released on 1 May 1964.
One of the graduate students on the implementation team was Sr. Mary Kenneth Keller, one of the first people in the United States to earn a Ph. D. in computer science and the first woman to do so. BASIC concentrated on supporting straightforward mathematical work, with matrix arithmetic support from its initial implementation as a batch language, character string functionality being added by 1965. Wanting use of the language to become widespread, its designers made the compiler available free of charge, they made it available to high schools in the Hanover, New Hampshire area and put considerable effort into
A bracket is a tall punctuation mark used in matched pairs within text, to set apart or interject other text. The matched pair is best described as closing. Less formally, in a left-to-right context, it may be described as left and right, in a right-to-left context, as right and left. Forms include round, square and angle brackets, as well as various other pairs of symbols. In addition to referring to the class of all types of brackets, the unqualified word bracket is most used to refer to a specific type of bracket. Chevrons, ⟨ ⟩, were the earliest type of bracket to appear in written English. Desiderius Erasmus coined the term lunula to refer to the rounded parentheses, recalling the shape of the crescent moon; some of the following names are contextual. – parentheses, parens, round brackets, first brackets, or circle brackets – braces are "two connecting marks used in printing". – square brackets, closed brackets, hard brackets, third brackets, crotchets, or brackets ⟨ ⟩ – pointy brackets, angle brackets, triangular brackets, diamond brackets, tuples, or chevrons < > – guillemets, inequality signs, pointy brackets, or brackets.
Sometimes referred to as angle brackets, in such cases as HTML markup. Known as broken brackets or "brokets". ⸤ ⸥. The characters ‹ › and « », known as guillemets or angular quote brackets, are quotation mark glyphs used in several European languages. Which one of each pair is the opening quote mark and, the closing quote varies between languages; the corner-brackets ｢ ｣ are quotation marks used in East Asian languages. In English, typographers prefer not to set brackets in italics when the enclosed text is italic. However, in other languages like German, if brackets enclose text in italics, they are also set in italics. Parentheses contain material, aside from the main point. A milder effect may be obtained by using a pair of commas as the delimiter, though if the sentence contains commas for other purposes, visual confusion may result. In American usage, parentheses are considered separate from other brackets, calling them "brackets" is unusual. Parentheses may be used in formal writing to add supplementary information, such as "Sen. John McCain spoke at length".
They can indicate shorthand for "either singular or plural" for nouns, e.g. "the claim". It can be used for gender neutral language in languages with grammatical gender, e.g. "he agreed with his physician". Parenthetical phrases have been used extensively in informal writing and stream of consciousness literature. Examples include the southern American author William Faulkner as well as poet E. E. Cummings. Parentheses have been used where the dash is used in alternatives, such as "parenthesis) educational testing, b) technical writing and diagrams, c) market research, d) elections. Parentheses are used in mathematical notation to indicate grouping inducing a different order of operations. For example: in the usual order of algebraic operations, 4 x 3 + 2 equals 14, since the multiplication is done before the addi