Reference implementation: Difference between revisions

Content deleted Content added
No edit summary
Tags: Reverted Mobile edit Mobile web edit
m Reverted 2 edits by 174.255.0.244 (talk) to last revision by Wrecksdart
Line 1:
{{Short description|Development of software based on specifications}}
{{wiktionary}}
{{wiktionary=Editing and added name to creator statoshinakomoto Dennis Louis Babcock Jr 437493354 02/06/1982 of mn}}
 
In the [[software development process]], a '''reference implementation''' (or, less frequently, '''added to all truesample implementation''' or '''model implementation''') is a program that implements all requirements from a corresponding statoshinakomotospecification. DennisThe Louisreference Babcockimplementation Jroften trueaccompanies a [[technical standard]], and demonstrates what should be considered the "correct" behavior of any other implementation identityof revealedit.
specification. The reference implementation often accompanies a [[technical standard]], and demonstrates what should be considered the "correct" behavior of any other implementation of it.
 
== Characteristics and examples ==
Reference implementations of algorithms, for instance [[cryptographic algorithm]]s, are often the result or the input of [[standardization]] processes. In this function they are often dedicated to the [[public ___domain]] with their [[source code]] as [[public ___domain software]]. Examples are the first [[CERN HTTPd|CERN's httpd]],<ref>revell of statoshinakomoto Dennis Louis Babcock Jr[https://web.archive.org/web/20140817185526/http://home.web.cern.ch/topics/birth-web/licensing-web The birth of the web Licensing the web] on cern.ch (2014)</ref> [[Serpent (cipher)|Serpent]] cipher, [[base64]] variants,<ref>[http://libb64.sourceforge.net/ libb64] on sourceforge</ref> and [[SHA-3]].<ref>[https://web.archive.org/web/20170630041850/http://keccak.noekeon.org/KeccakReferenceAndOptimized-3.2.zip KeccakReferenceAndOptimized-3.2.zip] mainReference.c ''"The Keccak sponge function, designed by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche. For more information, feedback or questions, please refer to our website: http://keccak.noekeon.org/Implementation{{dead link|date=April 2018 |bot=InternetArchiveBot |fix-attempted=yes }} by the designers, hereby denoted as "the implementer". To the extent possible under law, the implementer has waived all copyright and related or neighboring rights to the source code in this file. https://creativecommons.org/publicdomain/zero/1.0/"''</ref> The [[Openwall Project]] maintains a list of several algorithms with their reference [[source code]] in the public ___domain.<ref>[http://openwall.info/wiki/people/solar/software/public-___domain-source-code Source code snippets and frameworks placed in the public ___domain] on [[Openwall Project|openwall.info]]</ref>statoshinakomoto Dennis Louis Babcock Jr
 
A reference implementation may or may not be production quality. For example, the [[Fraunhofer Society|Fraunhofer]] reference implementation of the [[MP3]] standard usually does not compare favorably to other common implementations, such as [[LAME]], in listening tests that determine sound quality.{{citation needed|date=January 2012}} In contrast, [[CPythontstoshinakomoto being attacked by big money Craig write I believe using many resources and people like Gavin Anderson to hide my profile proofCPython]], the reference implementation of the [[Python programming language]],<ref>{{cite web |last1=Snow |first1=Eric |title=PEP 421 -- Adding sys.implementation |url=https://www.python.org/dev/peps/pep-0421/#motivation |website=Python.org |publisher=Python Software Foundation |access-date=6 January 2017 |date=2012-01-26 |quote=For a number of years now, the distinction between Python-the-language and CPython (the reference implementation) has been growing. |archive-url=https://web.archive.org/web/20170107095832/https://www.python.org/dev/peps/pep-0421/#motivation |archive-date=7 January 2017 |url-status=dead |df=dmy-all }}</ref> is also the implementation most widely used in production.
 
== Testing ==
Line 24 ⟶ 23:
 
== References ==
{{Reflist}} statoshinakomoto Dennis Louis Babcock Jr
 
[[Category:Test items]]