classification
Title: Add the term "dunder" to the glossary
Type: enhancement Stage: resolved
Components: Documentation Versions: Python 3.7, Python 3.6, Python 2.7
process
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: fdrake Nosy List: Mariatta, barry, brett.cannon, docs@python, fdrake, matrixise, pitrou, r.david.murray, rhettinger, serhiy.storchaka
Priority: normal Keywords: easy, patch

Created on 2017-11-03 20:57 by brett.cannon, last changed 2018-02-19 18:47 by brett.cannon. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 5582 closed matrixise, 2018-02-07 16:17
Messages (14)
msg305509 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2017-11-03 20:57
The term "dunder" is used out in the community regularly, but if you have never been exposed to it before it can seem a little odd without context.
msg305510 - (view) Author: Barry A. Warsaw (barry) * (Python committer) Date: 2017-11-03 20:59
-1 until we have something we can call a "mifflin".

(Kidding of course!)
msg305512 - (view) Author: Mariatta Wijaya (Mariatta) * (Python committer) Date: 2017-11-03 21:02
> until we have something we can call a "mifflin".

Name of next GitHub bot? :P
msg305513 - (view) Author: Mariatta Wijaya (Mariatta) * (Python committer) Date: 2017-11-03 21:03
Anyway, +1 to adding dunder to glossary.
msg305542 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-04 08:41
I think it shouldn't be added as a separate entry, but just mentioned in [1] and [2], and added to the index.

[1] https://docs.python.org/3/glossary.html#term-special-method
[2] https://docs.python.org/3/reference/datamodel.html#specialnames
msg305569 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2017-11-04 21:52
I would rather not clutter the glossary with this sort of entry.  Already, it has clutter that should probably be removed so that once again it becomes a worthwhile read rather than turning into a dictionary of random terms (such as meta-path-finder, module spec, and regular-package).

Instead, there should probably be a FAQ entry or wiki entry on the ever evolving spoken cultural terminology:

   dunder --> double underscore
   stir   --> __str__
   repper --> __repr__
   rest --> .rst files or representational-state-transfer
   sequel -> sql
   gwid -> globally unique indentifier
   inker and decker -> incref and decef    (larry hastings pronunciation)
msg305786 - (view) Author: Mariatta Wijaya (Mariatta) * (Python committer) Date: 2017-11-07 17:28
Thanks Raymond. +1 for adding the above list. 

I don't think FAQ is the right place either, I prefer we don't have to add the entries in the form of questions & answers.
msg305791 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2017-11-07 20:18
Agreed with Raymond that Python folk terminology should not go into the glossary.  I don't think I ever say "dunder" myself.
msg305792 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-07 20:56
I never seen terms like "stir" or "inker", but the term "dunder" is used pretty widely. The glossary already contains abbreviations and Python folk terminology like EAFP and BDFL.
msg305946 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2017-11-09 09:00
Recommend closing this and leaving it for StackOverflow.  I really don't want to further garbage-up the glossary.
msg307002 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-26 11:50
The term "dunder" is used in PEPs: PEP 8, PEP 408, PEP 435, PEP 505, PEP 520, PEP 526, and in the enum module documentation.
msg311797 - (view) Author: Stéphane Wirtel (matrixise) * Date: 2018-02-07 16:18
Just added the term in the glossary

If you want to review this PR, thank you
msg311798 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2018-02-07 17:29
EAFP and BDFL are not python folk terminology (the former never was, the latter may have originated with us but it has widespread use).  They are also acronyms.  'dunder' is the phonetic spelling of a way of pronouncing punctuation.  Raymond's examples of 'stir' and 'repper' are similar: phonetic spellings of ways of pronouncing something that isn't a word.

It seems to me that such phonetic spellings do no belong in the glossary.  The counter argument is that unlike the other two 'dunder' does appear *occasionally* in text...but the only place it appears in our documentation (that I can find via grep) is in the enum docs, and there it should be replaced by the correct term "special methods", especially since it there it is spelled "__dunder__".

For 'stir' and 'repper' the text spelling is __str__/str and __repr__/repr, for 'dunder XXX' the correct text spelling is the special method name, and for the "dunder method" the correct spelling (and I would argue the correct pronunciation :) is "special method".  That is, 'dunder' is mostly used in speech, not text.  It is not a "word" in the sense that the rest of the glossary entries are.
  
So, I vote with Raymond and others that this term does *not* belong in our glossary.

I recommend closing this issue as rejected.
msg311800 - (view) Author: Stéphane Wirtel (matrixise) * Date: 2018-02-07 20:07
David, 

I have no objection to closing this issue and I totally agree with your comment.
History
Date User Action Args
2018-02-19 18:47:12brett.cannonsetstatus: open -> closed
resolution: rejected
stage: patch review -> resolved
2018-02-07 20:07:12matrixisesetmessages: + msg311800
2018-02-07 17:29:14r.david.murraysetnosy: + r.david.murray
messages: + msg311798
2018-02-07 16:18:10matrixisesetnosy: + matrixise
messages: + msg311797
2018-02-07 16:17:38matrixisesetkeywords: + patch
stage: needs patch -> patch review
pull_requests: + pull_request5399
2017-11-26 11:50:08serhiy.storchakasetmessages: + msg307002
2017-11-09 09:00:53rhettingersetmessages: + msg305946
2017-11-09 08:59:31rhettingersetassignee: docs@python -> fdrake

nosy: + fdrake
2017-11-07 20:56:52serhiy.storchakasetmessages: + msg305792
2017-11-07 20:18:31pitrousetnosy: + pitrou
messages: + msg305791
2017-11-07 17:28:52Mariattasetmessages: + msg305786
2017-11-04 21:52:59rhettingersetnosy: + rhettinger
messages: + msg305569
2017-11-04 08:41:21serhiy.storchakasettype: enhancement
versions: + Python 2.7, Python 3.6, Python 3.7
keywords: + easy
nosy: + serhiy.storchaka

messages: + msg305542
stage: needs patch
2017-11-03 21:03:36Mariattasetmessages: + msg305513
2017-11-03 21:02:03Mariattasetnosy: + Mariatta
messages: + msg305512
2017-11-03 20:59:17barrysetnosy: + barry
messages: + msg305510
2017-11-03 20:57:49brett.cannoncreate