Gab es Streitigkeiten, wenn Software Geschlechter mit einem Booleschen Wert identifiziert? [geschlossen]

8

Ich erinnere mich, dass in unserer ersten Programmierklasse mit Java bei der Erläuterung der Datentypen Folgendes aufgetreten ist (irgendwie):

Professor : Welchen Datentyp würden Sie wählen, wenn Ihr Programm das Geschlecht des Benutzers speichern muss?

Jemand : Wie wäre es mit einem Booleschen? Sie wissen, wahr für Männer und falsch für Frauen.

Professor : Sicher, das mag funktionieren, aber einige Leute mögen darüber zögern. In der Vergangenheit gab es Streitigkeiten darüber, Männer "wahr" und Frauen "falsch" zu nennen ...

* Gelächter *

Am Ende empfahl er uns, Zeichen (wie 'm'und 'f') in Betracht zu ziehen, obwohl Boolesche Werte in Ordnung sein sollten.

Ich habe versucht, ein bisschen zu suchen, ob es irgendeinen historischen Eintrag bezüglich eines größeren Streits gegeben hat, der auf dieser Programmierpraxis basiert, ohne Glück.

Ich frage nicht, welchen Datentyp für das Geschlecht verwendet werden soll oder ob es in Ordnung ist oder keine Booleschen Werte zu verwenden. Ich frage , ob, historisch , es einen Streit über die Nutzung von booleans wegen der anscheinend das Geschlecht zu bestimmen gewesen ist „falsch“ in der Programmierung (Ich sage nicht , es ist falsch - ich nicht , dass es egal) Verhalten eine Frau "falsch" zu nennen, wie der Professor zu suggerieren schien.

Bei der Suche nach verwandten Fragen geht es nur um die Effizienz der Software.

Omega
quelle
3
Wie geschrieben, sieht das eher nach einem Wortspiel aus als nach einer ernsthaften Beschreibung historischer Programmierkonflikte ...
Mason Wheeler
8
Ein Problem bei der Verwendung eines Booleschen Werts anstelle einer Aufzählung zur Modellierung realer Phänomene - man möchte möglicherweise Transgender, XXY-Chromosomen usw. modellieren. Ich habe Transgender (2 Typen) in einer realen Datenbank als zulässigen Geschlechtswert gesehen. Ich weiß nicht, ob es das Ergebnis eines Streits war.
Psr
8
@PhillipBurch: Sie können immer noch einen Booleschen Wert verwenden. Verwenden Sie einfach "FileNotFound" für das dritte Geschlecht.
Kevin Cline
2
@YannisRizos: Ich finde es unangenehm, dass Sie als Mann eine Frage schließen, die für Menschen, die sich weder als männlich noch als weiblich identifizieren, von großer Bedeutung ist, und die auch für Frauen von Bedeutung sein könnten, nur weil Sie dies nicht tun kümmere dich darum. Zumal es positiv bewertet wurde.
DistantEcho
3
@Niphra Wenn Sie mit der Schließung nicht einverstanden sind, können Sie eine Frage dazu auf unserer Meta-Website posten .
Yannis

Antworten:

5

Dies ist eher ein kulturelles als ein technisches Problem und repräsentiert die Perspektive einer Gesellschaft auf das Geschlecht.

Wenn Sie in einem islamischen Land oder in China studiert haben, kann ich verstehen, warum dies ein Problem ist.

Die Antwort lautet also nein, ich habe noch nie von einem so dummen Problem bei der Programmierung gehört.

Reactgular
quelle
1
Um Gewicht zu gewinnen, arbeite ich mit Daten des NHS in England. Dies sind nationale Daten, die die gesamte Bevölkerung abdecken. Das Geschlecht wird als int gespeichert, 1 für männlich oder 2 für weiblich, was die gleichen sudo-ethischen Fragen aufwerfen würde. Hier wird ein int über einem Booleschen Wert verwendet, da andere Werte verwendet werden (z. B. unbekannt, Transgender usw.), aber es gibt kein Zögern, ein Codierungssystem zu verwenden, bei dem die Effizienz verbessert wird. Sie würden nicht zögern, andere Werte zu codieren. Warum also hier zögern?
Matt
23

Verwenden Sie niemals einen Booleschen Wert, nur weil es nur zwei Werte gibt. Wenn die Bedeutung von wahr und falsch nicht offensichtlich ist, verwenden Sie eine Aufzählung, falls verfügbar, und Zeichenfolgenkonstanten oder -symbole oder was auch immer, wenn nicht. Und allzu oft gibt es zunächst zwei Werte und später drei. Oder vier.

Kevin Cline
quelle
1
Sehr guter Rat, danke, geht aber nicht auf die Frage ein.
Omega
1
Welche historischen Fakten gibt es über einen Streit bei der Verwendung von Booleschen Werten für das Geschlecht aufgrund des scheinbar "falschen" moralischen Verhaltens, eine Frau "falsch" zu nennen? (Mir ist klar, dass der Titel nicht den moralischen Teil enthält, aber der Inhalt der Frage konzentriert sich darauf)
Omega
1
Es gab tatsächlich Streitigkeiten bei der Verwendung von Booleschen Werten, da sich Personen, die sich nicht als weiblich oder männlich identifizieren, ignoriert oder abgelehnt fühlten - sie mussten ein Geschlecht auswählen (siehe Google +). Die Verwendung von wahr / falsch ist weniger ein Problem.
DistantEcho
Wenn man bedenkt, dass die meisten Programmiersprachen ohnehin ein vollständiges Wort verwenden, um einen Booleschen Wert zu speichern, und "gender" definitiv keine wahr / falsch-Eigenschaft (semantisch) ist, dann haben Sie absolut Recht. Ein "falsches" Geschlecht zu haben ist überhaupt keine soziale Sache, es ist nur semantisch falsch und Sie gewinnen nicht einmal einen Leistungsvorteil.
Scott Whitlock
-4

Neben dem von Kevinn angegebenen Grund erzwingt die Verwendung von Booleschen Werten in diesem Fall die Verwendung von Variablen- und Eigenschaftsnamen wie isMale (oder isFemale) anstelle von gender.

Für mich ist ein neutraler Name wie "Geschlecht" viel besser als "isblabla" als Eigenschaftsname.

Codismus
quelle