Świat kodowania jest pełen dziwnych terminów. Mamy backend, tagi, frameworki i wiele innych. Jednak, mimo że niektóre słowa i zwroty mogą brzmieć dziwnie, dopóki się do nich nie przyzwyczaimy, zazwyczaj nie są one obraźliwe.
Jest kilka rzadkich wyjątków, jednakże, takich jak częste używanie master i slave. Niemal nie trzeba dodawać, że są to słowa potencjalnie problematyczne ze względu na ich historyczne konotacje. Jednakże wciąż są szeroko używane w kręgach deweloperskich i wielu językach programowania. W rzeczywistości ich użycie jest tak zakorzenione, że większość ludzi nigdy nie zastanawiała się nad tymi terminami.
Dziś porozmawiamy więcej o tych dwóch problematycznych terminach programistycznych. Omówimy kontrowersje związane z ich użyciem, przedstawimy debatę na temat możliwości ich zastąpienia oraz wyjaśnimy, co niektóre zespoły open-source robią, by rozwiązać ten problem. Porozmawiajmy o terminologii!
Istnienie Problemowych Terminów Programowania w Kodowaniu Open-Source
Jak wspomnieliśmy wcześniej, wokół używania terminów master i slave w społeczności open-source istnieje dużo kontrowersji. Zwykle te terminy odnoszą się do modelu komunikacji, w którym jeden element ma pełną kontrolę nad drugim.
Na przykład możesz mieć bazy danych master i slave, z master jako główną.
Jeśli nie jesteś częścią społeczności technologicznej, to może wydawać się trochę dziwne. Wszyscy znamy znaczenie obu słów, jak również ich historyczny kontekst. Jednak te terminy są używane od dawna i większość osób, które ich używają, nigdy się nad tym nie zastanawia ani nie poświęca temu zbyt wiele uwagi.
Jednocześnie od jakiegoś czasu niektórzy zwracają uwagę, że ich użycie może być problematyczne. Możemy znaleźć odniesienia już z 2004 roku do kontrowersji związanych z tą kwestią. W tym roku, inicjatywa Global Language Monitor wybrała połączenie master/slave jako najbardziej rażący przykład politycznie niepoprawnej terminologii. Od tego czasu rozpoczęła się wiele dyskusji w projektach open-source na temat możliwości zastąpienia obu słów. Jednak w kręgach programistów przeprowadzono wiele interesujących argumentów na ten temat.
Szczerze mówiąc, cała ta sprawa może wydawać się przesadzona, jeśli nie poświęciłeś ostatniej dekady, co warto wziąć pod uwagę.
Dlaczego istnieje kontrowersja dotycząca terminów Master i Slave
Kiedy terminy master i slave są używane w społeczności open-source, nie odnoszą się do ludzi. Gdyby tak było, moglibyśmy szybko zakończyć tę dyskusję, ponieważ prawie wszyscy zgodziliby się, że potrzebujemy mniej obraźliwej terminologii.
Zamiast tego, te terminy są używane do odnoszenia się do elementów takich jak bazy danych, dyski i więcej. To prowadzi nas do powodów, dla których niektóre osoby są przeciwko zastępowaniu terminów master i slave, które można streścić w kilku punktach:
- Oba terminy funkcjonują od jakiegoś czasu, więc nie ma sensu ich zastępować.
- W świecie technologii te słowa nie są używane w kontekście obraźliwym.
Dla niektórych osób master i slave to tylko słowa, a pomysł, że powinniśmy zniechęcać ich używanie w kodowaniu wydaje się stratą czasu. Z praktycznego punktu widzenia trudno jest argumentować przeciwko tym punktom. Jednakże, jeśli mówimy o praktyczności, warto również zauważyć, że zastąpienie tych terminów nie wpłynęłoby na projekty pod względem funkcjonalności.
Ponadto argument, że powinniśmy trzymać się tych samych słów, ponieważ zawsze tak robiliśmy, nie jest szczególnie przekonujący. Jako społeczeństwo, stało się dla nas normalne, że zniechęcamy do używania obraźliwej terminologii, nawet jeśli zmiana zajmuje czas. Byłoby proste wybrać słowa zastępcze, które są znacznie mniej kontrowersyjne i zacząć ich używać.
To prowadzi nas do sedna debaty, czy samo w sobie słowo może być obraźliwe, niezależnie od kontekstu. Niektórzy byliby zdania, że zmiana terminów master i slave ustanawia zły precedens, ponieważ zawsze będą słowa, które inne osoby znajdą obraźliwe. Pomijając debaty o poślizgu po równi pochyłej, trudno jednak zaprzeczyć temu, że te dwa terminy, w szczególności, mają wyraźnie negatywne konotacje.
Podsumowując, ważne jest, aby rozważyć, że chociaż te słowa mogą nie wpływać na Ciebie osobiście, mogą mieć duży wpływ na innych ludzi i sposób, w jaki myślą. Społeczność open-source jest zbudowana wokół współpracy, więc jeśli możemy poprawić środowisko i uczynić je bardziej przyjaznym dla wszystkich poprzez zmianę kilku słów, to może to mieć sens.
Jak projekty open-source zniechęcają do używania problematycznych terminów programistycznych
Dyskusja na temat terminów master i slave trwa tak długo, że kilka firm już podjęło kroki, aby się z tym uporać. Na przykład IBM i Microsoft używają słów primary i replica odnosząc się do baz danych w swojej dokumentacji.
Jeśli chodzi o projekty typu open-source, Python, Drupal i Django całkowicie usunęli te terminy ze swojej dokumentacji. Python poszedł tą samą drogą co Microsoft i IBM, używając główny i kopia. Django natomiast zdecydował się na implementację terminów lider i naśladowca.
To są tylko najbardziej znane przykłady, które mogliśmy znaleźć. Istnieje również wiele mniejszych projektów, które podjęły kroki w celu rozwiązania kontrowersji. Co więcej, fakt, że kilku dużych graczy na świecie technologii zgadza się, że warto poważnie potraktować użycie tych terminów, wysyła jasny sygnał, że inni prawdopodobnie również pójdą w ich ślady.
Ostatecznie, decyzja o zastąpieniu terminów master i slave jest osobistą decyzją każdego programisty. Jeśli jesteś częścią projektu open-source, osiągnięcie konsensusu może być trudniejsze. Jednakże, może być najlepiej, jeśli będziemy dążyć do zastąpienia tych terminów w kręgach programistów. W końcu, etos open-source to dostępność dla wszystkich, co jest trudne do osiągnięcia, gdy powszechnie używane terminy mogą odstraszać część potencjalnej społeczności.
Czy uważasz, że problematyczne terminy kodowania powinny zostać zmienione?
Terminy master i slave są powszechne, jeśli chodzi o obliczenia. Dla wielu osób, te słowa nie niosą negatywnych konotacji, ponieważ mają bardzo specyficzne znaczenia w świecie IT. Jednakże, nie można zaprzeczyć ich historycznemu ciężarowi. Mając to na uwadze, zawsze będą osoby, które uznają swobodne używanie obu terminów w kodowaniu za problematyczne.
Chociaż zmiana terminów używanych w kodowaniu może wydawać się niewygodna, jest to zarówno możliwe, jak i stosunkowo proste. Fakt, że kilka znanych projektów takich jak Python i Drupal podejmują działania, aby wyeliminować użycie terminów master i slave, jest już dużym krokiem. Pozbycie się tych terminów to nie tylko dobry ruch PR, ale także sprawia, że społeczność staje się bardziej przyjazna dla tych, którzy mogą je uznać za osobiste obraźliwe.
Czy uważasz, że ma sens zastępowanie problematycznych terminów kodowania w języku programowania? Podziel się swoimi przemyśleniami z nami na Facebooku lub Twitterze.