User:Matt.forestpath/Programming-language outline
The programming-language outline is an attempt to create a generic outline that can be used to organize any programming-language article (modified as needed to fit the particular language). The term "outline" refers to the name, grouping, and order of sections in the article, from which the table of contents is generated.
Philosophy
One of the highest priorities for every Wikipedia article is that they be as accessible as possible to people who are not already familiar with the subject (in this case, non-programmers). Ideally, a person should be able to read the article from beginning to end, without any part of the article being heavily dependent on content found later on in the article. And the content of the article as a whole, and of each section in the article, should progress from simple and fundamental, to advanced and in-depth (preferrably linking to sister articles for in-depth details).
If the table of contents is organized in a clear and logical way, the articles should be equally useful to experts and non-experts alike.
Goals
- Improve the consistency and intuitiveness of the table of contents for different programming-language articles.
- Reduce the difficulty of using and working on multiple programming-language articles by providing a common frame of reference for their organization.
Guidelines
- If section A is more important than section B for a basic understanding of the subject, favor placing section A before section B.
- If section B expands upon section A, favor placing section B after section A.
Usage
An earlier version of the programming-language outline was applied to the following articles:
Current outline (tentative)
Top level
Philosophy [What it is in theory] Usage [What it is in practice] Syntax [What it is in detail] Resources [What options are available to help you use the language (tools, libraries)] Availability [How available are these options in the real world (platforms, licenses)] History [How the above aspects of the language came to be like they are] Criticism [May apply to any of the above categories (except history)] Related languages [Similar in nature to "See also"] See also References Notes External links
Rationale
- The philosophy offers a context for understanding the usage, and chronologically speaking the philosophy generally happens before the usage (what it was meant to be, followed by what it actually turned out to be).
- The syntax expands upon the usage and the philosophy by offering details about them.
- The history may expand upon any of the sections listed above it, by offering background info.
- The criticism may expand upon any of the sections listed above it (except "History"), by pointing out weakness or flaws.
- The placement and order of "See also", "References", and "External links" is pretty standard.
Top two levels
Philosophy Usage Syntax Sample code Hello world <sample name> Data structures Regular expressions Operators Control structures Functions Objects Exceptions Input/Output Memory management Whitespace Comments Resources Compilers Libraries Availability Supported platforms License History Criticism Related languages See also References Notes External links <Sponsor site> Language version Reference Material Authoring Guides Tutorials Security Books Journals Support Wikis Forums User groups Newsgroups IRC Mailing lists Resources Compilers Libraries Code repositories Non-English resources Standards Criticism History