Jump to content

User:Matt.forestpath/Programming-language outline

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Matt.forestpath (talk | contribs) at 23:14, 18 January 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

History             [How different aspects of the language came to be like they are]
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)]
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 many of the sections listed below it, by offering background info. An earlier attempt to move history above criticism was met with consistent resistance; judging from this, history either needs to be at the very top, or possibly immediately after philosophy.
  • 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.

Full outline

History
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
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