Moim skromnym zdaniem:
Czy Rust zastąpi język C++ lub chociaż C, czy raczej będzie funkcjonował obok tych dwóch języków?
Raczej obok C++ i C, choć bardzo powoli coraz więcej będzie się pisać w Rust zamiast C. Jednak na mikrokontrolery to wciąż będzie C lub C++ najczęściej.
Jak Rust wypada pod kątem wydajności, wsparcia dla różnych platform, bezpieczeństwa kodu, dostępności bibliotek względem konkurencji? mam na myśli głównie C++, Go, Java, C#
Wydajność: Niemal taka sama, jak C, C++.
Platformy: WebASM, aplikacje konsolowe Windows/Linux wspiera bez problemu. Co do innych systemów i zastosowań to nie wiem.
Bezpieczeństwo: Moim zdaniem dobry poziom, przede wszystkim bardzo trudno jest popełnić typowe błędy związane z wielowątkowością i zarządzaniem pamięcią.
Biblioteki: Nie wiem, ale podobno jest możliwa współpraca z bibliotekami do C lub C++
Ma ten język przyszłość przed sobą? Co ciągnie ludzi do tego języka? Jak łatwo znaleźć zatrudnienie w Ruście i w jakich działkach IT chcą programistów Rusta?
Ludzi ciągnie wiara w to, że ten język ma świetlaną przyszłość i zdobędzie coraz większą popularność. Moim zdaniem popularność wzrośnie do pewnego poziomu, ale raczej nie wyprze żadnego innego języka z uzytku.
Jak dobry jest Rust jeśli chodzi o gamedev, niskopoziomowe programowanie?
Jak chodzi o jakość kodu, to bardzo dobry, bo nie dość, że nie ma GC, to znacznie utrudniono popełnianie typowych błędów. Wydajnościowo to jest podobny do C++, może wydajność Rust jest minimalnie niższa, ale różnice są znikome. Ale z drugiej strony, jest to trudny język, stosuje zupełnie inne rozwiązania w stosunku to typowych języków obiektowych.
Ja osobiście programuję w WebASM na własny użytek w C++. Próbowałem WebASM w Rust i też da radę, tylko pozostaje kwestia opanować Rust, który sam w sobie jest trudniejszy niż C++, nie wspominając o Java, czy C#. Języka Go zupełnie nie znam.
Do WebASM to moim zdaniem najlepiej albo C++, albo Rust, bo z tych języków najprościej skompilować do WASM, nawet jednym poleceniem w konsoli, oczywiście można zrobić skrypt bash. Ten sam kod można też skompilować do użytku w aplikacji konsolowej, np. do testowania lub nawet do testów automatycznych. Oczywiście, istnieje możliwość kompilacji z wielu innych języków do WebASM, ale wątpię, że gra warta świeczki.
loza_prowizorycznaAda chyba nie ma funkcyjnych aspektów
- to dinozaur więc brakuje jej cukru ale to nie znaczy że nie da się tam pisać funkcyjnie. Pytanie brzmi - po co? Hajp na funkcyjność wziął się z tego że hardware już wcześniej dał sygnały że wydajność per monolityczny rdzeń dobiła ściany a soft wiedział że programowanie równoległe w (wstaw C(++/#)Java, etc) bez wymiataczy równa się gorsza wydajność (bo mutexy, locki, zmiany kontekstu) niż na tradycja.loza_prowizorycznamożliwości pisania wydajnego kodu w dzisiejszych standardach i mocy (move semantic, templaty, traity statyczne)
- tu masz trochę inne rozłożenia wag. Ada była projektowana by sam kod był czytelny i łatwy do analizy przez czynnik ludzki. Rust był projektowany w momencie gdy było założenie że duża część z tych rzeczy powinna być wykonywana przez kompilator. Teoretycznie ok bo kompilator w tym lepszy ale z drugiej strony to przerzucenie odpowiedzialności na implementację kompilatora. Tylko tu cyt. ciebie "Na mikrokontrolery nie ma po prostu kompilatorów".loza_prowizorycznaA programowanie funkcyjne często po prostu łatwiej pozwala przedstawić co chcemy osiągnąć zamiast mówić kodem co konkretnie ma się stać w celu tego by się tak stało.
- jakby tak było to wszyscy bylibyśmy matematykami. A zamiast tego jesteśmy pasjonatami SQL.