Aktywne Wpisy

Napiszcie mi coś sympatycznego.

Glupiii 0
jak pomaranczowa malpa autentycznie wypowie wojne wenezueli to chyba polece do tego waszyngtonu jej p-----------c na otrzezwienie
#gielda
#gielda
Skopiuj link
Skopiuj link

Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
#programista15k #programowanie #humorinformatykow #pracait #informatyk #takemybreathaway
źródło: comment_1656504201VfWeB9m2X3fecnyNdo5BHs.jpg
Pobierz@Krolik: czyli piszesz, że chcesz unikać pythona, bo jest wolny i zużywa za dużo zasobów więc będziesz wołać kod pythonowy?
@Massad: o wiele łatwiej przepisywać w obrębie tego samego języka, zwłaszcza że w C++ i innych językach statycznie typowanych masz dobre narzędzia do automatycznego refaktoringu a dla Pythona i języków dynamicznych nie. Poza tym w obrębie jednego języka możesz przepisywać po kawałku, co jest mniej ryzykowne niż big bang rewrite.
@Krolik: Jak w C++ użyjesz void* to też nie ma refaktoringu. od dobrych kilku lat nie ma powodu aby kod nie był otypowany. w c++ wymusza to kompiler, a w pythonie można zrobić to za pomocą mypy na CI.
Są dobre narzędzia do refacktoringu pythona. np biblioteka rope.
Źródła jakieś? W sensie, że w Ruście czy C++ napiszesz coś "lepiej" i "prościej" (niż w Pythonie) - i dobrze, aby źródła definiowały czym jest to "lepiej" i "prościej". Masz doktorat, więc strzelam, że podeprzesz twierdzenie
@Massad: od dobrej dekady nie ma powodu używać void* w C++.
@devopsiarz: Nie ma na ten temat bogatej literatury, bo to jest nowy język, ale wystarczy popatrzeć na dokumentację języka aby zobaczyć, że Rust posiada silniejsze i bogatsze mechanizmy abstrakcji niż Python. Trzy przykłady
@Krolik: od dobrych 3 lat nie ma powodu aby nie używać typowania w Pythonie. Masz już Generic w module
typing.1) I które konkretnie zasoby musisz zwalniać w Pythonie, bo GC tego nie ogarnie? Ale tak konkretnie i najlepiej na przykładzie kodu. Od razu spytam o Go (pomińmy defer - to jest kontrowersyjne) i Jave, bo pewnie tam też coś
@Massad: cykle są problemem czysto teoretycznym. Przypadek brzegowy, który ani razu przez ostatnie kilka lat pracy z C++ i Rust nie przysporzył mi kłopotu. I co z tego że jest weakref - jak nie masz gwarancji kiedy GC go posprząta. Zasoby muszą być zwalnianie deterministycznie.
A, czyli wskazałeś ticket w libce third-party, która robi rzecz będącą całkowicie poza
Zaraz, zaraz. Ja ich nie muszę przeprowadzać, bo i po co? ( ͡° ͜ʖ ͡°) To Ty wziąłeś sobie za cel porównywanie Pythona i Rusta i rozpowiadanie na forach jaki Rust jest genialny i zwięzły, a Python taki czy owaki, więc
@Krolik: a czemu ma generowac strukturę danych jak robi CLI dla funkcji na podstawie jej argumentów?
@devopsiarz: mozecie moze powiedzieć co macie na myśli w tym kontekście? Ostatnio napisałem dość dużo kodu bazującego na adnotacjach typów i w zależności od tego zmieniających działanie w runtime.
Owszem, możesz type hintować i w runtime sobie sprawdzać typy na podstawie jakichś
isinstanceczy tego typu wynalazków, to może dużo pomóc w wyłapywaniu błędów związanym z typowaniem (porównując z@Massad: np. temu, że potem chcesz dorzucić alternatywnie konfigurowanie z pliku i zamiast dopisać kilka linii to musisz zrobić wszystko od nowa. Nie mówiąc o tym, że konfiguracja jako strktura jest wygodniejsza aby ją przekazywać gdzieś dalej. A tutaj co, jak będziesz mieć 20 paramtrów, to potem 20 paametrów będziesz przekazywał przez kilka poziomów wywołań funkcji?
Problem polega na tym, że opierając się na GC, nie tylko nie będą zwalniane natychmiast, ale nie masz gwarancji, że w ogóle zostaną kiedykolwiek zwolnione. A takie deskryptory plików w domyślnej konfiguracji potrafią się bardzo szybko skończyć (bo domyślnie w wielu systemach jest ich tylko 1024 / proces).
Jezeli chodzi o silnosc typowania to w pythonie jest tak samo silna jak w C++ tylko sprawdzana w czasie wykonania, a nie kompilacji. Jak nie ma przeciazonego operatora to dana operacja nie zostanie wykonana.
Takim dorym porownaniem bylby kod w C++ ktory masowo wykorzystuje Template i iteratory. Tam tak samo.
@Massad: no typ to jest takie samo słabe rozwiązanie jak try w javie. Po pierwsze użycie pliku masz wtedy przyczepione do zasięgu leksykalnego, po drugie musisz pamiętać o tym aby takowego kontekstu użyć lub zawołać ręcznie close. Przy czym ręczne zawołanie close może skończyć się tym że zostanie pominięte jesli poleci wyjątek. Czyli zarządzasz ręcznie a
A jedyny przypadek wyczerpania deskryptorow miałem w c++, bo jednak był o jeden smart pointer za dużo. Od tego czasu pilnuje aby zamykać pliki jak tylko przestają być potrzebne.
Czy ta biblioteka, nie rozwiązuje tego samego problemu co multiprocessing.Pipe?
https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Pipe