Dzisiaj dużo Rusta – zastanawiamy się bowiem (a raczej – zastanawia się społeczność) czy to już jest ten moment, żeby całkowicie zastąpił C++. Oprócz tego nowy State of DevOps, publiczna premiera Dall-E i kontrowersje w koło Make-A-Video od Mety.
1. Czy to czas by odłożyć C++ do lamusa?
Rust ostatnio ma zdecydowanie dobrą passę. I to zarówno od strony realnych osiągnięć, jak i Public Relations.
Od dłuższego czasu mówiło się o tym, że Rust może stać się językiem oficjalnie używanym przy tworzeniu jądra Linuxa. Słowo „może” w poprzednim zdaniu można już wykreślić, ponieważ w temacie wypowiedział się sam Linus Torvald. Ten jasno wypowiedział się bowiem w swojej rozmowie z redaktorami ZDnet, że „Jeśli nie wydarzy się coś dziwnego, to Rust trafi do 6.1.” Co ciekawe, okazuje się, że ostatnim problemem do rozwiązania nie jest tutaj wcale sam język – co do tego nikt raczej nie ma już większych wątpliwości, że stanowił on będzie solidny dodatek do C. Tak naprawdę ostatnie problemy związane są z częścią „narzędziową”. Przy tak dużym projekcie jak Kernel Linuxa wprowadzenie do procesu budowania dodatkowego kompilatora nie jest proste. Jednak i tutaj Rust ma pewnego asa w rękawie – wspierany jest bowiem przez popularny kompilator C jakim jest Clang, co powinno rozwiać wiele wątpliwości.
Jednak o tym, że Rust prędzej czy później trafi do Linuxa, mówiło się już od dawna. Pozycja języka została jednak dodatkowo wzmocniona przez Marka Russinovicha – CTO Azure. Ten bowiem wypowiedział się na temat przyszłości obecnych liderów jeśli chodzi o użycie w inżynierii systemów – C i C++ – i podkreślił, że z jego perspektywy ciężko umotywować jest użycie ich w jakimkolwiek nowym projekcie. Oczywiście, Rust automatycznie jawi się jako potencjalny następca, biorąc pod uwagę zaangażowanie firm takich jak Amazon, Meta czy Google, które jedna po drugiej deklarują się już nie tylko swoim zaangażowaniem w Rustowy ekosystem, ale również realnym produkcyjnym użyciem w pisanych przez siebie systemach. Co prawda Google ma jeszcze swój Carbon, o którym ostatnimi tygodniami było głośno, ale przed nim pewnie długa droga, jeśli chce w jakikolwiek sposób zdetronizować Rusta z pozycji najbardziej kochanej technologii. Jedyna szansa dla Carbon to to, że ludzie zaczną Rusta rzeczywiście używać i wtedy to właśnie projekt Google trafi pewnie na szczyt Stack Overflow Developer Survey 2023.
A skoro już tyle o Ruście było, to ciężko nie wspomnieć o tym, że w zeszłym tygodniu ukazała się jego nowa wersja 1.64. W niej zaś nie tylko dalsze prace nad ulepszeniem asynchroniczności (czyli aspektu, w którym język spotyka największa ilość krytyki), ale także właśnie lepsza kompatybilność z kodem w C. Dodatkowo, twórcy zdają sobie sprawę, jak ważne w dzisiejszych czasach jest dostarczenie programistom Pełnego Doświadczenia, dlatego powołali do życia Rust Style Team, który ma zadbać o aktualizacje obecnych oraz stworzenie nowych zasad formatowania języka. Widać, że twórcy Rusta zdaje sobie sprawę, że gwiazdy ułożyły się dla nich w przychylnej konstelacji.
Źródła
- https://www.zdnet.com/article/linus-torvalds-rust-will-go-into-linux-6-1/
- Programming languages: It’s time to stop using C and C++ for new projects, says Microsoft Azure CTO
- Rust 1.64
- Announcing Rust Style Team
Zainstaluj teraz i czytaj tylko dobre teksty!
2. The State of DevOps 2022 bierze na tapet kwestie bezpieczeństwa
I teraz w przydługim wstępie pozwolę sobie wyjaśnić, dlaczego The State of DevOps to tak ważny dla branży raport.
Jednym z moich ulubionych talków ostatnich lat jest wygłoszone przez Pawła Szulca Illogical Engineer, a precyzyjniej – jego początek. Jeśli nie oglądaliście, w nim to bowiem Paweł ukazuje problemy związane z tym, że jako branża nie wypracowaliśmy sobie wzorców zachowań. Bycie “Rzemieślnikiem Oprogramowania” implikuje bowiem wieczne używanie wiedzy plemiennej i opieranie się na tym co jako czeladnik nauczyliśmy się od mistrza na początkowych etapach kariery.
Myślę, że wynika to z bardzo konkretnych powodów. Proces powstawania oprogramowania jest bowiem chaotyczny i mało podatny na jakikolwieki empiryczne testowanie – ciężko zrobić dwa systemy dwoma różnymi podejściami i zweryfikować, które było lepsze. Jednocześnie jednak, są ludzie którzy próbują nieco nam ten ekosystem uporządkować. Takie pozycje jak Software Design X-Rays próbują dokonać syntezy różnych rozproszonych badań naukowych i próbują wyciągnąć z nich bardziej uniwersalne wnioski
Innym przedstawicielem tej kategorii jest książka Accelerate, która stanowi obecnie jedną z najbardziej szanowanych pozycji, opisujących tworzenie produktywnego zespołu programistycznego. Dowodzi ona przy użyciu metod statystycznych, że są pewne czynniki, które odróżniają efektywne zespoły od tych przeciętnych. Ich obserwacje stały się na tyle opiniotwórcze, że ciężko znaleźć jest aktualnie jakąkolwiek listę najlepszych książek o IT, która Accelerate by nie zawierała, co jest pewnie niezłą rekomendacją do lektury. Swoje obserwacje jej autorzy (sprawdźcie sobie w wolnej chwili ich dorobek, warto) oparli właśnie na badaniu The State of DevOps.
I w ten właśnie sposób, gdy uwidoczniłem (mam nadzieje) istotność tego badania – możemy ostatecznie przejść do samego raportu i jego najnowszej edycji. Tym razem głównym punktem zainteresowania twórców raportu stał się tak zwany Łańcuch Dostaw Oprogramowania, a konkretnie jego bezpieczeństwo. Wnioski są bardzo ciekawe – okazało się bowiem, że największym predyktorem posiadania przez organizację dobrych praktyk bezpieczeństwa przy tworzeniu aplikacji były aspekty kulturowe, a nie techniczne. Okazuje się bowiem, że to nie ścisłe zasady bezpieczeństwa i żelazne egzekwowanie, a kultura wysokiego zaufania i odpowiedniego podejścia do bezoskarżeniowych Post-Mortem (a więc większe poczucie bezpieczeństwa) działa lepiej. Nie będzie to zaskoczeniem dla każdego, kto śledzi „trendy myślowe” w świecie tworzenia oprogramowania, ale miło mieć to poparte danymi, nawet jeśli mówimy tutaj o takim raporcie jak The State of DevOps, skupiającym się raczej na statystyce i korelacji, niż ściśle zdefiniowanej wynikowości.
Bardzo polecam lekturę nowej wersji raportu, a jeszcze bardziej rzucić okiem na Accelerate (jeśli jeszcze tego nie zrobiliście).
A jak już jesteśmy przy Google (bo DORA, czyli instytut tworzący The State of DevOps został parę lat temu zakupiony właśnie przez tą firmę), to jako gracz nie mogę nie mogę tutaj nie wspomnieć o dużym wydarzeniu, jakim było ogłoszenie zamknięcia przez „wielkie G” Stadia, czyli projektu pozwalającego na granie w chmurze. Na szczęście nie oznacza to końca podobnych inicjatyw, bo na tym rynku konkurencja jest dość zacięta. Wszystkim tym, którzy jednak zaufali Stadi życzę miłej stypy.
Źródła
Zainstaluj teraz i czytaj tylko dobre teksty!
3. Fala krytyki wylewa się na Dall-E dla Video od Mety. Dlaczego?
Tak słodziaki, znowu. No bo jak tutaj nie pisać, jak tyle się dzieje…
Zacznijmy od (ponownie) jednego z największych premier roku. Dall-E 2 było tym modelem, który rozpoczął całe to szaleństwo, z którym teraz mamy do czynienia, ale ostatnimi tygodniami został nieco „przygaszony” przez konkurencje. Powód jest jasny – Stable Diffusion zostało zupełnie oddane społeczności, a Midjourney relatywnie szybko pozwoliło ludziom bawić się ich modelem. Dall-E zaś pozostawało mocno zamknięte, utrzymując waitlistę, która jest zawsze dość skutecznym zniechęcaczem, zwłaszcza w czasach gdy wszystko chcemy „szybko” i „już”. Teraz padła ostatnia bariera (poza podaniem numeru telefonu, bo ten jest wymagany w procesie rejestracji) i każdy zainteresowany może spróbować, jak narzędzie OpenAI prezentuje się w stosunku do konkurencji.
Ale Dall-E to akurat coś, co już znamy. W tym tygodniu pojawiło się kilka kolejnych projektów. Największą uwagę zdobył na pewno Make-A-Video od Mety. O ile bowiem prezentowane wcześniej rozwiązania generowały nam głównie statyczne obrazy (chociaż np. Stable Diffusion zaczęło być używane do tworzenia prostych animacji), rozwiązanie od Meta AI służy do generowania prostych animowanych gifów. Efekty pod kątem dopracowania nie robią co prawda takiego wrażenia jak obecne generatory statycznych obrazów – są raczej na poziomie pierwszego Dall-E (albo nawet ciut niższym). Wszyscy zdajemy sobie jednak sprawę, że po Make-a-Video przyjdzie jakaś forma Make-a-Video 2, więc to, co obecnie widzimy to tylko pierwsza cegiełka. Podobnie jak w opublikowanym przez badaczy z Google DreamFusion, tworzącym modele 3D ze statycznych obrazków.
Urocze to wszystko, ale nowy pakiet projektów spowodowała powrót starych kontrowersji. Otóż okazuje się, że do nauki Make-a-Video został wykorzystany zbiór danych o nazwie WebVid-10M, który w większości składa się z… zescrappowanych zdjęć z Shutterstock. I choć pod kątem legalności pozostaje to w swoistej szarej strefie, to nie brakuje opinii, że tak naprawdę cała „naukowość” tych projektów służy raczej ściągnięciu odpowiedzialności z największych korporacji świata. W końcu wszystko dzieje się w imię nauki!
Poruszamy się tutaj w bardzo „szarej strefie” etyki, a w najbliższych latach prawdopodobnie problem tylko się zintensyfikuje. Prawo licencyjne nie jest bowiem dobrze dostosowane, a tematy związane z AI rozwijają się za szybko jak na realia procesu legislacyjnego. Jeżeli chcecie zgłębić temat, świetny tekst na ten temat opublikował w zeszłym tygodniu Andy Baio.