
يتم أخذ الصواب السياسي بعين الاعتبار حتى في لغات البرمجة. في الأسبوع الماضي ، أرسل مطور Python فيكتور ستينر من Red Hat
أربعة طلبات تجمع لإعادة تسمية المصطلحات المسيئة / العبد التي يحتمل أن تكون مسيئة في وثائق وشفرة Python. اقترح المؤلف استبدالها بكلمات محايدة اجتماعيًا لا تسيء إلى الأشخاص الذين كان أسلافهم عبيدًا حقيقيين. كبديل محتمل هناك مصطلحات الوالد / العامل.
التغيير المقترح ليس نزوة لمطور واحد ، ولكنه اتجاه عام للغات وتقنيات البرمجة المختلفة. قدم ستينر أمثلة على تغييرات مماثلة في Redis و
Drupal و
CouchDB و
Django . لذا ، استبدل Django و CouchDB مصطلحات السيد / العبد بالزعيم / التابع.
في الوقت نفسه ، أعرب ستينر عن رأي مفاده أنه لا يزال من الممكن ترك مصطلحات "الاستعباد" لبعض المصطلحات ، مثل الفرع الرئيسي في Git ، ومدير الموقع ، ومدير البريد.
بدأت مناقشة ساخنة.
يؤدي البحث في قاعدة بيانات python / cpython إلى العثور على العديد من التضمينات في المصطلحات الرئيسية "المسيئة" والعبد بجوار بعضها البعض ، بما في ذلك في المكتبات الخاصة والمكتبة المفتوحة.
على سبيل المثال ،
إليك رمز lib / pty.py :
STDIN_FILENO = 0
STDOUT_FILENO = 1
STDERR_FILENO = 2
CHILD = 0
def openpty():
"""openpty() -> (master_fd, slave_fd)
Open a pty master/slave pair, using os.openpty() if possible."""
try:
return os.openpty()
, « » , , , .
, Python Linux — master/slave . , Python, Linux. , Python Linux . «» Python , Linux.
, «» «» . master , . , doctest doctest.master:
# For backward compatibility, a global instance of a DocTestRunner
# class, updated by testmod.
master = None
, .
, « ». ,
nntplib.NNTP() slave(), slave . NNTP,
3.12 ( SLAVE), .
— mbuf.master PyMemoryViewObject C API:
typedef struct {
PyObject_HEAD
int flags; /* state flags */
Py_ssize_t exports; /* number of direct memoryview exports */
Py_buffer master; /* snapshot buffer obtained from the original exporter */
} _PyManagedBufferObject;
/* memoryview state flags */
#define _Py_MEMORYVIEW_RELEASED 0x001 /* access to master buffer blocked */
#define _Py_MEMORYVIEW_C 0x002 /* C-contiguous layout */
#define _Py_MEMORYVIEW_FORTRAN 0x004 /* Fortran contiguous layout */
#define _Py_MEMORYVIEW_SCALAR 0x008 /* scalar: ndim = 0 */
#define _Py_MEMORYVIEW_PIL 0x010 /* PIL-style layout */
typedef struct {
PyObject_VAR_HEAD
_PyManagedBufferObject *mbuf; /* managed buffer */
Py_hash_t hash; /* hash value for read-only views */
int flags; /* state flags */
Py_ssize_t exports; /* number of buffer re-exports */
Py_buffer view; /* private copy of the exporter's view */
PyObject *weakreflist;
Py_ssize_t ob_array[1]; /* shape, strides, suboffsets */
} PyMemoryViewObject;
, master slave . , . , Python 3.8 master/slave .
, , . , Redis : 1.0.0
SLAVEOF NO ONE, -slave -master. , . . , 2003 -
master/slave .
2004 Global Language Monitor
master/slave . ,
RFC 977 1986 .
- , — . , , Python.
-, , pty UNIX.
, «» . , «: 5000 » “dominium” () “familia” ():
“dominium”, “dominus”, «», «», “domus”, . . «», «». “domestic” («»), « » , . “Domus” “familia”, . . «», “familia” “famulus”, . . «». , “pater familias”, , , .
, - , , , , — , , . , , . , .
“dominium”, , , , () , , , , , , . ., , .
«», «» : . , .
.
« !
, , — .
, , . , , .
, .
.
, ».
— fukkit