Wpis z mikrobloga

  • 0
a to coś to prostota,


@bkowalczyyk: Prostota Javy i Golang jest pozorna. Im bardziej ubogi język, tym więcej złożoności masz w kodzie.

ale jak mam potem pisać async code to dziękuje bardzo.


Async Rust umożliwia robienie rzeczy, których *nie da się* zrobić ani w Javie ani w Golang, więc sorry, ale argument z dupy. Znowu - krytykujesz mercedesa za to że ma więcej przycisków na panelu klimatyzacji niż Fiat 126p. No,
Prostota Javy i Golang jest pozorna. Im bardziej ubogi język, tym więcej złożoności masz w kodzie.


@Krolik: nie nie jest, prostota Javy jest prosta, bo Java jest prosta, prostota rusta jest pozorna, bo tutotiale sa proste a potem miesiąc spędzasz nad zrozumieniem hrtb albo modlisz się żeby future się skompilował, śmiechu warte.

Async Rust umożliwia robienie rzeczy, których *nie da się* zrobić w Javie,

co się nie da ? xd no
  • 0
Pin<Box<dyn Future<Output = Result<Response<Body>, Infallible>> + Send>>;


@bkowalczyyk: Poza tym jeśli wyciągasz takie rzeczy to świadczy to tylko o tym, że Rust widziałeś jedynie na obrazku. 99% kodu używającego async, to nudny, prosty kod, gdzie nie używa się ani razu konstrukcji Future i Pin jawnie. Używa się prostych async fn, await i ewentualnie czasem spawn, select!, join!. Przypinanie Future'ów używa się w bibliotekach, które muszą być
że Rust widziałeś jedynie na obrazku

XDDDDDD ten dokładnie fragment jest z mojego kawałka kodu który port-forwarduje requesty do poda w kubernetesie (associated type z hyperowego serwisu).

Używa się prostych async fn, await

i tu jest problem - używa się, i mam przez to nie rozumieć jak to działa ? mam na pałę kopiować wszystko z internetu jak zwierze (a więc tak wygląda praca w rust... elegancko) ? w Javie jest kultura,
  • 0
modlisz się żeby future się skompilował, śmiechu warte


@bkowalczyyk: Lepiej żeby się nie skompilował niż mieć błąd na produkcji. Poza tym jeśli masz problemy z kompilacja w Rust to są zasadniczo dwie możliwości:
- przenosisz styl programowania z innego języka np. Javy do Rust, co jest błędem
- przekombinowujesz i robisz overengineering

Tu masz to rozwinięte, bo nie chce mi się już tłumaczyć: https://vorner.github.io/difficult.html

w Javie jest kultura, otwieram sobie kod
@Krolik:

Totalna bzdura. W Javie praktycznie każda linia może rzucić wyjątek

może, pewnie (jeszcze jak !), przecież ja nie napisałem że jest poprawny tylko czytelny - nawet w mercedesie od czasu do czasu może się coś popsuć. Ale myślę że zgadzamy się przynajmniej w tym że Java to nad-język, nie ma nic lepszego general-purpose, a wszystkie te golangi i rusty to gdzieś tam w lesie i nawet nie mają podjazdu do
  • 1
@bkowalczyyk: nie rozumiesz, możliwość rzucenia wyjątku w dowolnym miejscu oznacza gorszą czytelność, bo żeby dokładnie zrozumieć co się dzieje w danym fragmencie kodu, musisz patrzeć na implementacje wszystkich wywołań i to wiele poziomów wgłąb - nie wystarczy popatrzeć na ich sygnatury i opisy. Wyjątki to jest ukryty, drugi przepływ sterowania. Analogicznie, możliwość zmodyfikowania obiektu przez cokolwiek co ma do niego referencję powoduje, że nie wystarczy analizować sekwencji jawnych wywołań metod na
@Krolik: ja rozumiem - Ty nie rozumiesz że to co piszesz to żaden argument (zresztą najlepszym dowodem na to że racji nie masz jest rynek - i nie xd to że cloudflare to albo discord tamto to nic nie znaczy, bo wyciągasz jakieś top firmy z wielkim ruchem, ale to nie one tworzą rynek) - a co to unsafami nie narobisz syfu? .unwrapem() nie zdetonujesz programu ? rustowcy nie piszą syfu
  • 0
@bkowalczyyk: no i co z tego że użył makra? Jednym kliknięciem rozwijam makro i w sekundę widzę co robi. Powodzenia w zrobieniu tego samego w kodzie używającym annotation procesora w javie. Albo miłego czytania kodu robionego metodąn kopiuj - wklej.

Masz błędne poczucie co to jest pokręcony kod.

ale to nie one tworzą rynek


Właśnie dokładnie one tworzą rynek. Gdyby Sun nie stał za Javą to byłaby tylko ciekawostką. Podobnie z
@Krolik:

Albo miłego czytania kodu robionego metodąn kopiuj - wklej.

no właśnie miłego czytania, bo ten kod byłby czytelniejszy (otwierasz takie Netty i widzisz poemat, a otwierasz coś w rust i zaczynasz płakać), bo oprogramowanie się pisze tak żeby było czytelne, ale ja wiem że Ty się z tym nie zgadzasz, cytując :

Programy nie są od tego aby je wysyłać na konkursy piękności, tylko po to aby spełniały wymagania.

jak
  • 0
@bkowalczyyk:

no właśnie miłego czytania, bo ten kod byłby czytelniejszy


Nie ma nic czytelnego w tym samym kodzie powtórzonym wielokrotnie. Marnuje tylko czas czytającego, bo trzeba sprawdzać, czy jest na pewno tak samo, czy może jednak jakaś jedna rzecz się zmieniła. Funkcji też nie stosujesz tylko robisz ctrl-c ctrl-v?

Java jest gdzie jest bo jest po prostu najlepsza dla większości projektów.


No, np. GitHub się o tej najlepszości przekonał, jak im
@Krolik: Straszny smutek i frustracja bije z Twoich komentarzy. Zaparz sobie yerbę czy meliskę.

Ja myślałem, że wojny o to, który język programowania lepszy mamy już za sobą. Zresztą i tak o wszystkim decyduje biznes. Pracowałem kiedyś w projekcie, który przetwarzał duże ilości danych i był używany spark. Kod pod sparka był napisany w Pythonie. Wiesz czemu? Bo łatwiej było znaleźć dobrego programistę pythona i dołożyć serwer niż męczyć się ze
  • 0
@BreathDeath: tak, tak, bo oczywiście wszystkie języki są takie same, a ludzie nigdy nie wybierają złych narzędzi i materiałów do budowy oprogramowania. No i wszystkie projekty kończą się sukcesem. Jednorożce też masz w tej bajce?

Ty na serio programujesz zawodowo w Ruście i piszesz, że wystarczy tydzień na książkę i tutorial?


Dla osoby umiejącej dobrze programować w innych językach - tak, wystarczy tydzień aby być produktywnym i maks kilka miesięcy aby
@Krolik: Go ma mniejsze community? Cały DevOps tym stoi. Mi się wydaje, ze to całe community rusta to są lidzie co chcą programować w ruscie, a zawodowo programują w czym innym. Zreszta było nawet o tum w jednej z ankiet stacji overflow.
  • 0
Cały DevOps tym stoi.


@BreathDeath: Po pierwsze wcale nie cały, po drugie devops to tylko *jedna* nisza, po trzecie tam się pisze głównie małe skrypcidełka, które wcześniej z powodzeniem robiło się w pythonie.

Tymczasem Rust jest w dużych, rozbudowanych projektach webowych, embedded, systemach operacyjnych, systemach baz danych, sofcie infrastrukturalnym, komunikatorach, bilbliotekach używanych w innych językach m.in w Pythonie, sofcie HFT, większość crypto na tym stoi, nawet widziałem apki desktopowe i mobilne,
  • 0
Mi się wydaje, ze to całe community rusta to są lidzie co chcą programować w ruscie, a zawodowo programują w czym innym. Zreszta było nawet o tum w jednej z ankiet stacji overflow.


@BreathDeath: aż sobie z ciekawości sprawdziłem wyniki ankiet SO za 2022 i 2023 rok i jednak coś kręcisz. W kategorii "których języków obecnie używasz" odpowiedzi:

2022: Rust 9,3%, Go 11,2%
2023: Rust 13,1%, Go 13,2%

Widać że użycie