-
1. Data: 2017-08-05 18:10:29
Temat: Rust
Od: Borneq <b...@a...hidden.pl>
Jakie jest wasze zdanie na temat tego języka?
Bardzo ciekawy, brakowało mi graficznego UI, ale jest teraz relm i conrod:
http://relm.ml/relm-intro
https://github.com/PistonDevelopers/conrod
Czytałem że nie używa odśmiecania jak Go ale zupełnie inny sposób radzi
sobie z wyciekami pamięci.
-
2. Data: 2017-08-05 19:48:34
Temat: Re: Rust
Od: w systemie siła 'POPIS/EU <N...@g...pl>
> Czytałem że nie używa odśmiecania jak Go ale zupełnie inny sposób radzi
> sobie z wyciekami pamięci.
kurde zwracam Ci honor - ty jednak jesteś prawdziwy rzetelny solidny
powski ekspert... pamiętam ze studiów jak to chłopaki dyskutowali
merytorycznie o wyciekach pamięci - to były czasy... widzę, że chyba
wracają - przypomnę - 43 kandydatów na miejsce na pw...
-
3. Data: 2017-08-05 20:13:51
Temat: Re: Rust
Od: Borneq <b...@a...hidden.pl>
W dniu 05.08.2017 o 18:10, Borneq pisze:
> Jakie jest wasze zdanie na temat tego języka?
> Bardzo ciekawy, brakowało mi graficznego UI, ale jest teraz relm i conrod:
Wchodzę na stronę https://www.rust-lang.org/pl-PL/
Jest tam teraz wersja Rust 1.19.0.
Przyjmuję domyślne ustawienia instalacji C:\Users\<username>\.cargo\bin
i dodawany jest do PATH.
Deinstalacja poprzez rustup self uninstall. Otrzymaliśmy 7 identycznych
plików pod róznymi nazwami.
Dla Windows Rust wymaga narzędzi budowania C++ dla Visual Studio co
najmniej 2013.
Przykładowo w katalogu D:\code\rust\ tworzymy podakatalog hello_world
cargo init - tworzy nam strukturę projektu wraz z pustym projektem git.
W podaktalogu src tworzy plik źródłowy biblioteki, ale zmienimy na main.rs:
fn main() {
println!("Hello, world!");
}
rustc src\main.rs tworzy w katalogu głównym exe a cargo build tworzy
podkatalog target gdzie oprócz
exe są pliki pomocnicze.
Pora na coś większego: Z githuba ściągamy git clone
https://github.com/PistonDevelopers/conrod.git
Będąc w katalogu D:\code\rust\conrod\examples\ wołamy rustc hello_world.rs
This example requires the `winit` and `glium` features. Try running
`cargo run --release --features="winit glium" --example <example_name>`
cargo run --release --features="winit glium" --example hello_world
Ładuje się co trzeba. Ale podczas kompilacji błąd: eksperymentalna składnia
rustup show pokazuje 1.16.0
rustup update do 1.19.0
Powstał plik wielkości 1.2 MB dający okienko Hello World
Wszystko prawie dobrze, choć wyświetla się konsola wraz z okienkiem:
należy mając wersję >= 1.18
na początku crate (pliku źródłowego) napisać: #![windows_subsystem =
"windows"]
-
4. Data: 2017-08-06 11:54:19
Temat: Re: Rust
Od: s...@g...com
Język jest sprawą drugorzędną. Ważniejsze są algorytmy oraz dostępne biblioteki.
Jeśli chodzi o język to główne kryterium jest takie: czy jest kompilowany czy nie. Bo
to ma największy wpływ na wydajność. A ponieważ C++ już został wynaleziony i
rozpowszechnił się, to moim zdaniem należy się skupić właśnie na nim...
-
5. Data: 2017-08-06 12:03:45
Temat: Re: Rust
Od: "M.M." <m...@g...com>
On Sunday, August 6, 2017 at 11:54:21 AM UTC+2, s...@g...com wrote:
> Język jest sprawą drugorzędną. Ważniejsze są algorytmy oraz dostępne biblioteki.
Generalnie dostępne narzędzia: środowiska, edytory, kompilatory,
optymalizatory, itd.
> Jeśli chodzi o język to główne kryterium jest takie: czy jest kompilowany czy nie.
Nie zgodzę się że to jest główne kryterium. Wyobraź sobie język taki
jak C++ który jest interpretowany? Ktoś chciał używać takiego języka?
> Bo to ma największy wpływ na wydajność.
A wydajność to już masz rację, że stanowi jedno z (czasami) ważnych
kryteriów i tak samo masz rację, że kompilowanie wpływa na wydajność.
> A ponieważ C++ już został wynaleziony i rozpowszechnił się, to moim zdaniem należy
się skupić właśnie na nim...
Moje zdanie jest podobne, ale przeciwko Javie nic nie mam, przeciwko
nowym językom kompilowanym o składni podobnej do C++ i Java też nic
nie mam.
Pozdrawiam
-
6. Data: 2017-08-07 13:02:15
Temat: Re: Rust
Od: Borneq <b...@a...hidden.pl>
W dniu 06.08.2017 o 12:03, M.M. pisze:
> Generalnie dostępne narzędzia: środowiska, edytory, kompilatory,
> optymalizatory, itd.
Jest wtyczka RustDT do Eclipse. Pięknie podświetla składnię. Pod Linuxem
dodatkowo (jeszcze nie sprawdzałem) jest nawet możliwość debugowania.
Pod Windows są na razie problemy, bo wtyczka chce Gnu Debugger a binaria
mają informacje w formacie Visual Studio. Ale jak wtyczka RustDT zacznie
obsługiwać cdb.exe to już będzie całkiem świetnie.
-
7. Data: 2017-08-07 13:04:17
Temat: Re: Rust
Od: Borneq <b...@a...hidden.pl>
W dniu 06.08.2017 o 12:03, M.M. pisze:
> Moje zdanie jest podobne, ale przeciwko Javie nic nie mam, przeciwko
> nowym językom kompilowanym o składni podobnej do C++ i Java też nic
> nie mam.
Moje pierwsze wrażenia: bardzo trudno na początku jest skompilować aby
nie było błędów czasu kompilacji. Ale to dobrze, bo w Rust więcej niż w
innych językach zależy od kompilacji, aby nie było gorszych błędów czasu
wykonania.
-
8. Data: 2017-08-07 14:20:56
Temat: Re: Rust
Od: s...@g...com
> Ale jak wtyczka RustDT zacznie
> obsługiwać cdb.exe to już będzie całkiem świetnie.
Co w tym świetnego?!? w Borland Turbo C++ debuger był w 1990 roku (pewnie jeszcze Cię
wtedy nie było :0 ). To co teraz należy wymagać to dobry profiler i informowanie o
wyciekach pamięci. Profiler Gnu ma, ale jakiś bardzo dziwny - potrafi czasem
wyświetlić kilka razy informacje na temat danego konstruktora (co mi przeszkadzało
gdyż zrobiłem sprytny skrypt który analizował plik profilera i miał pokazywać wycieki
pamięci: http://szyk.jcom.pl/leakckr.html). Natomiast w VS jest profiler ale w wersji
płatnej. W VS jest też wykrywanie wycieków pamięci ale z jakichś bliżej mi nie
znanych powodów nie wyświetla jakich obiektów to dotyczy (a przecież jest coś takiego
jak RTTI).
-
9. Data: 2017-08-07 14:41:22
Temat: Re: Rust
Od: slawek <f...@f...com>
On Sun, 6 Aug 2017 02:54:19 -0700 (PDT), s...@g...com wrote:
> ma największy wpływ na wydajność. A ponieważ C++ j=
> uż został wynaleziony i rozpowszechnił się, to moim zda=
> niem należy się skupić właśnie na nim...
Jestem za a nawet przeciw.
C++ jest dobrym językiem, w którym da się zrobić wszystko. Ale to
samo można powiedzieć o Asemblerze.
Pomijam już paradygmat. (Czy wątki robione przez programistę są
potrzebne w Haskellu? Czy dziedziczenie ma sens w Prologu?)
Ale klasycznym przykładem na nieład w C++ jest rzutowanie. Są trzy
nowe i te stare. Inny klasyk: da się w C++ zrobić long jump.
Do tego problem braku new w embeded.
Szablony są fajne. Diagnostyka błędów kodu z szablonami... poprawiono
coś?
Brak standardów co do GUI (ok, jest Qt).
Ogólnie: język C++ jest cool, tyle że zaczyna przypominać szwajcarski
scyzoryk z korkociągiem, szpadlem i parasolem.
-
10. Data: 2017-08-07 14:43:10
Temat: Re: Rust
Od: slawek <f...@f...com>
On Sun, 6 Aug 2017 03:03:45 -0700 (PDT), "M.M." <m...@g...com>
wrote:
> ź sobie język taki
> jak C++ który jest interpretowany?
Ajtam, da się zrobić interpreter C. Był taki na Commodore 64.