Template:Infobox programming language/doc: Difference between revisions

Content deleted Content added
Update example
No edit summary
 
(47 intermediate revisions by 26 users not shown)
Line 1:
{{Documentation subpage}}
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
<!-- EDIT TEMPLATE DOCUMENTATION BELOW THIS LINE -->
{{Lua|Module:Infobox|Module:InfoboxImage|Module:Check for unknown parameters}}
{{Generic template demo |_display=italics
{{Uses Wikidata|P856}}
 
== Syntax ==
{{Parameter names example |_display=italics
|name=''name'' |logo={{{logo}}} |logo caption |screenshot={{{screenshot}}} |screenshot caption
|paradigm=''paradigm'' &nbsp;{{smaller|or}}&nbsp;&nbsp;''paradigms''
Line 7 ⟶ 11:
|developer={{nowrap|''developer'' &nbsp;{{smaller|or}}&nbsp;&nbsp;''developers''}}
|released |latest release version |latest release date |latest preview version |latest preview date
|typing | memory management | scope |programming language |platform |operating system |license |file ext
|file format=''file format'' &nbsp;{{smaller|or}}&nbsp;&nbsp;''file formats''
|website |implementations |dialects |influenced by |influenced |wikibooks={{{wikibooks}}}
}}
<syntaxhighlight lang="wikitext" style="overflow:auto;">
 
== Syntax ==
<pre style="overflow:auto;">
{{Infobox programming language
| name = <!-- otherwise defaults to {{PAGENAME}} -->
| logo = <!-- (filename)Filename -->
| logo caption =
| screenshotcollapsible = <!-- (filename)to make screenshot collapsible -->
| screenshot = <!-- Filename -->
| screenshot caption =
| sampleCode =
| paradigm = <!-- or: | paradigms = -->
| paradigm = <!-- or: | paradigms = -->
| family =
| family =
| designer = <!-- or: | designers = -->
| developerdesigner = <!-- or: | developersdesigners = -->
| releaseddeveloper = <!-- {{startor: date| anddevelopers age|YYYY|MM|DD|df=yes/no}} -->
| released = <!-- or: | year = --> <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| latest release version =
| latest release date = <!-- {{startStart date and age|YYYY|MM|DD|df=yes/no}} -->
| latest preview version =
| latest preview date = <!-- {{startStart date and age|YYYY|MM|DD|df=yes/no}} -->
| typing =
| memory management =
| scope =
| programming language =
| discontinued =
| platform =
| operating system =
| license =
| file ext =
| file format = <!-- or: | file formats = -->
| website = <!-- {{urlURL|www.example.com}} -->
| implementations =
| dialects =
Line 44 ⟶ 49:
| influenced =
}}
</syntaxhighlight>
</pre>
 
{{Clear}}
 
== Example ==
{{hatnote|The following markup is included '''only for illustration purposes'''. It is not intended to provide up-to-date information about [[Python (programming language)|Python]] programming language and should not be updated for the sake of '''truth'''.}}
{{Infobox programming language
| name = Python
| sampleCode = <syntaxhighlight lang="python">
print("Hello, World!")
</syntaxhighlight>
| sampleCode caption = Hello
| logo = Python logo and wordmark.svg
| paradigm = [[Multi-paradigm programming language|Multi-paradigm]]: [[object-oriented programming|object-oriented]], [[imperative programming|imperative]], [[functional programming|functional]], [[procedural programming|procedural]], [[reflective programming|reflective]]
| released = {{Start date and age|1991|df=yes}}
| designer = [[Guido van Rossum]]
| developer = [[Python Software Foundation]]
| latest_release_version = {{Unbulleted list|3.4.3 / {{Start date|2015|02|25|df=yes}}|2.7.10 / {{Start date and age|2015|05|23|df=yes}}}}
| latest_preview_version = 3.5.0b3 / {{Start date and age|2015|07|05|df=yes}}
| typing = [[Duck typing|Duck]], [[dynamic typing|dynamic]], [[strong typing|strong]], [[gradual typing|gradual]] (as of Python 3.5)
| memory management = [[Garbage collection (computer science)|garbage collected]]
| implementations = [[CPython]], [[IronPython]], [[Jython]], [[PyPy]]
| dialects = [[Cython]], [[RPython]], [[Stackless Python]]
| influenced_by = [[ABC (programming language)|ABC]], [[ALGOL 68]], [[C (programming language)|C]], [[C++]], [[Dylan (programming language)|Dylan]], [[Haskell]], [[Icon (programming language)|Icon]], [[Java (programming language)|Java]], [[Lisp (programming language)|Lisp]], [[Modula-3]], [[Perl]]
| influenced = [[Boo (programming language)|Boo]], [[Cobra (programming language)|Cobra]], [[D (programming language)|D]], [[F Sharp (programming language)|F#]], [[Go (programming language)|Go]], [[Groovy (programming language)|Groovy]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Nim (programming language)|Nim]], [[Ruby (programming language)|Ruby]], [[Swift (programming language)|Swift]]
| license = [[Python Software Foundation License]]
| website = {{URL|https://www.python.org/}}
| file_ext = .py, .pyc, .pyd, .pyo, .pyw
| wikibooks = Python Programming
}}
 
<syntaxhighlight lang="wikitext" style="overflow: auto">
{{Infobox programming language
| name = Python
| logo = Python logo and wordmark.svg
| paradigm = [[multi-paradigm programming language|multi-paradigm]]: [[object-oriented programming|object-oriented]], [[imperative programming|imperative]], [[functional programming|functional]], [[procedural programming|procedural]], [[reflective programming|reflective]]
| released = {{Start date and age|1991|df=yes}}
| designer = [[Guido van Rossum]]
| developer = [[Python Software Foundation]]
| latest_release_version = {{Unbulleted list|3.4.3 / {{Start date|2015|02|25|df=yes}}|2.7.10 / {{Start date|2015|05|23|df=yes}}}}
| latest_preview_version = 3.5.0b3 / {{Start date|2015|07|05|df=yes}}
| typing = [[duck typing|duck]], [[dynamic typing|dynamic]], [[strong typing|strong]], [[gradual typing|gradual]] (as of Python 3.5)
| memory management = [[Garbage collection (computer science)|garbage collected]]
| implementations = [[CPython]], [[IronPython]], [[Jython]], [[PyPy]]
| dialects = [[Cython]], [[RPython]], [[Stackless Python]]
| influenced_by = [[ABC (programming language)|ABC]], [[ALGOL 68]], [[C (programming language)|C]], [[C++]], [[Dylan (programming language)|Dylan]], [[Haskell]], [[Icon (programming language)|Icon]], [[Java (programming language)|Java]], [[Lisp (programming language)|Lisp]], [[Modula-3]], [[Perl]]
| influenced = [[Boo (programming language)|Boo]], [[Cobra (programming language)|Cobra]], [[D (programming language)|D]], [[F Sharp (programming language)|F#]], [[Go (programming language)|Go]], [[Groovy (programming language)|Groovy]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Nim (programming language)|Nim]], [[Ruby (programming language)|Ruby]], [[Swift (programming language)|Swift]]
| license = [[Python Software Foundation License]]
| website = {{URL|https://www.python.org/}}
| file_ext = .py, .pyc, .pyd, .pyo, .pyw
| wikibooks = Python Programming
}}
</syntaxhighlight>
{{clear}}
 
===Parameters===
{{TemplateData header}}
{{TemplateDataHeader}}
<templatedata>
{
Line 69 ⟶ 127:
"type": "string",
"required": false,
"description": "Filename for the image; e.g., 'File:Monodevelop Logo.svg'. When the language does not have a logo, as e.g. Fortran or Cobol and you place an image here, please use the logo caption to explain what you're showing. Please don't make up logos."
},
"logo size": {
Line 94 ⟶ 152:
"type": "string",
"required": false,
"description": "Caption for the logo. Must only be used to provide anything far more important than 'This is the logo of X'.; e.g., used for inserting {{ffdc}} or {{deletable image-caption}}."
},
"collapsible": {
Line 106 ⟶ 164:
"type": "string",
"required": false,
"description": "File name for a screenshot of the subject of the infobox,; e.g., 'File:Monodevelop-main-window.png'",
"default": "300px"
},
Line 127 ⟶ 185:
]
},
"screenshot caption": {
"label": "Screenshot caption",
"typedescription": "stringCaption for the screenshot",
"requiredtype": false,"string"
"description": "Caption for the screenshot"
},
"paradigm": {
Line 149 ⟶ 206:
"type": "string",
"required": false,
"description": "The date in which version 1.0 (or closely-matching release) of the software product in question reaches its release to manufacturing (RTM) stage. In case the article is about a specific major release of a software product (for instance Internet Explorer 8 or Microsoft Office 2007), this field should contain the date in which that specific major release reached RTM stage. In case the software product is still in development and has not reached its RTM stage, please ignore this field; do not use this field to specify the release date of the first preview/test release of the software product; there is already another parameter for that use. The content of this field should look like the following: {{Start date and age|year|month|day}} In case the article uses DMY as date format, use this code instead: {{Start date and age|year|month|day|df=yes}} If youunsure are unsureof which date format to use, pleasethen consult WP:MOSDATES.",
"aliases": [
"year"
Line 170 ⟶ 227:
"type": "string",
"required": false,
"description": "Whether this product is no longer being developed, thus changing the phrase 'Latest release' in the infobox to 'Final release'. For technical reasons, anything for this parameter has the same effect, be it 'yes', 'no' or anything else. To nullify the effect of this parameter, you need to omitdelete it."
},
"ver layout": {
"label": "Version info layout",
"description": "Defines how version number information appear in the infobox. Can be set to \"simple\" (default) or \"stacked\". \"Simple\" allocates an ordinary row to \"latest release version\" and another to \"latest preview version\". But \"stacked\" gives the full width of the row the info and adds a header, so that several version numbers can appear and use the infobox space more efficiently.",
"autovalue": "simple",
"type": "string"
},
"latest release version": {
Line 176 ⟶ 239:
"type": "string",
"required": false,
"description": "The version number of the latest release of the software product.; Ee.g., 'v1.5', '2008 (v12.2)'. Applicable only if the subject is a computer program,; e.g., an IDE or development tool.",
"aliases": [
"latest_release_version"
Line 217 ⟶ 280:
"required": false,
"description": "Specifies the typing discipline implemented, used, or mandated"
},
"memory management": {
"label": "Memory management",
"type": "string",
"required": false,
"description": "Specifies the memory management model"
},
"scope": {
Line 255 ⟶ 324:
"type": "string",
"required": false,
"description": "Applies only when the subject of the infobox is a computer program. Specifies the programming language with which the subject of the infobox is created. If the program language of the software product has a corresponding article in Wikipedia, please link to it. E.g.Example: '[[C++]] and [[C Sharp (programming language)|C#]]'.",
"aliases": [
"programming_language"
Line 264 ⟶ 333:
"type": "string",
"required": false,
"description": "The computing platform for which the subject of the infboxinfobox is designed. Can be specific processors like '[[IA-32]]' (i386), '[[x86-64]]', 'Itanium', 'ARM' or 'MIPS'."
},
"operating system": {
Line 270 ⟶ 339:
"type": "string",
"required": false,
"description": "The operating system on which theimplementations givenof softwarethe productlanguage works. Please be as accurate as possible in specifying this parameter (but also be mindful of the length) and avoid specifying vague phrases such as Cross-platform (or its redirect, Multi-platform). E.gIf the software product is an operating system–independent web app, ignore this parameter. Examples of valid use cases: '[[Microsoft WindowsUnix-like]]' or, '[[Windows]] and [[macOS]]', '[[Windows XP]] and later'. If the software is an operating system–independent web application, ignore this parameter.",
"aliases": [
"operating_system"
Line 279 ⟶ 348:
"type": "string",
"required": false,
"description": "Type of the software license under which the consumer is allowed to use the product.; Ee.g., '[[Proprietary software|Proprietary]] [[commercial software]]', '[[Freeware]]', '[[Free software]]', '[[GNU General Public License]]', '[[BSDLicense]]'."
},
"File extensions": {
Line 305 ⟶ 374:
"type": "string",
"required": false,
"description": "The web site URL of the software package. This URL must be readable in print. Thus, use the '{{tl|URL}}' template like this: '{{URL|http://www.example.com}}'. Avoid using printer-hostile forms like '[http://www.example.com Example website]'. In absence of this parameter, infobox attempts to acquire the website link form Wikidata. This parameter overrides the Wikidata link. (It is useful when a second infobox for something different is defined on a page.) In addition, the special value 'hide' suppresses this field, even in presence of a Wikidata link. (It is useful for articles that have several infoboxes and do not want all of them show a Wikidata link ad nauseam.)"
"description": "The web site URL of the software package. Use '{{URL|http://www.example.com}}'."
},
"bodystyle": {
Line 312 ⟶ 381:
"required": false,
"description": "CSS styling for the infobox as a whole"
},
"wikibooks": {
"label": "Wikibook(s)",
"description": "Name of one or more Wikibook about this subject. If you are listing several wikibooks, separate them with {{!}}",
"type": "unbalanced-wikitext",
"deprecated": "Wikibooks should be listed in the \"External links\" section, per [[MOS:LAYOUT]]."
}
},
"paramOrder": [
"name",
"title",
"logo",
"logo size",
"logo alt",
"logo caption",
"collapsible",
"screenshot",
"screenshot size",
"screenshot alt",
"screenshot caption",
"paradigm",
"family",
"released",
"designer",
"developer",
"discontinued",
"ver layout",
"latest release version",
"latest release date",
"latest preview version",
"latest preview date",
"typing",
"memory management",
"scope",
"implementations",
"dialects",
"influenced by",
"influenced",
"programming language",
"platform",
"operating system",
"license",
"File extensions",
"File format",
"website",
"bodystyle",
"wikibooks"
],
"format": "block"
}
</templatedata>
 
== Example ==
{{Infobox programming language
| name = Python
| logo = Python logo and wordmark.svg
| logo_size = 260px
| paradigm = [[multi-paradigm programming language|multi-paradigm]]: [[object-oriented programming|object-oriented]], [[imperative programming|imperative]], [[functional programming|functional]], [[procedural programming|procedural]], [[reflective programming|reflective]]
| year = {{Start date and age|df=yes|1991}}
| designer = [[Guido van Rossum]]
| developer = [[Python Software Foundation]]
| latest_release_version = 3.4.3
| latest_release_date = {{Start date|df=yes|2015|02|25}}<ref>{{cite web |url=https://docs.python.org/3.4/whatsnew/changelog.html#python-3-4-3 |title=Python 3.4.3 |publisher=Python Software Foundation |accessdate=27 February 2015}}</ref><br>2.7.10 /<br>{{Start date|df=yes|2015|05|23}}<ref name="">{{cite web |url=https://www.python.org/downloads/release/python-2710/ |title=Python 2.7.10 Release |publisher=Python Software Foundation |accessdate=24 May 2015}}</ref>
| latest_preview_version = 3.5.0b3
| latest_preview_date = {{Start date|df=yes|2015|07|05}}<ref name="Python Release Python 3.5.0b2">{{cite web |url=https://www.python.org/downloads/release/python-350b3/ |title=Python Release Python 3.5.0b3 |publisher=Python Software Foundation |accessdate=9 July 2015}}</ref><!-- br>2.7.9rc1 /<br>{{Start date|df=yes|2014|11|26}}<ref>{{cite web |url=https://www.python.org/downloads/release/python-279rc1/ |title=Python 2.7.9 rc1 Release |publisher=Python Software Foundation |accessdate=26 November 2014}}</ref -->
| typing = [[duck typing|duck]], [[dynamic typing|dynamic]], [[strong typing|strong]], [[gradual typing|gradual]] (as of Python 3.5)<ref>{{cite web|url=https://lwn.net/Articles/627418/|title=Type hinting for Python|publisher=LWN.net|date=2014-12-24|accessdate=2015-05-05}}</ref>
| implementations = [[CPython]], [[IronPython]], [[Jython]], [[PyPy]]
| dialects = [[Cython]], [[RPython]], [[Stackless Python]]
| influenced_by = [[ABC (programming language)|ABC]],<ref name="faq-created"/> [[ALGOL 68]],<ref name="98-interview"/> [[C (programming language)|C]],<ref name="AutoNT-1"/> [[C++]],<ref name="classmix"/> [[Dylan (programming language)|Dylan]],<ref name="AutoNT-2"/> [[Haskell (programming language)|Haskell]],<ref name="AutoNT-3"/> [[Icon (programming language)|Icon]],<ref name="AutoNT-4"/> [[Java (programming language)|Java]],<ref name="AutoNT-5"/> [[Lisp (programming language)|Lisp]],<ref name="AutoNT-6"/> [[Modula-3]],<ref name="classmix" /> [[Perl]]
| influenced = [[Boo (programming language)|Boo]], [[Cobra (programming language)|Cobra]], [[D (programming language)|D]], [[F Sharp (programming language)|F#]], [[Falcon (programming language)|Falcon]], [[Go (programming language)|Go]], [[Groovy (programming language)|Groovy]], [[JavaScript]],<ref>{{cite web|title=Perl and Python influences in JavaScript|date=24 February 2013|website=http://www.2ality.com/|url=http://www.2ality.com/2013/02/javascript-influences.html
| accessdate = 15 May 2015}}</ref><ref>{{cite web|title= Chapter 3: Tha Nature of JavaScript; Influences|last= Rauschmayer|first= Axel|website=O'Reilly, Speaking JavaScript|url=http://speakingjs.com/es5/ch03.html|accessdate=15 May 2015}}</ref> [[Julia (programming language)|Julia]],<ref>{{cite web| title = Why We Created Julia| date= February 2012| website= Julia website| url= http://julialang.org/blog/2012/02/why-we-created-julia/| accessdate= 5 June 2014}}</ref> [[Nim (programming language)|Nim]], [[Ruby (programming language)|Ruby]],<ref name="bini"/> [[Swift (Apple programming language)|Swift]]<ref name="lattner2014">{{cite web|url=http://nondot.org/sabre/|title=Chris Lattner's Homepage|last=Lattner|first=Chris|date=3 June 2014|accessdate=3 June 2014|publisher=Chris Lattner|quote=The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.}}</ref>
| operating_system = [[Cross-platform]]
| license = [[Python Software Foundation License]]
| website = {{URL|https://www.python.org/}}
| file_ext = .py, .pyc, .pyd, .pyo, .pyw
| wikibooks = Python Programming
}}
 
<pre style="overflow: auto">
{{Infobox programming language
| name = Python
| logo = Python logo and wordmark.svg
| logo_size = 260px
| paradigm = [[multi-paradigm programming language|multi-paradigm]]: [[object-oriented programming|object-oriented]], [[imperative programming|imperative]], [[functional programming|functional]], [[procedural programming|procedural]], [[reflective programming|reflective]]
| year = {{Start date and age|df=yes|1991}}
| designer = [[Guido van Rossum]]
| developer = [[Python Software Foundation]]
| latest_release_version = 3.4.3
| latest_release_date = {{Start date|df=yes|2015|02|25}}<ref>{{cite web |url=https://docs.python.org/3.4/whatsnew/changelog.html#python-3-4-3 |title=Python 3.4.3 |publisher=Python Software Foundation |accessdate=27 February 2015}}</ref><br>2.7.10 /<br>{{Start date|df=yes|2015|05|23}}<ref name="">{{cite web |url=https://www.python.org/downloads/release/python-2710/ |title=Python 2.7.10 Release |publisher=Python Software Foundation |accessdate=24 May 2015}}</ref>
| latest_preview_version = 3.5.0b3
| latest_preview_date = {{Start date|df=yes|2015|07|05}}<ref name="Python Release Python 3.5.0b2">{{cite web |url=https://www.python.org/downloads/release/python-350b3/ |title=Python Release Python 3.5.0b3 |publisher=Python Software Foundation |accessdate=9 July 2015}}</ref><!-- br>2.7.9rc1 /<br>{{Start date|df=yes|2014|11|26}}<ref>{{cite web |url=https://www.python.org/downloads/release/python-279rc1/ |title=Python 2.7.9 rc1 Release |publisher=Python Software Foundation |accessdate=26 November 2014}}</ref -->
| typing = [[duck typing|duck]], [[dynamic typing|dynamic]], [[strong typing|strong]], [[gradual typing|gradual]] (as of Python 3.5)<ref>{{cite web|url=https://lwn.net/Articles/627418/|title=Type hinting for Python|publisher=LWN.net|date=2014-12-24|accessdate=2015-05-05}}</ref>
| implementations = [[CPython]], [[IronPython]], [[Jython]], [[PyPy]]
| dialects = [[Cython]], [[RPython]], [[Stackless Python]]
| influenced_by = [[ABC (programming language)|ABC]],<ref name="faq-created"/> [[ALGOL 68]],<ref name="98-interview"/> [[C (programming language)|C]],<ref name="AutoNT-1"/> [[C++]],<ref name="classmix"/> [[Dylan (programming language)|Dylan]],<ref name="AutoNT-2"/> [[Haskell (programming language)|Haskell]],<ref name="AutoNT-3"/> [[Icon (programming language)|Icon]],<ref name="AutoNT-4"/> [[Java (programming language)|Java]],<ref name="AutoNT-5"/> [[Lisp (programming language)|Lisp]],<ref name="AutoNT-6"/> [[Modula-3]],<ref name="classmix" /> [[Perl]]
| influenced = [[Boo (programming language)|Boo]], [[Cobra (programming language)|Cobra]], [[D (programming language)|D]], [[F Sharp (programming language)|F#]], [[Falcon (programming language)|Falcon]], [[Go (programming language)|Go]], [[Groovy (programming language)|Groovy]], [[JavaScript]],<ref>{{cite web|title=Perl and Python influences in JavaScript|date=24 February 2013|website=http://www.2ality.com/|url=http://www.2ality.com/2013/02/javascript-influences.html
| accessdate = 15 May 2015}}</ref><ref>{{cite web|title= Chapter 3: Tha Nature of JavaScript; Influences|last= Rauschmayer|first= Axel|website=O'Reilly, Speaking JavaScript|url=http://speakingjs.com/es5/ch03.html|accessdate=15 May 2015}}</ref> [[Julia (programming language)|Julia]],<ref>{{cite web| title = Why We Created Julia| date= February 2012| website= Julia website| url= http://julialang.org/blog/2012/02/why-we-created-julia/| accessdate= 5 June 2014}}</ref> [[Nim (programming language)|Nim]], [[Ruby (programming language)|Ruby]],<ref name="bini"/> [[Swift (Apple programming language)|Swift]]<ref name="lattner2014">{{cite web|url=http://nondot.org/sabre/|title=Chris Lattner's Homepage|last=Lattner|first=Chris|date=3 June 2014|accessdate=3 June 2014|publisher=Chris Lattner|quote=The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.}}</ref>
| operating_system = [[Cross-platform]]
| license = [[Python Software Foundation License]]
| website = {{URL|https://www.python.org/}}
| file_ext = .py, .pyc, .pyd, .pyo, .pyw
| wikibooks = Python Programming
}}
</pre>
{{-}}
 
== Microformat ==
{{UF-hcal}}
 
== See also ==
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox |
* {{tl|Infobox software platform}}
* {{tl|Infobox OS}}
* {{tl|Infobox software}}
* {{tl|Infobox file system}}
 
<includeonly>{{Sandbox other|
| <!-- Categories below this line, please; interwikis at Wikidata -->
[[Category:Programming language templates| ]]
[[Category:Computing infobox templates|Programming language]]
[[Category:Infobox templates using Wikidata]]
}}</includeonly>