Content deleted Content added
→Further reading: remove an obsolete book from 2008 |
Changed image of Guido van Rossum to a recent image. |
||
(8 intermediate revisions by 6 users not shown) | |||
Line 69:
|archive-url=https://web.archive.org/web/20181226141123/http://speakingjs.com/es5/ch03.html%0A
|url-status=live
}}</ref> [[Julia (programming language)|Julia]],<ref name=Julia/> [[Mojo (programming language)|Mojo]],<ref name="Mojo">{{Cite web |last=Krill |first=Paul |date=2023-05-04 |title=Mojo language marries Python and MLIR for AI development |url=https://www.infoworld.com/article/3695588/mojo-language-marries-python-and-mlir-for-ai-development.html |access-date=2023-05-05 |website=InfoWorld |language=en |archive-date=5 May 2023 |archive-url=https://web.archive.org/web/20230505064554/https://www.infoworld.com/article/3695588/mojo-language-marries-python-and-mlir-for-ai-development.html |url-status=live}}</ref> [[Nim (programming language)|Nim]], [[Ring (programming language)|Ring]],<ref name="The Ring programming language and other languages">{{cite web |url=http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |title=Ring and other languages |author=Ring Team |date=4 December 2017 |work=ring-lang.net |publisher=[[ring-lang]] |access-date=4 December 2017 |archive-date=25 December 2018 |archive-url=https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |url-status=live}}</ref> [[Ruby (programming language)|Ruby]],
<!-- Do not put in as there's also a pure Java implementation (Jython): | programming language = [[C (programming language)|C]] -->
| wikibooks = Python Programming
Line 84:
==History==
{{Main|History of Python}}
[[File:Guido van Rossum
Python was conceived in the late 1980s<ref name="venners-interview-pt-1"/> by [[Guido van Rossum]] at [[Centrum Wiskunde & Informatica]] (CWI) in the [[Netherlands]] as a successor to the [[ABC (programming language)|ABC]] programming language, which was inspired by [[SETL]],<ref name="AutoNT-12"/> capable of [[exception handling]] and interfacing with the [[Amoeba (operating system)|Amoeba]] operating system.<ref name="faq-created"/> Its implementation began in December 1989.<ref name="timeline-of-python"/> Van Rossum shouldered sole responsibility for the project, as the lead developer, until 12 July 2018, when he announced his "permanent vacation" from his responsibilities as Python's "[[benevolent dictator for life]]" (BDFL), a title the Python community bestowed upon him to reflect his long-term commitment as the project's chief decision-maker<ref name="lj-bdfl-resignation"/> (he has since come out of retirement and is self-titled "BDFL-emeritus"<!-- on his Twitter-->). In January 2019, active Python core developers elected a five-member Steering Council to lead the project.<ref>{{cite web |title=PEP 8100 |url=https://www.python.org/dev/peps/pep-8100/ |publisher=Python Software Foundation |access-date=4 May 2019 |archive-date=4 June 2020 |archive-url=https://web.archive.org/web/20200604235027/https://www.python.org/dev/peps/pep-8100/ |url-status=live}}</ref><ref>{{Cite web|title=PEP 13 – Python Language Governance|url=https://www.python.org/dev/peps/pep-0013/|access-date=2021-08-25|website=Python.org|language=en|archive-date=27 May 2021|archive-url=https://web.archive.org/web/20210527000035/https://www.python.org/dev/peps/pep-0013/|url-status=live}}</ref>
Line 116 ⟶ 115:
Some (more) standard library modules and many deprecated classes, functions and methods, will be removed in Python 3.15 or 3.16.<ref>{{Cite web |last=Wouters |first=Thomas |date=2024-04-09 |title=Python Insider: Python 3.12.3 and 3.13.0a6 released |url=https://pythoninsider.blogspot.com/2024/04/python-3123-and-3130a6-released.html |access-date=2024-04-29 |website=Python Insider}}</ref><ref>{{cite web |title=PEP 594 – Removing dead batteries from the standard library |url=https://peps.python.org/pep-0594/ |website=Python Enhancement Proposals |publisher=Python Softtware Foundation |date=20 May 2019}}</ref>
Python 3.
Python 3.14 is now in alpha 3; <!-- has changes for annotations <!- "PEP 563 [for Python 3.7 also] changed the semantics of annotations. ->, with PEP 649 "[preserving] nearly all existing behavior of annotations from stock semantics<!- .. This will print <class 'str'> with stock semantics and <class 'int'> when this PEP is active. This is therefore a backwards-incompatible change. However, this example is poor programming style, so this change seems acceptable. ->".<ref>{{Cite web |title=PEP 649 – Deferred Evaluation Of Annotations Using Descriptors {{!}} peps.python.org |url=https://peps.python.org/pep-0649/ |access-date=2024-10-16 |website=Python Enhancement Proposals (PEPs) |language=en}}</ref>
PEP 649 is an "Accepted PEP" and seemingly implemented in 3.14, however there is under "Open PEPs (under consideration)":
-->regarding possible change to annotations: "In Python 3.14, <code>from __future__ import</code> annotations will continue to work as it did before, converting annotations into strings."
"Since PEP 649 was written, Python 3.12 and 3.13 gained support for several new features that also use deferred evaluation, similar to the behavior this PEP proposes for annotations:"--><ref>{{Cite web |title=PEP 749 – Implementing PEP 649 {{!}} peps.python.org |url=https://peps.python.org/pep-0749/ |access-date=2024-11-20 |website=Python Enhancement Proposals (PEPs) |language=en}}</ref>
Line 573 ⟶ 574:
* [[History of programming languages]]
* [[Comparison of programming languages]]
{{Clear}}
Line 611 ⟶ 613:
<ref name="newin-2.0">{{cite web |url=https://docs.python.org/whatsnew/2.0.html |title=What's New in Python 2.0 |last1=Kuchling |first1=A. M. |last2=Zadka |first2=Moshe |date=16 October 2000 |publisher=Python Software Foundation |access-date=11 February 2012 |archive-date=23 October 2012 |archive-url=https://web.archive.org/web/20121023112045/http://docs.python.org/whatsnew/2.0.html |url-status=live}}</ref>
<ref name="AutoNT-13">{{cite web |url=https://www.python.org/community/pycon/dc2004/papers/24/metaclasses-pycon.pdf |archive-url=https://web.archive.org/web/20090530030205/http://www.python.org/community/pycon/dc2004/papers/24/metaclasses-pycon.pdf |archive-date=30 May 2009 |title=Python Metaclasses: Who? Why? When? |last=The Cain Gang Ltd. |access-date=27 June 2009 |url-status=dead}}</ref>
Line 771:
7. Neutrality on the part of editors is essential. In terms of major debates, items representing all major positions should be included, with annotations indicating the specific POV of each. We may have to work out rules where topic disputes are irreconcilable.
-->
* {{cite book |last=Downey |first=Allen
* {{cite book |last=Lutz |first=Mark |title=Learning Python |publisher=O'Reilly Media |year=2013 |edition=5th |isbn=978-0-596-15806-4}}
* {{cite book |last=Summerfield |first=Mark |title=Programming in Python 3 |publisher=Addison-Wesley Professional|year=2009|edition=2nd|isbn=978-0-321-68056-3}}
|