Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Rust programming language

[es] :: Ostali programski jezici :: Rust programming language

Strane: 1 2

[ Pregleda: 4988 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

plus_minus

Član broj: 289459
Poruke: 2026



Profil

icon Re: Rust programming language24.06.2016. u 00:54 - pre 392 dana i 14h
@Arnie

Grešiš. U njemu je problem. Trebao je da nađe načina da progura Lua skriptu kao adekvatnu zamenu za js, pa da proba da to progura kao standard, ali nije.
Dobro je što još uvek ne postoji ... ne znam kako bi to nazvao, js API/lib za pisanje GPU drajvera. :D

about:networking
 
Odgovor na temu

Burgos
Nemanja Borić
Berlin, DE

Član broj: 12484
Poruke: 1846
45.56.149.*

Sajt: stackoverflow.com/users/1..


Profil

icon Re: Rust programming language24.06.2016. u 07:03 - pre 392 dana i 8h
Citat:
plus_minus:
Jer je opšte poznata stvar da C, C++, Java, pa čak i Perl.. a kamoli C# bez adekvatnih dodataka (izuzmimo perl), jednostavno ne mogu ništa da urade brže i bolje od `fizikalca`, a hoće da se trkaju.


Ovo mi nije baš najjasnije, niti mi je opšte poznato, da C ili C++ ne mogu ništa bolje ni brže da urade od PHP-a. Valjda bi onda onda PHP bio implementiran u PHP-u, a ne u C-u? Ili ne bi Facebook napisao hhvm u C++-u, već u PHP-u? Vidi moju sledeću rečenicu.

Citat:
Zašto C# ? Zašto ne čist C++ .. ?


Ta dva programska jezika su dijametralno suprotna, kako u samom jeziku, implementaciji, instrukcijama u koje se prevode, tako i u nameni.

Citat:
Rust, ako ga skineš za linux, zove se Rust i pravi izvršne fajlove.
Ako ga skineš za M$, zove se Rust i pravi (.exe/.msi) izvršne fajlove.
Ako ga skineš za zatvoreni unix, takođe se zove Rust i pravi izvršne (.app) fajlove.


Kao i C, kao i C++, kao i D.

 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2026



Profil

icon Re: Rust programming language24.06.2016. u 08:31 - pre 392 dana i 7h
Citat:
Ovo mi nije baš najjasnije, niti mi je opšte poznato, da C ili C++ ne mogu ništa bolje ni brže da urade od PHP-a.


Da, .. nisam namerno hteo da ispandem konfuzan. Htedoh da kažem da ne možeš u .html ekstenziji da izvršiš čist C++ kod, dok se sami html očitava, recimo. :) Taj kod zapravo mora da ide kroz <?php ?> tagove. Elem, znam šta se krije, koji kod ide iza svih php f-ja i extenzija, baš zato ga i volim. :)

Zašto ne C++, zašto čist C# ... taj deo postade jasan. Ok.
Hvala.

Citat:
Kao i C, kao i C++, kao i D.


I ne trebaju nikakve raznorazne v. mašine ili nešto posebno i dodatno da bi se čovek vežbao i igrao na non-native platformi, pretpostavljam.
Ako je tako, tako treba i da ostane.
about:networking
 
Odgovor na temu

Arnie
localhost
Sam svoj gazda
Beograd, Srbija

Član broj: 329038
Poruke: 43



Profil

icon Re: Rust programming language24.06.2016. u 11:40 - pre 392 dana i 4h
Citat:
plus_minus:
@Arnie

Grešiš. U njemu je problem. Trebao je da nađe načina da progura Lua skriptu kao adekvatnu zamenu za js, pa da proba da to progura kao standard, ali nije.
Dobro je što još uvek ne postoji ... ne znam kako bi to nazvao, js API/lib za pisanje GPU drajvera. :D


Ma kakvi, trebao je da napiše MVC framework u FORTRAN-u.
Trust yourself, break some rules, don't be afraid to fail, ignore the naysayers, work like
hell and give something back!
# Software is like sex - it's better when it's free :))
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 489
109.72.51.*



Profil

icon Re: Rust programming language23.08.2016. u 19:08 - pre 331 dana i 20h
Zaboravio sam da malo popljujem po Rustu:
Pogledajte ovu abominaciju:
http://benchmarksgame.alioth.d...t=nbody&lang=rust&id=1
emfazis na :
Code:

/// Pop a mutable reference off the head of a slice, mutating the slice to no
/// longer contain the mutable reference.
fn shift_mut_ref<'a, T>(r: &mut &'a mut [T]) -> Option<&'a mut T> {
    if r.len() == 0 { return None }
    let tmp = std::mem::replace(r, &mut []);
    let (h, t) = tmp.split_at_mut(1);
    *r = t;
    Some(&mut h[0])
}

Zasto je ovo i cemu to? Pa Rust je poprilicno tupav kad je u pitanju borrow checker. Naime ne dozvoljava dve mutable reference na elemente niza iako se radi o dva razlicita elementa.
Ovo moze bez gorepomenutog koda na svu srecu da se izbegne koriscenjem raw pointera ali autor je dosao ko 1/11 da pokaze zasto Rust nije production ready.
Sto se D-a tice, nije mi se svideo od samog start-a (sto je 2000 i neke) jer to je kombinacija Jave i C++-a. GC mislim da nema sta da trazi u jeziku koji bi trebalo da se koristi za sistemsko programiranje.
Osim toga referentni Dkompajler je blagi ocaj u pogledu performansi.
Rust je pametno izbacio GC iz jezika i prilicno sam zadovoljan performansama ali je programirati u ovom jeziku *pain* iz razloga sto nema pointer aritmetiku i null pointer, (koje opet ima) ali ajde nek neko proba naivno
da implementira balansirano stablo i odmah ce uvideti o cemu pricam.

edit:
i da zaboravih. oprezno sa rekurzijom jer nema tail call optimizaciju,
i array bounds check ne moze da se iskljuci, te stoga koriscenje iteratora je preferiran nacin za prolaz kroz niz.
Jezik je u pocetku imao i expanding stekove i green threadove ali sve je to u paketu sa GC-om izbaceno zbog toga sto je uticalo na performanse.

[Ovu poruku je menjao Branimir Maksimovic dana 23.08.2016. u 20:28 GMT+1]
 
Odgovor na temu

Arnie
localhost
Sam svoj gazda
Beograd, Srbija

Član broj: 329038
Poruke: 43



Profil

icon Re: Rust programming language31.08.2016. u 21:43 - pre 323 dana i 18h
Da, ima nekih čudnih anomalija, no ipak stremi ka tome da postane production-ready, vidim da par startapova već koriste Iron (Rust web framework).

Od svih jezika za sistemsko programiranje sa kojima sam se susreo, u Rust-u je milina raditi. Jednostavno ne dozvoljava da napraviš glupe greške koje ti se mogu desiti sa C / C++. Jedina mana je što je ekosistem mnogo oskudniji od konkurenata, ali verujem da će se to promeniti za par godina.
Trust yourself, break some rules, don't be afraid to fail, ignore the naysayers, work like
hell and give something back!
# Software is like sex - it's better when it's free :))
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 489
109.72.51.*



Profil

icon Re: Rust programming language31.08.2016. u 23:13 - pre 323 dana i 16h
Problem je u tome sto moras da pravis glupe greske kad implementiras stvari. Ako koristis neki lib Rust je ok, ali ako krenes da se bakces sa low level stvarima, Rust je zapravo gori od C/C++-a. Iz iskustva mi treba mnogo vise razmisljanja i vremena da odradim nesto u Rustu nego u C++-u.
Ali kad jednom napravis kod radi iz cuga osim sto mozes da batalis sav safety ako recimo (a moras) koristis raw pointere. Desilo mi se da je varijabla otisla sa steka i nikakvog upozorenja od kompajlera nisam imao :
Code:

        let tmp = CString::new(name).unwrap();
        let s = tmp.as_ptr();


napravi to u :
Code:

        let s = CString::new(name).unwrap().as_ptr();


i imas problem bez ikakvog upozorenja od kompajlera.
Osim toga to sto nema nasledjivanja struktura je pain kada moras da preuzimas kod i podatke. To forsira da stalno koristis pimpl idiom i nema drugih opcija.
To sto nema downcasta iz trait-a je takodje prica za sebe.
Dizajneri Rusta su negde gde je C++ bio 1992 godine i odbacili su gro stvari koje je C++ uveo iz razloga sto je praksa to zahtevala.
Tako da nisam bas siguran da li ce Rust ikada ozbiljno zaziveti.

Da dodam, tu su razni problemi sa time sto kad neko zapuca Fn trait closure kao callback a ti hoces da recimo promenis vrednost captured variable mozes da
se obesis o najblize drvo. Zato libovi zapravo sakrivaju mutability u low level kodu a gornji slojevi su navodno immutable.
Osim toga da bi implementirao renderovanje iz vise thread-ova po istom bufferu moras da se posluzis magijom tj da pravis
ovo:
Code:

#[derive(Clone)]
struct Racy<T>(T);

unsafe impl<T: 'static> Send for Racy<T> {}
...
    let objects = Racy(&objects as *const Objects);
....
         let objects = objects.clone();
         let bytes = Racy(&mut bytes as *mut Vec<u8>);

......
            results.push(std::thread::spawn(move || unsafe {
                let Racy(objects) = objects;
                let Racy(bytes) = bytes;


I svef to samo da bi mogao da drljas po raw bufferu iz vise threadova...
Ima jos mnogo stvari koje mi sad ne padaju na pamet ali mislim da je i ovo dosta....
 
Odgovor na temu

Arnie
localhost
Sam svoj gazda
Beograd, Srbija

Član broj: 329038
Poruke: 43



Profil

icon Re: Rust programming language01.09.2016. u 19:28 - pre 322 dana i 20h
Ne sumnjam da je ovo što govoriš tačno, no meni kao osobi koja nije imala baš puno iskustva sa sistemskim programiranjem (jeste da mi je C++ bio prvi jezik i da sam dosta stvari naučio zahvaljujući njemu, ali rano sam se prebacio na web development) Rust dođe kao 1/10 zbog 'svarljive' dokumentacije i izuzetne podrške preko IRC-a i na forumu; koje god pitanje da sam postavio dobio sam vrlo opširan odgovor i gotovo uvek je dostupan neko od razvojnog tima (najviše Stiv Klabnik) da odgovori na pitanja i baš ima strpljenja da ti napiše i primer koda i u detalje objasni neke stvari (doduše, ja većinu stvari skontam iz dokumentacije).

Obzirom da nema neku podršku verovatno ću se prebaciti na neki drugi jezik koji je na stabilnijim nogama i sa kojim mogu više da naučim po pitanju rukovanja memorijom i ostalim konceptima nižeg nivoa, a Rust ću svakako ubuduće koristiti u nekim hobi projektima.

Edit:

Sad baš gledam Stivovu prezentaciju istorije Rust-a. On već na početku navodi da je Rust nastao kao istraživački projekat u sprezi sa Servom; ljudima koji su sa strane to gledali od 2006. izgledalo je kao da Rust dizajneri nemaju pojma šta rade, ali ono što su oni radili celo to vreme je zapravo isprobavanje različitih opcija. Ako bi se opcija pokazala kao dobra bila bi zadržana, u suprotnom bi bila izbačena iz jezika.

Obeležen je i maj 2016. kao datum početka produkcione godine; verovatno su po nekim kriterijumima došli do zaključka da je jezik od tada spreman za korišćenje u produkciji. Verovatno će se dosta toga u budućnosti ispeglati, naročito kad Servo dostigne određenu starost. Još je to mlad projekat, kao i Rust.

[Ovu poruku je menjao Arnie dana 01.09.2016. u 22:42 GMT+1]
Trust yourself, break some rules, don't be afraid to fail, ignore the naysayers, work like
hell and give something back!
# Software is like sex - it's better when it's free :))
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 489
109.72.51.*



Profil

icon Re: Rust programming language02.09.2016. u 05:40 - pre 322 dana i 10h
Ne znam cime hoces da se bavis ali tu je Go koji je mnogo stabilniji i prijatniji u odnosu na Rust. Go je iskljucivo mrezni jezik i pisanje mreznog softvera je breeze. Ono sto Go ne moze to je da radi sistemsko programiranje i GUI.
Ja sam pravio neki vraper oko Qt-a ali odlucili su da zabrane da se pointeri u okviru strukture na GC allocated objekte bacaju u C f-je i to je show stoper za bilo kakav vraper oko C gui liba. Koliko vidim to je zaustavilo bilo kakav napor u tom pravcu.
Prednosti Go-a su cist kod i lightning fast kompajliranje ali je usko specijalizovan jezik.
Osim toga imas i D koji je much more usable then Rust. To su ta tri aktuelna sada, i vec navedena.
D ima losije performanse od Rust-a a programiranje bez GC-a je pain, tako da D i nije bas za sistemasenje.
D ima jako dobar interfejs ka C++-u ako ti to nesto znaci.
I dalje C++ je zakon po meni, pogotovo sto su pola fazona iz D-a pokupili u C++11 ;)
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2026



Profil

icon Re: Rust programming language07.09.2016. u 23:45 - pre 316 dana i 15h
Biće da si Branimire nažalost u pravu.. Servo u svojoj dev. varijanti neće ni da se iskompajlira do kraja kako treba.
Bar ne kod mene na mašini. Pre neki dan probao i mućak.. nadam se da nema mnogo takvih slučajeva.
Pred sami kraj kompajliranja (koje je onako, soidno trajalo), negde je zabolo, napisa' mi koji je error i mrka kapa.
Nije bilo nikakvih nezavistnosti i neželjenih poruka u toku procesa. Daću mu još jednu šansu za koji dan. Kad izbace Rust 1.12.

No, vredni su to ljudi tamo po mozilla reasearch/dev. team-u.
Biće sve to dobro. Na svakoj mašini. I hope.

Mislim, taj servo i jeste jedna od šansi da se ova debilarija i agonija sa chrome-browser-po-svaku-cenu domnacijom prekine.
Baš kao što je to slučaj bio sa Internet Explorer-om i FF verzijom 1.0.

Ali ono što je još bolesnije u celoj toj priči jeste činjenica da isti ti koji razvijaju retardirani chrome (dobro, ne baš, baš ista ta ekipa, jel' da .. ), finansiraju/doniraju (i to pozamašno) ove koji razvijaju servo...
about:networking
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 489
*.bvcom.net.



Profil

icon Re: Rust programming language10.09.2016. u 00:55 - pre 314 dana i 14h
Ja kompajliram Rust direktno iz repoa. Par puta nedeljno odradim `git pull` i bez problema iskompajlira. Takodje cargo. Ne znam za servo ali vec duze vreme nisam imao problema sa kompajliranjem u Rustu. Stabilizovali su sad jezik pa nema problema.
Mozda da probas Rust nightly sa servom pogotovo ako je dev verzija?

[OT] Sto se tice Chrome browsera otkacio sam ga cim su izbacili podrsku za NPAPI. Meni je licno Firefox bolje resenje.
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2026



Profil

icon Re: Rust programming language10.09.2016. u 02:02 - pre 314 dana i 13h
^^ ja sam bez ff-a sakat i bogalj.

Rust radi i kod mene savršeno, ali, servo - nee htede da se spakuje ...
Probaću ponovo, svakako, ali ne žurim se nigde.
about:networking
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2026



Profil

icon Re: Rust programming language04.03.2017. u 10:08 - pre 139 dana i 4h
Krenuo je rđavi točak preko pitona da se kotrlja... :)
Kako vele, sama implementacija (bez bilo kakvih dodatnih optimizacija, koje su naravno došle kasnije) je ubrzala sve..
Koga interesuje: Fixing Python Performance with Rust
Citat:

After applying the parser to a particularly problematic source map, it showed that parsing with this library alone could cut down the processing time from >20 seconds to <0.5 sec. This meant that even ignoring any optimizations, just replacing Python with Rust could relieve our chokepoint.

about:networking
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 489
*.bvcom.net.



Profil

icon Re: Rust programming language04.03.2017. u 16:42 - pre 138 dana i 22h
Hm pa nije to neka reklama za Rust. C++ isto to moze da uradi a i bilo koji kompajlirani jezik koji se moze zvati preko C interfejsa ;p
To da je python spor , znamo svi ;)
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2026



Profil

icon Re: Rust programming language04.03.2017. u 17:05 - pre 138 dana i 21h
Nije, znam. Al' mi milo 'em drago što sve više i više biraju rđu. :)
A protiv pythona nemam ama baš ič ništa.

Piton njima lepo i precizno radi posao i dalje.
A i svima koji ga koriste.
about:networking
 
Odgovor na temu

[es] :: Ostali programski jezici :: Rust programming language

Strane: 1 2

[ Pregleda: 4988 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.