Slo-Tech - Da je Linuxovo jedro napisano v C-ju, je bil zelo dolgo eden izmed aksiomov računalništva, a se to utegne kmalu dopolniti. Že dlje časa potekajo prizadevanja, da bi v jedro vključili tudi Rust, kar podpira tudi Google. To seveda ne pomeni, da bi prepisali celotno jedro v Rust, bi pa v njem lahko nastajala nova koda. Razlogov za spremembo je kar nekaj, med njimi tudi boljše upravljanje pomnilnika, kar bi zmanjšalo verjetnost za vnos varnostnih ranljivosti iz tega naslova. Ocenjujejo, da je upravljanje s pomnilnikom razlog za približno dve tretjini varnostnih lukenj. Sedaj je Rust še korak bliže jedru.
Ena izmed pomembnih sprememb je uporaba stabilnega prevajalnika. Doslej so uporabljali beta verzije, odslej pa bo Rust on Linux uporabljal vsakokratno stabilno verzijo (trenutno Rust 1.57.0). Miguel Ojeda, vodja projekta Rust on Linux, pojasnjuje, da so s tem odstranili nekaj nestabilnih funkcij in povečali stabilnost kode. Starosta razvoja Linuxovega jedra Greg Kroah-Hartman dodaja, da bodo verjetno gonilniki ena izmed prvih komponent, ki bo napisana v Rustu. Gonilniki so odvisni od ostale kode v jedru, medtem ko od njihove kode drugih odvisnosti ni.
Rustu je naklonjen tudi oče Linuxa Linus Torvalds, ki se zavzema za počasen pristop k vključevanju Rusta. Pravi sicer, da ni nujno, da bo na koncu obveljal prav Rust, a ni dvoma, da C ne bo ostal edini programski jezik.
Če bo šlo vse po načrtih, pa bi lahko prihodnje leto videli prve vrstice kode v Rustu. Ojeda je minuli teden pripravil popravek, ki v jedro dodaja podporo za Rust.
Novice » Operacijski sistemi » Kdaj bo Linuxovo jedro dvojezično v C-ju in Rustu
sbawe64 ::
Zakaj Rust (in ne kaj drugega) in kaj s tem linux jedro pridobi ?
2020 is new 1984
Corona World order
Corona World order
Zgodovina sprememb…
- spremenilo: sbawe64 ()
phantom ::
Zakaj Rust (in ne kaj drugega) in kaj s tem linux jedro pridobi ?
Ker je po performanceu primeljiv s C in C++ in v varni kodi prepreči vse memory-related buge (memory leaki, neveljavni pointerji, buffer overflowi ...). Tega ne zmore noben drug meni znan jezik. Upam, da tudi drugje začne čim prej uspešno izpodrivati C in C++.
~
~
:wq
~
:wq
joebanana ::
Lonsarg ::
Low-level languagi imajo ponavadi daljšo življensko dobo. Ampak tudi ti se morajo kdaj menjati ja.
win64 ::
srus ::
Kot embedded softwerašu mi je C++ všeč predvsem zato, ker mi je "zrihtal" ogromno posla. Ker pač ni vedno primeren jezik za embedded sisteme, navkljub trmarjenju naročnikovih razvojnikov.
Enako pričakujem tudi od Rust.
Enako pričakujem tudi od Rust.
Karamelo ::
While Linus Torvalds is sure, Linux won't end up being written in Rust. But then, that's not the goal. No one's going to rewrite the kernel's 25 million lines of C in Rust.
človek ne, bo pa to naredil AI
naruto1 ::
Saj sicer veste, da se C uporablja zato, ker obstaja prakticno povsod, Rust pa ne?
Ja, samo se to rabimo, linux kernel, ki bo z 94% pravilno preveden v Rust
Bolje, da za vedno ostane v Cju.
While Linus Torvalds is sure, Linux won't end up being written in Rust. But then, that's not the goal. No one's going to rewrite the kernel's 25 million lines of C in Rust.
človek ne, bo pa to naredil AI
Ja, samo se to rabimo, linux kernel, ki bo z 94% pravilno preveden v Rust
Bolje, da za vedno ostane v Cju.
Zgodovina sprememb…
- spremenilo: naruto1 ()
naruto1 ::
Verjetno bojo implementirali neke platformske specifike, za set platform, ki jih Rust podpira, vse ostalo se bo naprej razvijalo v Cju.
anoq ::
Zakaj Rust (in ne kaj drugega) in kaj s tem linux jedro pridobi ?
... memory-related buge (memory leaki, neveljavni pointerji, buffer overflowi ...). Tega ne zmore noben drug meni znan jezik.
To seveda ne drži povsem. V C++ imaš memory safe primitive npr. smart pointer-je, potem imaš optimizirane kontejnerje kot npr. std::vector in podobno..., ki ti dajo iste memory safety varovalke kot Rust.
Prednost Rust-a bi bila npr. v tem, da že sam prevajalnik sili programerja, da piše varno kodo, do čim v C++ imaš proste roke in lahko uporabiš kar hočeš. Seveda tudi pri C++ ti določeni prevajalniki (clang) omogočajo, da si nastaviš restrikcijo in se na ta način približaš Rust-ovem modelu. Druga mogoče "prednost" Rust-a v nekaterih primerih pa je npr. thread memory sfety, kjer privzeto vsaka nit ima lastništvo nad objektom in si ga ne delijo med sabo (object passing). Seveda to omogoča tudi C++, samo mora programer biti tisti, ki zna to spisat. Pri Rustu pride to privzeto v paketu. Zdaj a je to prednost ali slabost je odvisno od primera. Predvsem ponavadi tukaj igra glavno vlogo hitrost, latency in poraba pomnilnika.
Zimonem ::
Zakaj Rust (in ne kaj drugega) in kaj s tem linux jedro pridobi ?
... memory-related buge (memory leaki, neveljavni pointerji, buffer overflowi ...). Tega ne zmore noben drug meni znan jezik.
To seveda ne drži povsem. V C++ imaš memory safe primitive npr. smart pointer-je, potem imaš optimizirane kontejnerje kot npr. std::vector in podobno..., ki ti dajo iste memory safety varovalke kot Rust.
Prednost Rust-a bi bila npr. v tem, da že sam prevajalnik sili programerja, da piše varno kodo, do čim v C++ imaš proste roke in lahko uporabiš kar hočeš. Seveda tudi pri C++ ti določeni prevajalniki (clang) omogočajo, da si nastaviš restrikcijo in se na ta način približaš Rust-ovem modelu. Druga mogoče "prednost" Rust-a v nekaterih primerih pa je npr. thread memory sfety, kjer privzeto vsaka nit ima lastništvo nad objektom in si ga ne delijo med sabo (object passing). Seveda to omogoča tudi C++, samo mora programer biti tisti, ki zna to spisat. Pri Rustu pride to privzeto v paketu. Zdaj a je to prednost ali slabost je odvisno od primera. Predvsem ponavadi tukaj igra glavno vlogo hitrost, latency in poraba pomnilnika.
Rustov pristop k upravljanju pomnilnika je formalno dokazan. Tu leži bistvena razlika.
C++ je pa v supportih najbolj osovražen jezik.
pegasus ::
Prednost Rust-a bi bila npr. v tem, da že sam prevajalnik sili programerja, da piše varno kodo,Če bi si programerji tega res želeli, bi vsi že zdavnaj programirali v spark dialektu ade. Pa večina niti ne pozna spark ade, kaj šele da bi jo uporabljali ... Ker so ljudje raje svobodni da serjejo kakor jim paše, kot pa da bi trpeli neko "prisilo" delati pravilno in po reglcih.
anoq ::
Zakaj Rust (in ne kaj drugega) in kaj s tem linux jedro pridobi ?
... memory-related buge (memory leaki, neveljavni pointerji, buffer overflowi ...). Tega ne zmore noben drug meni znan jezik.
To seveda ne drži povsem. V C++ imaš memory safe primitive npr. smart pointer-je, potem imaš optimizirane kontejnerje kot npr. std::vector in podobno..., ki ti dajo iste memory safety varovalke kot Rust.
Prednost Rust-a bi bila npr. v tem, da že sam prevajalnik sili programerja, da piše varno kodo, do čim v C++ imaš proste roke in lahko uporabiš kar hočeš. Seveda tudi pri C++ ti določeni prevajalniki (clang) omogočajo, da si nastaviš restrikcijo in se na ta način približaš Rust-ovem modelu. Druga mogoče "prednost" Rust-a v nekaterih primerih pa je npr. thread memory sfety, kjer privzeto vsaka nit ima lastništvo nad objektom in si ga ne delijo med sabo (object passing). Seveda to omogoča tudi C++, samo mora programer biti tisti, ki zna to spisat. Pri Rustu pride to privzeto v paketu. Zdaj a je to prednost ali slabost je odvisno od primera. Predvsem ponavadi tukaj igra glavno vlogo hitrost, latency in poraba pomnilnika.
Rustov pristop k upravljanju pomnilnika je formalno dokazan. Tu leži bistvena razlika.
C++ je pa v supportih najbolj osovražen jezik.
Niti ne, če se skoncentrirava na moderni C++ imaš lahko enaki memory model, kot Rust samo morš znat uporabit. To, da bi bil C++ najbol osovražen jezik prvič slišim. Definitivno pa ni lih programski jezik za novince ali pa script kiddie (javascript :D).
Prednost Rust-a bi bila npr. v tem, da že sam prevajalnik sili programerja, da piše varno kodo,Če bi si programerji tega res želeli, bi vsi že zdavnaj programirali v spark dialektu ade. Pa večina niti ne pozna spark ade, kaj šele da bi jo uporabljali ... Ker so ljudje raje svobodni da serjejo kakor jim paše, kot pa da bi trpeli neko "prisilo" delati pravilno in po reglcih.
Tega je zdaj skoz več, sploh managed jezikov, ki te silijo v določeno smer razmišlanja.
Tako, da Rust se bo pomoje s časom kar fajn zasidrov, sploh pri low-level/embedded programerjih.
Zgodovina sprememb…
- spremenilo: anoq ()
MrStein ::
Prednost Rust-a bi bila npr. v tem, da že sam prevajalnik sili programerja, da piše varno kodo,Če bi si programerji tega res želeli, bi vsi že zdavnaj programirali v spark dialektu ade. Pa večina niti ne pozna spark ade, kaj šele da bi jo uporabljali ... Ker so ljudje raje svobodni da serjejo kakor jim paše, kot pa da bi trpeli neko "prisilo" delati pravilno in po reglcih.
Seveda, razen po peti uri debugiranja C++ kode, ki še vedno leaka...
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
mr_chai ::
Bjarn Straustrup bi moral pač ukinit nadaljni razvoj C++ in naredit nekega naslednika, ki ne bi bil backward compatible in to je to. Ampak s tem bi priznal, da je konec njegovega otročiča, česar pa nikoli ne bo priznal. Zdej na veliko prodaja neko statično analizo...ma booo hooo, prdec stari, spokaj se in pusti, da te novodobni jeziki pojedo.
Invictus ::
Zato pač še ne bo koenc vseh teh jezikov...
https://hackaday.com/2021/11/18/c-is-th...
Mularija pa je itak samo še script kiddies in nimajo pojma o malloc in free. Oz., sploh nimajo pojma, kako karkoli v računalništvu deluje, ker vsi drkajo web. Kar je meni super, dovolj dela zame do smrti...
Mene noben moderen jezik ni prav navdušil, čeprav jih znam nekaj po sili razmer...
https://hackaday.com/2021/11/18/c-is-th...
Mularija pa je itak samo še script kiddies in nimajo pojma o malloc in free. Oz., sploh nimajo pojma, kako karkoli v računalništvu deluje, ker vsi drkajo web. Kar je meni super, dovolj dela zame do smrti...
Mene noben moderen jezik ni prav navdušil, čeprav jih znam nekaj po sili razmer...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
MrStein ::
Zato pač še ne bo koenc vseh teh jezikov...
https://hackaday.com/2021/11/18/c-is-th...
Java prehiti Pascal v energiji in hitrosti?
(v memoriji pričakovano zgubi)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Zimonem ::
Zato pač še ne bo koenc vseh teh jezikov...
https://hackaday.com/2021/11/18/c-is-th...
Mularija pa je itak samo še script kiddies in nimajo pojma o malloc in free. Oz., sploh nimajo pojma, kako karkoli v računalništvu deluje, ker vsi drkajo web. Kar je meni super, dovolj dela zame do smrti...
Mene noben moderen jezik ni prav navdušil, čeprav jih znam nekaj po sili razmer...
Še en superhuman, kateri verjame, da lahko bolje vodi računovodstvo lifetima , kot pa nek sodoben prevajalnik.sploh pa v Mt okoljih.
Prednost Rust-a bi bila npr. v tem, da že sam prevajalnik sili programerja, da piše varno kodo,Če bi si programerji tega res želeli, bi vsi že zdavnaj programirali v spark dialektu ade. Pa večina niti ne pozna spark ade, kaj šele da bi jo uporabljali ... Ker so ljudje raje svobodni da serjejo kakor jim paše, kot pa da bi trpeli neko "prisilo" delati pravilno in po reglcih.
Ada za varno dinamično upravljanje pomnilnika uporablja gc. Kontrakti so pa v rustu v obliki makro knjižnic.
Zgodovina sprememb…
- spremenilo: Zimonem ()
Invictus ::
Kateri prevajalnik oz. IDE priporočate za preizkusiti par osnovnih zadev v Rust-u?
VSC...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Zimonem ::
Ali neovim. Na splošno pa vse kar podpira language server protocol. Ampak dosti klientov bi editorjih je precej švoh.
Nucaš za poganjanje rust-analyzerja in codelldb.
Nucaš za poganjanje rust-analyzerja in codelldb.
anoq ::
Prednost Rust-a bi bila npr. v tem, da že sam prevajalnik sili programerja, da piše varno kodo,Če bi si programerji tega res želeli, bi vsi že zdavnaj programirali v spark dialektu ade. Pa večina niti ne pozna spark ade, kaj šele da bi jo uporabljali ... Ker so ljudje raje svobodni da serjejo kakor jim paše, kot pa da bi trpeli neko "prisilo" delati pravilno in po reglcih.
Seveda, razen po peti uri debugiranja C++ kode, ki še vedno leaka...
To je čist odvisno od programerja, ki je spisal kodo .
Ko enkrat koda preraste v par tisoč vrstic, bp zgubiš par dni življenja z iskanjem hroščev v kodi, ki je napisana v bilo katerem programskem jeziku. Tukaj C++ ni izjema.
Zimonem ::
Je kar ekstremen primer. Ker je naložena paradigma na paradigmo. Sploh pri projektu kjer je več razvijalcev.
Tu imaš pa vse lepo formalno rešeno. Brez vseh kolobocij z stl-om.
Deli ki so označeni z unsafe so pa potem tarča za iskanje napak. Ali box:leak za resource.
Sicer pa c++ ne bo v jedru. Sprobano pa se ne obnese.
https://m.slashdot.org/story/384324
Tu imaš pa vse lepo formalno rešeno. Brez vseh kolobocij z stl-om.
Deli ki so označeni z unsafe so pa potem tarča za iskanje napak. Ali box:leak za resource.
Sicer pa c++ ne bo v jedru. Sprobano pa se ne obnese.
https://m.slashdot.org/story/384324
driver_x ::
Sicer pa c++ ne bo v jedru. Sprobano pa se ne obnese.
https://m.slashdot.org/story/384324
Ali s tem misliš, da C++ ni primeren za zadeve na najnižjem nivoju?
Invictus ::
A nisi prebral...
C++ ne rešuje problemov C-ja...
C++ ne rešuje problemov C-ja...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
anoq ::
Deli ki so označeni z unsafe so pa potem tarča za iskanje napak. Ali box:leak za resource.
Sicer pa c++ ne bo v jedru. Sprobano pa se ne obnese.
https://m.slashdot.org/story/384324
Iz mojih začetniških izkušenj v Rustu so tudi tukaj kolobocije, ampak ja definitivno je prednost to, da te v Rustu privzeto prevajalnik sili, da moraš del kode zavestno eksplicitno označit kot nevarna ali pa, da je parameter funkcije privzeto konstanta. V C++ se da do določene mere to funkcionalnost tudi doseči s prevajalnikom in statičnim analizatorjem samo je programer tisti, ki mora to znat uporabit.
Btw v novejšem C++ po mojih izkušnjah niso tolko problem "obviseči" surovi pointerje, ker jih načeloma aktivno ne uporabljaš. Bolj so problem obviseče reference in ne-lastništvo nad referencami.
Zimonem ::
Kaj naj bi pomenilo, sodoben c++ ta Fama se vleče že 25 let vsaj. 15 let sva si rekla adijo. Sporadično se kdaj srečava , po sili razmer. Mas0hisem za poštukat zadeve.
15 let nazaj sva si z stroustrupovim bastardom zaželela srečno pot.
Kar se mazohizma tiče je odličen, ali ožemanja strank. Sicer pa Poden.
Rust je trenitno zmes in manjka kritična masa. Je pa vsaj jasen.
Sicer pa po starem c in modaliazcija na višjenivojske jezike
15 let nazaj sva si z stroustrupovim bastardom zaželela srečno pot.
Kar se mazohizma tiče je odličen, ali ožemanja strank. Sicer pa Poden.
Rust je trenitno zmes in manjka kritična masa. Je pa vsaj jasen.
Sicer pa po starem c in modaliazcija na višjenivojske jezike
tony1 ::
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kdaj bo Linuxovo jedro dvojezično v C-ju in RustuOddelek: Novice / Operacijski sistemi | 8050 (4530) | tony1 |
» | Firefox Quantum je kvantni skok naprej (strani: 1 2 3 4 5 )Oddelek: Novice / Brskalniki | 68031 (52942) | Apofis |
» | RustOddelek: Igre | 5724 (3657) | zeks14 |
» | Mozillin Quantum bo zamenjal Gecka (strani: 1 2 )Oddelek: Novice / Brskalniki | 22497 (18883) | BigWhale |
» | Mozilla pripravila prvo verzijo brskalniškega pogona ServoOddelek: Novice / Brskalniki | 5482 (4015) | LightBit |