Aktywne Wpisy
dizel81 +10
Alvaro PCV o wykopie, tagu itd:)
#raportzpanstwasrodka
#raportzpanstwasrodka


#raportzpanstwasrodka Czy Twarog zgodnie z zapowiedzia nie miala zniknac tylko przygotowala lunch boxy dla Juny ktore Pan Marcin uznal za zbedne :) ?





To może być jednak czasem problemem. Mam przed sobą dość ciekawy przykład, kod sprzed dwóch lat, który wymaga kilku drobnych poprawek. Przez ten czas rust przeszedł z 1.70 na 1.85, używane
crates(nie wiem, tłumaczy to ktokolwiek na "pudła" czy coś w tym stylu? ;)) niektóre poszły do przodu niektóre nie.Niestety, w przypadku kodu w C/C++ przeważnie 2-3 lata to nie jest problem. Owszem, zmienia się wersja libc, co powoduje że można się wpakować na minę, ale podobnie w przypadku Rusta, jeśli zależy od jakichś
-sysnatywnych crates.Do rzeczy; problem który widzę jest podobny do NPM-izacji środowiska. Jeśli zależności zaciąga się zdalnie, zyskuje się większą dynamikę, kosztem potencjalnych większych problemów przy "ożywianiu trupa" i rozwiązywaniu jego starych zależności. No właśnie, starych. Jeśli mamy kod w C/C++ to z racji w zasadzie niewielkich zmian - zwykle buduje się nawet i starszy. W przypadku Rusta, praktycznie zawsze trzeba coś pozmieniać (zwłaszcza jeśli kod używał sobie
nightlydwa lata temu, zależał od paczek natywnych i używał dockera do kompilacj krzyżowej (cross-compilationjakby ktoś nigdy nie słyszał polskiej wersji tego sformułowania ;))Ogólnie, dać się da, ale potencjalnie to może być problem. github i crates.io są już zas...iane rozmaitymi placeholderami, pojawia się i umiera sporo paczek, które potem ktoś porzuca. Kod napisany "niedawno" w Ruście też zaczyna się starzeć; zobaczymy jak sobie poradzi z próbą czasu.
#programowanie
Szczególnie jak się korzysta z nightly, to oznacza że taka refaktoryzacja będzie konieczna, jako że funkcje czasami trafiają do stabilnej wersji w zmienionej formie.
Co do paczek to jest cargo.lock które każda wersja wydania powinna zawierać. Dzięki temu można ustrzec się przed zmianami w paczkach ( a może faktycznie by należało mówić o Rustowych skrzynkach).
Ja
https://github.com/async-rs/async-std crate, wg statystyk GH używane przez 56k ludzi. Tak to się żyje w światku rusta, nie ma nudy ;)
@Oo-oO: @lionbest to jest tylko jeden z powodów dla których nienawidzę Rusta.
Mam nadzieję, że do Embedded nigdy nie zagości na poważnie.
Z tego wynika że gość (i spółka) piszący Roc (swoją drogą paskudnie wyglądający język, rzuciłem okiem i mnie odrzuciło) przepisują kompilator 300k LOC z Rusta na Ziga :D
Będę musiał poświęcić zigowi nieco więcej czasu, może im się uda, trzymam kciuki bardziej niż za zardzewiałego. Głównie przez jego political-correctness, ekosystem, nawiedzonych apostołów. Technicznie ujdzie, choć jak się widzi
Np. taka single header biblioteka half (16 bit float) która odchudziła mój program znacząco za pomocą jednego typedef. Nie sądze że w innych językach (nawet C) byłoby to możliwe bez przepisywania połowy kodu i tego jak danych rzeczy trzeba używać ;)