Notatka operacyjna z rozmowy z TW X. Wrażliwi niech nie czytają.
X kończył informatykę dawno temu, wie i umie dużo i za to się go ceni. Ja
zupełnie nie z tej parafii i okazjonalnie, niejako dla sportu narzekam, że taki pytong nie umie grać w to i owo
- np. przeciążanie funkcji czy fakt, że wszystko w klasie świeci
publicznie ("to se podkreślnik dodaj"), czy egzotykę niektórych mechanizów, brak części słów kluczowych itp. Podobnie z dziedziczeniem - człek nie wie, co to funkcja wirtualna, i prze w kierunku "to wywołaj funkcję bazową i dopiero później modyfikuj efekty jej działania" - tia... No ale pytong umie przeładowywać/redefiniować funkcje, bo wszystkie są z zasady wirtualne. Chyba nawet po małpie da się dać "dekorator", że właśnie override. A może to w javie było? Tak czy siak - wg standardów, które znam - trochę xujnia z grzybnią.
Przekaz dnia dostałem z grubsza taki, że Kernighan, Ritchie czy Stroustrup to idioci, a C++ i dalsze (C#/java) to choroba umysłowa, a nie obiektowe języki programowania. Bo prawdziwe to Simula i SmallTalk, a pyton to pierwszy nowoczesny i w miarę dobrze zaprojektowany. I na dokładkę, że wyraziłem sąd, że pytong źle realizuje paradygmaty OOP. A ja nie wiem, co to paradygmat (blado sobie wyobrażam), a już tym bardziej nie paradygmat języka, kurwa, ja klepię kod "żeby działało". I niczego takiego nie mówiłem, tylko czasem kurwica mnie strzela, że tu i ówdzie muszę posługiwać się sochą, a do dyspozycji w zasadzie jest też traktor (tylko akurat do orania tego kawałka benzyny nie dowieźli).
Zapodałem z tyłu głowy przykład z serii "Hello World", czyli rachowanie
pola trójkąta z pomocą długości boku i wystającej z niego wysokości (2
argumenty) albo z tzw. wzoru Herona (3 argumenty). I że sprawą elementarnej wygody
i samo-dokumentowania jest mieć dla tych obliczeń dwie funkcje, których nazwa brzmi "pole". (A początek sprawy z przeciążaniem chyba był właśnie w klasach - że nawet głupiego konstruktora nie da się przeciążyć.)
Okazało się (wg zelota py), że napisanie w jednym pliku (a więc module; chyba, bo z tą problematyką nie jestem za pan brat, unikam jak ognia po paru spektakularnych strzałach w kolano - hasło: relative imports) definicji np. pole(a, h) i pole(a, b, c) - co człowiekowi chowanemu na językach C++-podobnych jawi się czymś dość naturalnym - po prostu obowiązuje późniejsza z definicji. Bo "pole" to nazwa i def pole(argumenty): przypisuje to, co od nowej linijki po dwukropku do tej nazwy (z wcięciami - to też podobno częsta gehenna, ale tkwienie w 1 edytorze jakoś mnie chroni, dzięki temu Mikrosoftu i vscode).
Tak, w
pytongu jest - rzekomo, przytaczam tylko słowa informatyka, samemu nie
do końca wierząc - pełna analogia między tymi definicjami a napisaniem x = 1 i za
chwilę x = 2. Jasne, że nikt nie spodziewa się, że po drugim przypisaniu prawdą będzie, że x
== 1 albo że skądś magicznie można się odwołać do "wcześniejszej"
wartości, przynajmniej w 1 wątku. Na moje protesty, że jednak funkcje o różnych liczbach/typach
argumentów czy zwracanym (albo nie - to też źle, a ja akurat void cenię)
typie to coś innego niż zmienna int, były krzyki i miotanie kurwami, że wszystko jest
obiektem. Nie wiem. Nie kończyłem informatyki, z zachowania typa - może i
lepiej? Albo ludzie są ok, a typowi lekko peron odjechał. Zresztą, czemu się dziwić - solidaruch.
Finale: propozycja rozwiązania pytongicznego podobna jest - na mój gust - do ćwiczenia pt. "Gruzin łapie się prawą ręką za prawe ucho dookoła głowy". Dać funkcję 4 argumentów, zgodnie z osiadłą ze szkoły symboliką,
pole(a,h,b,c)
i
jeśli h jest niepuste, to zwrócić ah/2., jeśli puste, zwrócić
cokolwiek, co powinien dawać wzór Herona. Którego to wzoru nie pamiętam
za cholerę... (Ale chyba mógłbym sklecić. Bo mam jakie-takie
umiejętności, które cenię o siódme piekło wyżej niż wiedzę, o której
pierdolą 3x3 niedzielni krytycy czy co gorsza projektanci szkolnictwa.)
Szkoda, że nie spytałem o niemożliwość zmieniania wartości takiego sobie x wewnątrz funkcji - pewnie człeczyna jeszcze bardziej by się zaperzył (ew. nakazał opakowanie owego x w klasę, wtedy się da - to wiem, sprawdziłem i złoradstwowałem z tego parę minut). Dobry w tym zaperzaniu się jest, herbatnik, zwłaszcza jak zaczyna wrzeszczeć i seksłorkerkami rzucać przez telefon, a zaproszenia czy wezwania/prowokacji nie było.
I na co
ja tu wychodzę? Na trolla mimo woli? Co gorsza, współpraca się kroi.
Wschodni by napisali "świeci", ale to w innym kontekście. Tematu więcej z TW X proponujemy Służbie nie poruszać, konkakt operacyjny przerwać, szykan oszczędzić. W razie dalszych fików rozważyć opcję szpitalną w celu przemienienia.
No comments:
Post a Comment