Rozchodzi się o te dwie rzeczy:
- Odejście jednego z deweloperów projektu Rust for Linux
- Wpis Asahi Lina
Zaczynając od pierwszego, wpis o odejściu Wedson Almeida Filho(pracownik Microsoftu) opublikowany został na listach mailingowych linuxa tutaj
https://lore.kernel.org/lkml/[email protected]/
W skrócie pracował prawie 4 lata przy projekcie, ale zraziły go różne nietechniczne problemy które ciągle napotykał
Nawiązuje tam do https://youtu.be/WiPp9YEBV0Q?t=1529
W tej prezentacji Kent Overstreet stara się przedstawić, w jaki sposób bindingi c->rust powinny generować(lub pomóc generować) kod Rusta, tak by w samym typie zawrzeć tak dużo informacji na temat tego co dana zmienna przechowuje i jak ją używać, by zmniejszyć ryzyko błędów przy jej użytkowaniu. W C te informacje nie są zapisane w kodzie, więc trzeba je ręcznie pomagać rozpoznawać i zapisywać. To zrodziło duże kontrowersje, że zmiana interfejsów w C będzie wymagała też zmian w Rust, a wielu deweloperom nie w smak uczyć się kolejnego języka. Autor kilkukrotnie wspominał, że to nic takiego, bo oni się tym zajmą(stroną rustową) i potrzebują tylko informacji jakie jest zachowanie poszczególnych elementów po stronie C. Jeden gość zaczął więc podniesionym tonem mówić, że jest tu masa deweloperów >50 lat i że ewangeliści Rusta nie zmuszą wszystkich do nauki tego języka.
Inną sytuacją jest wpis Asahi Lina, która współtworzyła kilka subsystemów w Linux używając do tego głównie Rusta, co pomogło przeportować kernel na Mac ARM
Wpis to - https://vt.social/@lina/113045455229442533
Opisuje proces rzucania kłód pod nogi, podczas próby robienia progresu w tworzeniu sterowników pisanych w Rust.
Przy tworzeniu abstrakcji dla planisty DRM znalazła masę problemów, które były spowodowane złym stanem kodu w C i odpowiedzią na to było "rób to tak samo jak w amdgpu, bo im to przecież działa"
Mimo stworzenia patchy z poprawkami, które naprawiały błędy będące również widoczne dla użytkowników C, domyśla się że z racji że pochodzi ona ze świata Rusta, maintainer nie chce ich zaakceptować.
Przez ostatni rok czekała na zmergowanie prostego wrappera dla struktury, więc nie dziwi się że progres Rust for Linux jest raczej mizerny.
Warto przypomnieć, że Linus Torvalds zgodził się kilka lat temu na użycie Rusta obok C i assemblera, by zarówno zwiększyć jakość/stabilność elementów takich jak sterowniki i przyciągnąć młodsze pokolenie, bo widzi problemy ze starzejącą się kadrą.
Ostatnio wspominał, że progres związany z Rustem jest mniejszy niż się spodziewał wyliczając jako jeden z powodów niechęć starszych deweloperów.
Smutne jest to, że istnieją ludzie którzy mają chęć, motywację i umiejętności do tworzenia przydatnych rzeczy lecz są im podcinane skrzydła.
Podsumowaniem może być ten cytat z komentarza Asahi Lina
```
But I get the feeling that some Linux kernel maintainers just don't care about future code quality, or about stability or security any more. They just want to keep their C code and wish us Rust folks would go away. And that's really sad... and isn't helping make Linux better.
```
#programowanie
#jezykc
#rustlang
#linux
@qarmin Nie ma to jak czuć się lepszym od innych ponieważ piszesz w starszym i trochę trudniejszym języku programowania.
Mają płacone za robotę czy pro publico bono?
@jimmy_gonzale zależy kto. Starzy maintainerzy tak, jak robisz to od dzwona to nie
Jeden gość zaczął więc podniesionym tonem mówić, że jest tu masa deweloperów >50 lat i że ewangeliści Rusta nie zmuszą wszystkich do nauki tego języka.
Gdzieś między 30 a 40 rokiem życia większość programistów powinna dostać zakaz pisania kodu i zająć się czymś innym żeby nie szkodzili swoim podejściem.
Zaloguj się aby komentować