Rust co w nim pisać?

Odpowiedz Nowy wątek
2019-10-09 21:56
vin
0

Mam ogarnięte podstawy w Rust, chciałem stworzyć w nim jakiś projekt. Czy prosty edytor to dobry pomysł na początek, coś w tym stylu:

https://github.com/gchp/iota
https://github.com/xi-editor/xi-editor
https://github.com/jmacdonald/amp
https://medium.com/usevim/rim[...]-written-in-rust-1f799c7be5d3
https://github.com/atom-archive/xray
https://github.com/cessen/led

Celuję bardziej w coś pokroju lighttable niż w vim czy emacs.
http://lighttable.com/

edytowany 3x, ostatnio: vin, 2019-10-09 22:01

Pozostało 580 znaków

2019-10-09 22:31
2

Z tego co wiem silnik firefoxa jest stopniowo przepisywany na rusta także ja nie namawiam, ale pobieraj repo i naprawiaj bugi :D

Tylko żeby poprawiać kod Firefox, trzeba być wymiataczem w tym języku, a mi bardziej chodzi o projekt do nauki. - vin 2019-10-09 23:53
@vin: wymiatacze robią nowe rzeczy, na poprawkach siedzą juniorzy więc... :D - mr_jaro 2019-10-09 23:55
A piszesz coś w Rust? - vin 2019-10-09 23:57
@vin: nie, ale programuje na tyle długo by znać realia pracy - mr_jaro 2019-10-09 23:59
@mr_jaro: Servo akurat nie jest prostym kodem Rusta, już łatwiej poprawiać bugi w stdlib czy samym kompilatorze IMHO. - hauleth 2019-10-11 11:08

Pozostało 580 znaków

2019-10-09 23:02
2019-10-10 12:14
0

Rust ma spory poziom wejścia niezależnie od tego co Ci ludzie napiszą. Chyba, że masz za sobą 10+ lat pracy, i kilka języków w portfolio włącznie z C++ (najlepiej).
W teorii można pisać praktycznie wszystko, a w praktyce są inne języki, które ogarną dany temat na pewno lepiej/przyjemniej. Oczywiście co innego gdy chodzi o mikrooptymalizację, a co innego gdy chcemy mieć wygodę/przyjemność pisania.
Możesz śmiało naklepać taki edytor/CLI/prosty serwer albo jakieś API (biblioteki here).

A co sprawia, że jest taki spory poziom wejścia? Jak dla mnie jest dużo prostszy do nauki niż C++ i ma składnie podobną co języki wysokiego poziomu. Bardzo czytelną i dość prostą, a jego kompilator pokazuje bardzo dużo informacji o błędach. Nie muszę pisać tych geterów, sheterów, po prostu składnia jest inna niż w Javie i C# co mi odpowiada. Czy chodzi ci o pojęcie własności (ownership), to jest trudne? https://bulldogjob.pl/news/80[...]oczami-programisty-javascript - vin 2019-10-10 20:42

Pozostało 580 znaków

2019-10-10 14:30
2

Rust ma spory poziom wejścia niezależnie od tego co Ci ludzie napiszą.

Wyższy niż część języków, ale też bez przesady.

W teorii można pisać praktycznie wszystko

Jak w praktycznie każdym języku.

a w praktyce są inne języki, które ogarną dany temat na pewno lepiej/przyjemniej

Zależy co chcesz pisać. Jeśli ma to być OS, sterownik, etc. to niekoniecznie, jeśli aplikacja webowa to pewnie masz rację. Trzeba pamiętać, że każdy język ma swoje zastosowania i jak wyjdziemy poza nie, to może się okazać, że kopiemy się z koniem.

Na pewno Rust jest łatwiejszy niż C, C++, D, Scala. Jego poziom trudności to coś koło Swift, ze względu na to, że każda wartość w Rust ma zmienną, która nazywa się jej właścicielem. Jednocześnie może istnieć tylko jeden właściciel. Gdy właściciel wypadnie z zasięgu, wartość zostanie usunięta. - vin 2019-10-10 20:45
Rust nie jest łatwiejszy niż C, polemizowałbym mocno z D, ze Scalą i C++ pewnie bym się zgodził. @vin, ja wiem jak działa ownership i borrow checker - hauleth 2019-10-10 23:30
Polecasz jakiś edytor, ide do Rust, które nie korzysta z Javy i JavaScript, nie używam npm w moim systemie. Wolałbym coś napisane w C/C++. - vin 2019-10-11 19:52
@vin ja używam Vima (NeoVima dokładniej) do praktycznie wszystkiego. - hauleth 2019-10-12 11:41

Pozostało 580 znaków

2019-10-11 21:18
2
hauleth napisał(a):

Wyższy niż część języków, ale też bez przesady.

Bawię się nim od jakiegoś czasu, i śmiem twierdzić, że ciut wyższy niż to co aktualnie jest w mainstreamie. Kwestia odczuć, i tego co robiło się przed kontaktem z Rust.
*Nie mam backgroundu w C++ poza liźnięciem go dawno temu na studiach.

Zależy co chcesz pisać. Jeśli ma to być OS, sterownik, etc. to niekoniecznie, jeśli aplikacja webowa to pewnie masz rację. Trzeba pamiętać, że każdy język ma swoje zastosowania i jak wyjdziemy poza nie, to może się okazać, że kopiemy się z koniem.

Rust z założenia ma być językiem systemowym więc budowa w nim OS'a to raczej sprawa oczywista. Z tą aplikacją webową to tak po części się zgodzę. Bo o ile pisanie od zera projektu to chyba nie do końca rozsądny pomysł o tyle są firmy, które piszą w tym jakieś moduły, które wymagają porządnych optymalizacji, i szybkości. Patrz TikTok czy HealPay, który:

We have been pushing Rust into every project we can. Currently we have several backend services built in rust.

Czy thoughtram:

The backend of our training platform classroom.thoughtram.io is 100 % Rust using nickel.rs

Tak więc da się. Go tak samo było postrzegane przez "specjalistów" jako język absolutnie nienadający się do backendu. Strzelam w ciemno, że aktualnie jest więcej Go w web niż w systemowych.

@vin:
Co do IDE -> Are we (I)DE yet?. Wsparcie dla Rust ma chyba Geany (C/C++), Gnome Builder jest w C, BBEdit również w C oraz Vim/Neovim, i Emacs.

edytowany 1x, ostatnio: axde, 2019-10-11 21:26
A czemu hauleth uważa, że C jest łatwiejsze od Rust? Przecież Rust ma dużo więcej ułatwień względem C? - vin 2019-10-11 21:47
Bo C jest "prostym" jezykiem w ktorym trudno sie pisze, eh - stivens 2019-10-12 00:06
@vin: bo jest, C jest wręcz prymitywnym językiem. To czy pisanie w nim jest łatwe czy nie to zupełnie co innego od tego czy język jest prosty czy nie - różnica między "simple" i "easy". - hauleth 2019-10-12 11:40

Pozostało 580 znaków

2019-10-12 11:50
0

Tak więc da się.

No da się, w innych językach też się da. Dodatkowo w skali (jak TicToc) masz inne wymagania. Thoughtram nie znam, więc mam wrażenie, że to trochę sztuka dla sztuki.

Strzelam w ciemno, że aktualnie jest więcej Go w web niż w systemowych.

  • Docker
  • rkt
  • runc
  • Consul
  • etcd
  • k8s
  • Nomad
  • Vault
  • Caddy
  • Traefic
  • Jaeger
  • containerd
  • CoreDNS
  • Prometheus

Śmiem wątpić.

Czy zamiast Rust powinienem na razie wybrać C++? - vin wczoraj, 01:45

Pozostało 580 znaków

2019-10-12 12:22
1
hauleth napisał(a):

Strzelam w ciemno, że aktualnie jest więcej Go w web niż w systemowych.

  • Docker
  • rkt
  • runc
    (...)

Śmiem wątpić.

Zapomniałeś o Kubernetes, i wielu innych. Może doprecyzuję swoją wypowiedź. Rozmiar każdego projektu z listy którą podałeś faktycznie robi wrażenie ale jeżeli spiąć to ilościowo czyli język per projekt per firma to web wypadnie korzystniej. Od jakichś dwóch lat widzę trend porzucania różnych technologii na rzecz Go.
Kilka dni temu Salesforce dla Einstein Analytics pozbył się Pythona. O ile w Go bogaty stdlib pozwala w sumie napisać aplikację web bez potrzeby bibliotek trzecich o tyle w Rust chyba jeszcze nie(?). Natomiast jest przecież Rocket, Serde, Diesel więc można składać również dla weba.

Przecież na liście jest k8s :) - tdudzik 2019-10-12 12:24
To, że można, to nie znaczy, że jest to optymalne. Pisałem mikroserwis w Ruscie, ale jeśli miałbym pisać coś większego to jednak Rust wylądowałby bardzo daleko na liście. Małe serwisy to i w assemblerze można napisać stosunkowo łatwo. - hauleth 2019-10-12 12:38
Rust może się sprawdzić w programowaniu samolotów bojowych? Dlaczego tam nie wybrali niby takiej bezpiecznej Javy tylko C, C++ i Ada. Czy chodzi tylko o czas reakcji w takim F-35? https://www.militaryaerospace[...]are-testing-quality-assurance - vin wczoraj, 01:44
@vin bo mogłoby się okazać że trzeba strzelać a akurat odbywa się GC :D - tdudzik wczoraj, 09:48
Niby Java ma jakieś tam opcje do real time, ale AFAIK tylko soft RT. W takich maszynach wymaga się raczej hard RT. - hauleth wczoraj, 15:21

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0