Jak oceniacie przyszłość Rust? Nastąpi dzięki niemu przełom w programowaniu, czy to napomnpowany balonik, który wkrótce pęknie? #rustlang #programowanie
@placebo_: to zależy od tego jak go rozwiną i ile fajnych bibliotek powstanie w Cargo.
Najlepiej jakby się C++ z nimi dogadali i by móc stworzyć wspólnie nową wersje Rusta który będzie miał nieco więcej abstrakcji (bo Carbon jest googla więc mogą go zabić albo popsuć w dowolnej chwili).
Ogólnie raczej widzę pozytywnie jego przyszłość, szczególnie w dobie AI assisted programming ( ͡°͜ʖ͡°)
@placebo_: ciężko mówić o przełomie, bo to język do bardziej niszowych zastosowań. Na pewno Rust zapełni niszę po C/C++, która już od paru lat czeka na coś nowoczesnego.
@placebo_: ten przełom już nastąpił, Rust jest pierwszym językiem innym niż C który został dodany oficjalnie do kernela Linuksa. Nie udało się to wcześniej ani C++ ani D.
Najlepiej jakby się C++ z nimi dogadali i by móc stworzyć wspólnie nową wersje Rusta który będzie miał nieco więcej abstrakcji (bo Carbon jest googla więc mogą go zabić albo popsuć w dowolnej chwili).
@sorek: główną zaletą Rusta jest przeoranie wszystkich wadliwych cech C++, które są wynikiem dziedzictwa C jak i błędnych decyzji z przeszłości. Nawet twórcy Carbona piszą, żeby używać Rusta w nowych projektach, Carbon to tylko język do rozwijania
@Saly: zgadzam się, dlatego nie zależy mi na tym by C++sować rusta tylko dać mu nieco więcej abstrakcji by ten mógł wypierać nie tylko C ale również C++.
@placebo_: będzie stopniowo zyskiwał na znaczeniu wśród języków programowania, projekty w C, C++ czy np. Javie będą do niego chętniej przenoszone lub takie, które są w fazie maintenance i zyskają coś na przeniesieniu (lepszą wydajność, mniej błędów dzięki systemowi typów).
Ogólnie warto się go uczyć. W embedded też coś powoli się rusza w tym kierunku (ale tylko w niektórych działkach - supportu na poziomie C nigdy nie będzie)
choćby brakuje mu abstract class/interface i nie jest w ogóle ogarnięty na pracę OO.
@sorek: Że jak? Przecież ma traity, które są o wiele silniejszym mechanizmem abstrakcji niż interfejsy z języków C++ i Java; zwłaszcza że niedawno dodali też generic associated types, przez co Rust jest już prawie jak Haskell / Scala.
Miałeś na myśli może że nie ma dziedziczenia, ale to jest zaleta a nie wada. OO w takiej formie
@devopsiarz: Przełom jest w tym sensie, że jest to pierwszy praktyczny (nieakademicki) język, który ma równocześnie bezpieczne, automatyczne i deterministyczne zarządzanie zasobami (bez konieczności używania GC) oraz który statycznie gwarantuje brak wyścigów w danych. Pod tym względem jest to unikat, żaden inny język na razie tego nie ma - i myślę, że to jest kwestia czasu jak te koncepcje przejdą do innych języków.
: no ja widzę że ludzie w nim piszą webserwisy, więc niekoniecznie. To uniwersalny język praktycznie do wszystkiego.
@Krolik: faktycznie. Rust jest pierwszym prawdziwie niskopoziomowym językiem, który może być alternatywą dla wielu popularnych zastosowań (w porównaniu C/C++) więc pod tym względem jest rewolucyjny
choćby brakuje mu abstract class/interface i nie jest w ogóle ogarnięty na pracę OO.
@sorek: bo Rust jest nowy i nie musiał używać tego designu. Zresztą sam
każde dziedziczenie da się zastąpić kompozycją, tudzież switchem
@Krolik: ale ani ładne to ani przydatne. Od tego jest dziedziczenie byś mógł sobie fajne rzeczy robić i szybko a później na nich nadbudowywać - jak klocki lego i komponenty.
ale ani ładne to ani przydatne. Od tego jest dziedziczenie byś mógł sobie fajne rzeczy robić i szybko a później na nich nadbudowywać - jak klocki lego i komponenty.
@sorek: gdzie klocki LEGO mają dziedziczenie? Klocki się ze sobą łączy. A do tego jest właśnie kompozycja. A switch jest często znacznie czytelniejszy (i czasem wydajniejszy) niż dynamic dispatch - od razu widzisz wszystkie ścieżki którymi może pójść kod. W przypadku dziedziczenia
Od tego jest dziedziczenie byś mógł sobie fajne rzeczy robić i szybko a później na nich nadbudowywać - jak klocki lego i komponenty.
@sorek: klockowatą architekturę zapewniają interfejsy i kompozycja. Jeśli zastąpisz kompozycję dziedziczeniem to scalasz dwa klocki w jeden, bo użytkownik interfejsu i implementacja interfesu staje się jedną klasą (dziedziczącą z klasy bazowej). W takim wypadku jedyne kombinacje to klasa bazowa (która może być dalej dziedziczona) i klasa potomna. W
Przełom jest w tym sensie, że jest to pierwszy praktyczny (nieakademicki) język, który ma równocześnie bezpieczne, automatyczne i deterministyczne zarządzanie zasobami
Determinizm to masz w RTOSach na odpowiednich, wspierających platformach. Nie w Ruście.
(bez konieczności używania GC) oraz który statycznie gwarantuje brak wyścigów w danych.
Pod tym względem jest to unikat, żaden inny język na razie tego nie ma - i myślę, że to jest kwestia czasu jak te koncepcje
Najlepiej jakby się C++ z nimi dogadali i by móc stworzyć wspólnie nową wersje Rusta który będzie miał nieco więcej abstrakcji (bo Carbon jest googla więc mogą go zabić albo popsuć w dowolnej chwili).
Ogólnie raczej widzę pozytywnie jego przyszłość, szczególnie w dobie AI assisted programming ( ͡° ͜ʖ ͡°)
@sorek: główną zaletą Rusta jest przeoranie wszystkich wadliwych cech C++, które są wynikiem dziedzictwa C jak i błędnych decyzji z przeszłości. Nawet twórcy Carbona piszą, żeby używać Rusta w nowych projektach, Carbon to tylko język do rozwijania
@Saly: no ja widzę że ludzie w nim piszą webserwisy, więc niekoniecznie. To uniwersalny język praktycznie do wszystkiego.
Ogólnie warto się go uczyć. W embedded też coś powoli się rusza w tym kierunku (ale tylko w niektórych działkach - supportu na poziomie C nigdy nie będzie)
Przełom to oczywiście
@sorek: Że jak? Przecież ma traity, które są o wiele silniejszym mechanizmem abstrakcji niż interfejsy z języków C++ i Java; zwłaszcza że niedawno dodali też generic associated types, przez co Rust jest już prawie jak Haskell / Scala.
Miałeś na myśli może że nie ma dziedziczenia, ale to jest zaleta a nie wada. OO w takiej formie
@devopsiarz: Przełom jest w tym sensie, że jest to pierwszy praktyczny (nieakademicki) język, który ma równocześnie bezpieczne, automatyczne i deterministyczne zarządzanie zasobami (bez konieczności używania GC) oraz który statycznie gwarantuje brak wyścigów w danych. Pod tym względem jest to unikat, żaden inny język na razie tego nie ma - i myślę, że to jest kwestia czasu jak te koncepcje przejdą do innych języków.
@infamouz: @Krolik: a ja lubie dziedziczenie ( ͡° ͜ʖ ͡°) Zero cost abstractions to czysty rigcz
@Krolik: faktycznie. Rust jest pierwszym prawdziwie niskopoziomowym językiem, który może być alternatywą dla wielu popularnych zastosowań (w porównaniu C/C++) więc pod tym względem jest rewolucyjny
@sorek: bo Rust jest nowy i nie musiał używać tego designu. Zresztą sam
@Krolik: ale ani ładne to ani przydatne. Od tego jest dziedziczenie byś mógł sobie fajne rzeczy robić i szybko a później na nich nadbudowywać - jak klocki lego i komponenty.
@Saly: rip in peace inheritance ( ͡° ʖ̯ ͡°)
@sorek: gdzie klocki LEGO mają dziedziczenie? Klocki się ze sobą łączy. A do tego jest właśnie kompozycja. A switch jest często znacznie czytelniejszy (i czasem wydajniejszy) niż dynamic dispatch - od razu widzisz wszystkie ścieżki którymi może pójść kod. W przypadku dziedziczenia
@sorek: klockowatą architekturę zapewniają interfejsy i kompozycja. Jeśli zastąpisz kompozycję dziedziczeniem to scalasz dwa klocki w jeden, bo użytkownik interfejsu i implementacja interfesu staje się jedną klasą (dziedziczącą z klasy bazowej). W takim wypadku jedyne kombinacje to klasa bazowa (która może być dalej dziedziczona) i klasa potomna. W
Determinizm to masz w RTOSach na odpowiednich, wspierających platformach. Nie w Ruście.
Komentarz usunięty przez autora