• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Hermetyzacja Python

VPS Starter Arubacloud
+1 głos
852 wizyt
pytanie zadane 25 marca 2021 w Python przez Patryk01 Obywatel (1,270 p.)
Każdy wie, że pisząc klasy np. w Javie powinniśmy hermetyzować dane. Jest ku temu wiele powodów. Dlaczego więc w Pythonie nie ma hermetyzacji, a jedynie umowne nazewnictwo pól? Jest to wada czy zaleta? Jeśli wada to dlaczego nie zostało to wprowadzone?

2 odpowiedzi

+2 głosów
odpowiedź 25 marca 2021 przez Wiciorny Ekspert (269,120 p.)
wybrane 25 marca 2021 przez Patryk01
 
Najlepsza
Bo python jest typowany dynamicznie, jego składnia została opracowana tak, żę dużo lepiej wykorzystuje się go funkcyjnie niż obiektowo, a funkcyjne programowanie nie opiera się na hermetyzacji  która jest raczej cechą obiektowego programowania, python jest bardzo imperatywny, jest też obiektowym językiem jednak jego możliwości sa na tyle fajne, że w pełni można wykorzystać programowanie funkcyjne które ma całkiem inny charakter.

Tutaj nie ma stanu, tutaj tez jeśli istnieje jakiś stan obiektu on powinien być immutable  więc nie musi być hermetyczny , gdyż nawet mając dostęp z poza wnętrza, niezmienność obiektu zapewnia że nie możemy ingerować w sam obiekt. To tylko taka luźna sugestia,

Jest to zarówno zaleta jak i wada, tak samo jak sama hermetyzacja w obiektowości może być wadą i zaletą, nie da się jednoznacznie powiedzieć: gdyż PYTHON jest językiem róznego-rodzaju przeznaczenia i to co jest w danym momencie dobre zależy od kontekstu to samo z innymi językami które nie są silnie nastawione na jeden rodzaj
+1 głos
odpowiedź 25 marca 2021 przez reaktywny Nałogowiec (40,650 p.)
Python miał być maksymalnie uproszczony i taki w zasadzie jest. Moim zdaniem trochę z tym przesadzili :) Brak pól prawdziwie prywatnych to żart i kpina. W Kotlinie przykładowo też można pisać obiektowo i funkcyjnie (nie w 100%), ale nie ma tam takich dżołków jak w Pythonie :)

Niemniej jednak każdy język ma jakieś plusy dodatnie i plusy ujemne, a suma summarum Python jest naprawdę OK.
komentarz 25 marca 2021 przez Wiciorny Ekspert (269,120 p.)
kotlin tylko na kanapce :D
komentarz 25 marca 2021 przez reaktywny Nałogowiec (40,650 p.)
Zbieżność nazw jest przypadkowa. W temacie polskich keczupów - chyba najlepszy to "Pudliszki".

Wracając do FP, przypomniało mi się, że ponoć w Javie też można pisać funkcyjnie czy prawie funkcyjnie. Python ma kilka rzeczy popsutych, co i tak nie przeszkadza mu być najczęściej wykorzystywanym językiem na świecie.

Podobne pytania

+1 głos
1 odpowiedź 1,200 wizyt
pytanie zadane 10 marca 2019 w Rozwój zawodowy, nauka, praca przez Teslum_369 Gaduła (4,190 p.)
0 głosów
1 odpowiedź 192 wizyt
pytanie zadane 11 stycznia 2018 w Java przez Ohnne Nowicjusz (180 p.)
0 głosów
2 odpowiedzi 236 wizyt
pytanie zadane 26 lutego 2017 w C i C++ przez John Doe Obywatel (1,720 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...