[issue24914] Python: Not just OO style but this is not mentioned on python.org or in FAQ
New submission from Paddy McCarthy: Just read http://www.ibmsystemsmag.com/ibmi/developer/general/different-world-python/?utm_campaign=ibm-enews&utm_medium=email&utm_source=ibmi-jul22-2015?&utm_content=exclusive1-headline It states that they could have had an officially supported version of Python on that IBM platform much earlier but for this:
"The second was that everything we read on Python, and all the examples we encountered, led us to believe that it was a completely object oriented (OO) language"
They may have used it earlier had they known then that Python can be written in a procedural style they having no love of Java's OO, but being able to use PHP and access PHP's OO bits. Looking again on python.org, the examples are not OO, but when you delve down, say to the FAQ - it gives the mistaken impression that OO is the _only_ style of programming supported: https://docs.python.org/2/faq/general.html#what-is-python Somehow we need to explain that OO is an implementation style, but the language allows code to be written in just as much - or as little, of proceedural/OO/functional styles as the programmer is comfortable with. ---------- assignee: docs@python components: Documentation messages: 248987 nosy: Paddy McCarthy, docs@python priority: normal severity: normal status: open title: Python: Not just OO style but this is not mentioned on python.org or in FAQ type: enhancement _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue24914> _______________________________________
Brett Cannon added the comment: The problem is that technically Python is an object-oriented language as everything is a language (which is what makes Python more OO than Java). Having said that, you can use other programming styles. I'm fine with clarifying the entry in the FAQ that Python can be written in other programming styles such as procedural or functional. If you have suggested wording, Paddy, please feel free to propose a patch. ---------- nosy: +brett.cannon stage: -> needs patch versions: +Python 3.6 _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue24914> _______________________________________
Paddy McCarthy added the comment: OK, here's a suggested re-wording: "Python is an interpreted, interactive, object-oriented programming language that also supports programming in procedural and functional styles. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes; but statements are not required to be contained in class definitions and functions are first class - being able to be composed, returned from other functions and be a member of other container types such as dicts, sets, and lists." If that is too long,an alternative would be to delete my addition to the last sentence from "; but classes are not ..." Leaving it to the reader to research just how procedural and functional Python can be. (Where should a programmer, but newbie-to-Python look)? ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue24914> _______________________________________
Changes by Terry J. Reedy <tjreedy@udel.edu>: ---------- nosy: +terry.reedy _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue24914> _______________________________________
Change by Brett Cannon <brett@python.org>: ---------- nosy: -brett.cannon _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue24914> _______________________________________
Change by Brett Cannon <brett@python.org>: ---------- keywords: +patch nosy: +brett.cannon nosy_count: 3.0 -> 4.0 pull_requests: +19877 stage: needs patch -> patch review pull_request: https://github.com/python/cpython/pull/20658 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue24914> _______________________________________
Change by Brett Cannon <brett@python.org>: ---------- assignee: docs@python -> brett.cannon versions: +Python 3.10 -Python 3.6 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue24914> _______________________________________
Brett Cannon <brett@python.org> added the comment: New changeset 3ab3475c42c8ee5580f4ea1aeda73ebc8e5d5478 by Brett Cannon in branch 'master': bpo-24914: mention Python supports multiple paradigms in the FAQ (#20658) https://github.com/python/cpython/commit/3ab3475c42c8ee5580f4ea1aeda73ebc8e5... ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue24914> _______________________________________
Change by miss-islington <mariatta.wijaya+miss-islington@gmail.com>: ---------- nosy: +miss-islington nosy_count: 4.0 -> 5.0 pull_requests: +19944 pull_request: https://github.com/python/cpython/pull/20737 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue24914> _______________________________________
Change by miss-islington <mariatta.wijaya+miss-islington@gmail.com>: ---------- pull_requests: +19945 pull_request: https://github.com/python/cpython/pull/20738 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue24914> _______________________________________
Brett Cannon <brett@python.org> added the comment: New changeset 14073c509058f8efeb5ea7f7693bf84f410d24b7 by Miss Islington (bot) in branch '3.8': bpo-24914: mention Python supports multiple paradigms in the FAQ (GH-20658) (GH-20738) https://github.com/python/cpython/commit/14073c509058f8efeb5ea7f7693bf84f410... ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue24914> _______________________________________
Brett Cannon <brett@python.org> added the comment: New changeset b155381314c632e7dd452fbade3903e58657cfc7 by Miss Islington (bot) in branch '3.9': bpo-24914: mention Python supports multiple paradigms in the FAQ (GH-20658) (GH-20737) https://github.com/python/cpython/commit/b155381314c632e7dd452fbade3903e5865... ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue24914> _______________________________________
Change by Brett Cannon <brett@python.org>: ---------- resolution: -> fixed stage: patch review -> resolved status: open -> closed _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue24914> _______________________________________
participants (4)
-
Brett Cannon -
miss-islington -
Paddy McCarthy -
Terry J. Reedy