Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python: Not just OO style but this is not mentioned on python.org or in FAQ #69102

Closed
PaddyMcCarthy mannequin opened this issue Aug 22, 2015 · 6 comments
Closed

Python: Not just OO style but this is not mentioned on python.org or in FAQ #69102

PaddyMcCarthy mannequin opened this issue Aug 22, 2015 · 6 comments
Assignees
Labels
3.10 only security fixes docs Documentation in the Doc dir type-feature A feature request or enhancement

Comments

@PaddyMcCarthy
Copy link
Mannequin

PaddyMcCarthy mannequin commented Aug 22, 2015

BPO 24914
Nosy @brettcannon, @terryjreedy, @miss-islington
PRs
  • bpo-24914: mention Python supports multiple paradigms in the FAQ #20658
  • [3.9] bpo-24914: mention Python supports multiple paradigms in the FAQ (GH-20658) #20737
  • [3.8] bpo-24914: mention Python supports multiple paradigms in the FAQ (GH-20658) #20738
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/brettcannon'
    closed_at = <Date 2020-06-08.18:53:51.910>
    created_at = <Date 2015-08-22.06:45:10.702>
    labels = ['type-feature', '3.10', 'docs']
    title = 'Python: Not just OO style but this is not mentioned on python.org or in FAQ'
    updated_at = <Date 2020-06-08.18:53:51.910>
    user = 'https://bugs.python.org/PaddyMcCarthy'

    bugs.python.org fields:

    activity = <Date 2020-06-08.18:53:51.910>
    actor = 'brett.cannon'
    assignee = 'brett.cannon'
    closed = True
    closed_date = <Date 2020-06-08.18:53:51.910>
    closer = 'brett.cannon'
    components = ['Documentation']
    creation = <Date 2015-08-22.06:45:10.702>
    creator = 'Paddy McCarthy'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 24914
    keywords = ['patch']
    message_count = 6.0
    messages = ['248987', '248999', '249001', '371034', '371038', '371039']
    nosy_count = 5.0
    nosy_names = ['brett.cannon', 'terry.reedy', 'docs@python', 'Paddy McCarthy', 'miss-islington']
    pr_nums = ['20658', '20737', '20738']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue24914'
    versions = ['Python 3.10']

    @PaddyMcCarthy
    Copy link
    Mannequin Author

    PaddyMcCarthy mannequin commented Aug 22, 2015

    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.

    @PaddyMcCarthy PaddyMcCarthy mannequin added docs Documentation in the Doc dir type-feature A feature request or enhancement labels Aug 22, 2015
    @brettcannon
    Copy link
    Member

    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.

    @PaddyMcCarthy
    Copy link
    Mannequin Author

    PaddyMcCarthy mannequin commented Aug 23, 2015

    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)?

    @brettcannon brettcannon added the 3.10 only security fixes label Jun 5, 2020
    @brettcannon brettcannon assigned brettcannon and unassigned docspython Jun 5, 2020
    @brettcannon
    Copy link
    Member

    New changeset 3ab3475 by Brett Cannon in branch 'master':
    bpo-24914: mention Python supports multiple paradigms in the FAQ (bpo-20658)
    3ab3475

    @brettcannon
    Copy link
    Member

    New changeset 14073c5 by Miss Islington (bot) in branch '3.8':
    bpo-24914: mention Python supports multiple paradigms in the FAQ (GH-20658) (GH-20738)
    14073c5

    @brettcannon
    Copy link
    Member

    New changeset b155381 by Miss Islington (bot) in branch '3.9':
    bpo-24914: mention Python supports multiple paradigms in the FAQ (GH-20658) (GH-20737)
    b155381

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.10 only security fixes docs Documentation in the Doc dir type-feature A feature request or enhancement
    Projects
    None yet
    Development

    No branches or pull requests

    1 participant