Wpis z mikrobloga

Python jako język przeszedł dla mnie smutną ewolucję. Kiedyś jak uczyłem się pythona jak jeszcze nie był aż tak popularny to czytało się artykuły, że python fajny bo duck typeing, kod prosto się pisze i szybko a prędkość działania to nie ma znaczenia (xD).

Typy defacto w pythonie nie powinny istnieć bo to język behawioralny czyli liczy się zachowanie objektu a nie czym jest. Dlatego też wymyślono magiczne metody by można było tworzyć obiekty które mogą się zachowywać i jak lista i jak liczba i jak string jednocześnie w zależności od kontekstu.

C# czy taka Java to ble, Python super.

To co te mądre kuce pythonowe zaczęły robić? Zaczęli wszystko typować bo się okazuje, że smuteczek ale w crudach komunikacja jest przeważnie sztywno zdefiniowana proszę daj mi stringa, masz stringa. Kod typowany jest przeważnie dużo czytelniejszy, ide łapie co ma podpowiadać i tak dalej co przy dużych projektach ma duże znaczenie.

Ale to nie wszystko. Dobra są te typy, ale te typy nic nie znaczą, że coś otypujesz jako string to nie znaczy, że to będzie string, więc pojawiły się mypy i nie mypaje które to sprawdzają.

Skoro piszesz kod który pisałbyś prawie tak samo w jakimś kotlinie, swifcie czy c# to po co pisać go w pythonie? A no tak bo znam tylko pythona.

Później masz kuców od ML, którzy nie potrafią programować więc zaczęli pisać te swoje skrypty w pythonie. Tylko kuce po czasie zauważyły że Python jest cholernie wolnym językiem, tak wolnym że dosłownie wszystko zaczęli przenosić do C/fortana a python to tylko taka sklejka i ładne interfejsy, i zauważyli że uwaga uwaga typy się przydają. Więc teraz powstaje język programowania który jest kompatybilny z Pythonem ale jest kompilowany i wprowadza dodatkowe składnie które umożliwiają typowanie - ten język Mojo się nazywa.

O co mi chodzi. Nienawidzę u kuców dogamtyzmu, a jest on bardzo częsty, technologie są źle dobrane bo programiści znają tylko jeden język i wszystko w nim piszą tu pije do was jsowcy również. Efekt? Projekt jest śmietnikiem i źle działa. I też język się staje śmietnikiem bo kuce wywierają nacisk na projektantów języka by naginali język pod konkretne potrzeby.

#programowanie #programista15k
  • 14
Uważam też że projekty w pythonie bardzo źle się skalują. Python jest dobry do protypowania albo MVP ale im więcej kodu tym wszystko coraz wolniejsze, trudniejsze do zrozumienia i bardziej skomplikowane. Dlatego pythona wrzuciłbym do kategorii -> łatwo pisze się w nim gównokod bardzo ciężko coś co trzeba rozwijać na lata. To samo co JS.
Python jako język przeszedł dla mnie smutną ewolucję. Kiedyś jak uczyłem się pythona jak jeszcze nie był aż tak popularny to czytało się artykuły, że python fajny bo duck typeing, kod prosto się pisze i szybko a prędkość działania to nie ma znaczenia (xD).


@janciopan: Python jest starszy od Javy. W tamtych czasach filozofią było statyczne typowanie ssie, dynamiczne daje mi pełną wolność a teraz coraz bardziej przechodzimy do statyczne typowanie to
@Saly:

dogmatyzm masz wszędzie. Ludzie, którzy nie są pewni tego co robią stosują dogmatyzm, żeby ego myślało, że to co robią jest słuszne. Trzeba mieć otwarty umysł albo doświadczenie, żeby mieć to w dupie


Studia informatyczne tu się przydają bo zmuszają cię do poznania wielu technologii.
@Saly: Ogólnie racja, tyle że dedukcja typów, ad-hoc polimorfizm i system typów Hindleya-Milnera są w Haskellu, który wyszedł dokładnie w tym samym roku co Python xD No, ale żeby nauczyć się Haskella trzeba mieć trochę więcej oleju w głowie, niż żeby nauczyć się Pythona. Z tym, że szczerze mówiąc to nie wiem gdzie obecnie te rzeczy obecnie występują poza językami funkcyjnymi, w Kotlinie?
który wyszedł dokładnie w tym samym roku co Python xD


@blehblehbleh: no cóż, tak to jest w językach programowania, że przychodzą mody. Tak jak kiedyś Java specialnie była przeciwna dobrze znanemu podejściu tj everything is an expression tak kotlin poszedł w przeciwną stronę, bo zmieniła się moda

dedukcja typów


@blehblehbleh: wszędzie, nawet java ma teraz swojego var
ad-hoc polimorfizm


@blehblehbleh: operator overloading, też trochę schodząć na bok to Protokoły