- A hozzászóláshoz be kell jelentkezni
- 4148 megtekintés
Hozzászólások
But because it's written in C, sudo has experienced many vulnerabilities related to memory safety issues.
Bullshit. A sudo
nem azért ementáli, mert C-ben van írva, hanem azért, mert szarul van megírva. Az nem megoldás, hogy a rossz kódot egyszerűen átírják egy másik nyelvre, amiről azt hiszik, hogy majd kijavítja helyettük a rossz kód okozta sérülékenységeket, viszont cserébe mind CPU-ból, mind OS-ből csak töredék annyit támogat, mint az eredeti nyelv és ezáltal a programot használó platformok nagy részére portolhatatlan is lesz, tehát azokon a platformokon pláne nem oldották meg a problémát. És főleg nem megoldás akkor, ha még ész nélkül is fogják átírni, mert az emberi hülyeséget még a Rust sem tudja kivédeni; csodák nincsenek: aki azt hiszi, hogy létezik teljesen hülyebiztos nyelv, az alábecsüli a teljesen hülyéket.
Lehet biztonságos sudo
alternatívát írni C-ben is, csak érteni kell hozzá. Na, az megoldás.
A Rust-hívők C ellen folytatott keresztes hadjárata egy nap komoly ipari katasztrófát fog okozni...
Disclaimer: Nem a Rust-tal van bajom, hanem a Rust-szektával.
- A hozzászóláshoz be kell jelentkezni
Az nem megoldás, hogy a rossz kódot egyszerűen átírják egy másik nyelvre, amiről azt hiszik, hogy majd kijavítja helyettük a rossz kód okozta sérülékenységeket
...
És főleg nem megoldás akkor, ha még ész nélkül is fogják átírni, mert az emberi hülyeséget még a Rust sem tudja kivédeni; csodák nincsenek: aki azt hiszi, hogy létezik teljesen hülyebiztos nyelv, az alábecsüli a teljesen hülyéket.
Hát, pedig a rust (talán) fő ígérete az, hogy amellett, hogy low level nyelv, nagyon jó a memory safetyben. Szóval ha valakinek ilyesmi fáj, akkor ez egy megoldás lehet. És természetesen csodák nincsenek, de egyelőre úgy tűnik, kevesebb a baj ezekkel a cuccokkal. Nyilván még korán vagyunk, valószínűleg aki ilyet csinál, az kifejezetten tudatos a nagy átlag C fejlesztőhöz képest, ezzel együtt az, hogy egy csomó restrikció van az ökoszisztémában, az valószínűleg hosszú távon is kevesebb ilyen jellegű buggal fog járni.
A
sudo
nem azért ementáli, mert C-ben van írva, hanem azért, mert szarul van megírva...
Lehet biztonságos
sudo
alternatívát írni C-ben is, csak érteni kell hozzá. Na, az megoldás.
Jaja, mindig felmerül, hogy a kóder a hülye, mert C-ben is lehet jót írni. Csak hosszú-hosszú évek tapasztalatai alapján (szíves figyelmedbe ajánlom világ CVE-jinek jelentős részét) olyan ez, mint a szép perl program. Lehet benne olyat írni, csak valamiért nem szokás. Szóval de, összességében egyáltalán nem tűnik rossz stratégiának, hogy több kódot termelünk olyanban, ahol kevesebbet tudnak hibázni a szarul megírók, és azokat a komponenseket, ahol magas a kockázat, esetleg újra is írjuk. A sudo ebből a szempontból elég jó target.
viszont cserébe mind CPU-ból, mind OS-ből csak töredék annyit támogat, mint az eredeti nyelv és ezáltal a programot használó platformok nagy részére portolhatatlan is lesz, tehát azokon a platformokon pláne nem oldották meg a problémát
Egyrészt láthatólag fejlődik a rust ökoszisztéma, szóval ha velünk marad, akkor jó eséllyel ez az olló be fog záródni sokkal jobban.
Másrészt, az amazon nyilván azért támogat ilyet, mert azt látja, hogy pl az infrastruktúrájának jelentékeny részén ez neki segíteni fog már most, az meg hogy ettől a FaszomBSD nem fog profitálni minden architektúrán, és Nevemteve is kimarad az AIX-al, őt kevésbé érdekli.
Harmadrészt meg nem veszik el senkitől a kedvenc C nyelvű sudoját, használhatja továbbra is nyugodtan, vagy választhatja pl a doast. Opensource, virágozzék száz virág, legyen választás, ilyesmi, tudod.
A Rust-hívők C ellen folytatott keresztes hadjárata egy nap komoly ipari katasztrófát fog okozni...
Hát, ha a rust annyira megszalad, hogy tényleg megkerülhetetlen dolgok lesznek csak abban, akkor ér ám segíteni/megcsinálni, hogy a mi platformunkon is forduljon, vagy lehet élni a következményekkel. Addig meg a zealotok hadd tolják, ha amit csinálnak jobb, vagy legalább kb ugyanolyan jó kevesebb security kitettséggel, akkor örülünk, ha meg nem, akkor hiába zealotkodnak, a közönség majd egy kösz, de kösz nem vállvonással odébbál.
- A hozzászóláshoz be kell jelentkezni
Köszi, megspóroltál egy oldal gépelést, ennyi.
- A hozzászóláshoz be kell jelentkezni
^maris megjelent ket emlegetett Rust szektas
- A hozzászóláshoz be kell jelentkezni
Életemben egy sor rust kódot nem írtam le, de nyilván szektás leszek, ha annál bonyolultabbnak látom a világot, mint hogy "csak jól kell kódot írni Cben!!!111"
- A hozzászóláshoz be kell jelentkezni
Te nem, de sz332 fullba tolta a "pusztuljon a C" jihadista dumát. Ez micsoda, ha nem szektásság?
- A hozzászóláshoz be kell jelentkezni
Ha megnyugtat én sem írtam Rust kódot, cserébe 16 évesen már assembly tutorialt írtam :D Viszont a C-t sosem igazán szerettem, főleg azért, mert a legtöbb embedded kód amivel találkoztam ótvar tákolmány volt ipari környezetben. Ennek sok oka van, és amióta cybersecurity-vel foglalkozom, még inkább megvagyok arról győződve, hogy ezt el kell engedni.
- A hozzászóláshoz be kell jelentkezni
cserébe 16 évesen már assembly tutorialt írtam
Én meg 2-3 évesen írtam az első BASIC programomat C128-ra. Akkor az én e-péniszem nagyobb? Vagy mire írtad ezt, hogy jött ez ide?
Viszont a C-t sosem igazán szerettem
Látjuk.
főleg azért, mert a legtöbb embedded kód amivel találkoztam ótvar tákolmány volt ipari környezetben. Ennek sok oka van,
Ennek egy oka van: balfaszok írták azokat a kódokat, mert úgy látszik azok olcsóbbak és a nagy cégek szeretik az olcsó dolgokat. (Jó drágán eladni.)
és amióta cybersecurity-vel foglalkozom, még inkább megvagyok arról győződve, hogy ezt el kell engedni.
Nem a C-t kell elengedni, hanem az agyatlan trendek mentén való menetelést.
- A hozzászóláshoz be kell jelentkezni
Ennek egy oka van: balfaszok írták azokat a kódokat, mert úgy látszik azok olcsóbbak és a nagy cégek szeretik az olcsó dolgokat. (Jó drágán eladni.)
Változtat ez bármin is?
- A hozzászóláshoz be kell jelentkezni
Nem szar a C.
A jelenlegi környezetben nem tudják vele teljesíteni a jelenlegi célokat. Nekik nem a nyelvvel és toolchain-nel van bajuk.
- A hozzászóláshoz be kell jelentkezni
Ugyanolyan szektásság, mint az, hogy a C mindenek felett, az a legjobb és csak a programozók a hülyék, mert nem használják jól.
- A hozzászóláshoz be kell jelentkezni
Ugyanolyan szektásság, mint az, hogy a C mindenek felett, az a legjobb
Kezdődik a szalmabábcséplés. Ilyet senki nem állított, hogy az mindenek felett, meg a legjobb. Elfogytak az érvek?
- A hozzászóláshoz be kell jelentkezni
Kérlek mutass egy olyan use-case-t, amit 2023-ban érdemes C-ben írni C++ vagy akár Rust helyett. A mikrokontrolleres kódok sem játszanak, mert egy modern C++ fordító (Clang), ha nem használsz STL-t, óriási osztályhierarchiákat virtuális metódusokkal, meg csillió template-et, akkor ugyanakkora kódot fog generálni, mint C-ből, de a RAII miatt 100x áttekinthetőbb lesz a kód, és kevésbé jó programozó is tud olyan biztonságos kódot írni, mint egy nagyon jó C programozó.
A systemd egyik legnagyobb hibája, hogy C-ben kezdték el és nem egy jól definiált C++ subsetben, amit statikus kódelemzővel a build rendszer kikényszerít, tehát hiába rak bele a C++ Committee csillió új feature-t a C++-ba, csak azt lehet a projektben használni, ami engedélyezett. (Ugyanígy kéne egyébként C-vel vagy akár Rusttal is dolgozni.) Jó példa erre a Godot Engine, ami C++17 subsetet használ, de pl. auto nincs, mert azt mondják, hogy áttekinthetetlen lesz tőle a kód (amivel egyébként egyet is tudok érteni).
- A hozzászóláshoz be kell jelentkezni
Kérlek mutass egy olyan use-case-t, amit 2023-ban érdemes C-ben írni C++ vagy akár Rust helyett.
Bármi, ami sebességkritikus, vagy nagyon kis méretű kell, hogy legyen, vagy maximális kontroll kell a programozónak, vagy C++/Rust fordító nem érhető el arra a platformra.
A mikrokontrolleres kódok sem játszanak, mert egy modern C++ fordító (Clang), ha nem használsz STL-t, óriási osztályhierarchiákat virtuális metódusokkal, meg csillió template-et, akkor ugyanakkora kódot fog generálni, mint C-ből, de a RAII miatt 100x áttekinthetőbb lesz a kód, és kevésbé jó programozó is tud olyan biztonságos kódot írni, mint egy nagyon jó C programozó.
Csak épp C++ nincs annyi mikrokontrollerre, mint C. A C-nél hordozhatóbb kód nincs.
- A hozzászóláshoz be kell jelentkezni
Szerintem új fejlesztéshez olyan hardvert nem használunk, amire nincs LLVM / Clang. Még a C64 MOS65xx processzorcsaládjára is van...
Legacy rendszereknél meg miért akarnánk átírni bármit is új környezetre?
- A hozzászóláshoz be kell jelentkezni
Szerintem új fejlesztéshez olyan hardvert nem használunk, amire nincs LLVM / Clang.
Szerinted. Szerintem meg célfeladathoz céleszköz. Ha egy milliWatt-okból elfutkorászó chip is meghajt egy olcsó mosógépet, akkor minek rakjunk be oda valami izmos ARM alapú embedded uC-t? Hogy drágább legyen? Hogy egye a villanyt? Vagy, hogy lehessen rá Rust-ban programozni?
Legacy rendszereknél meg miért akarnánk átírni bármit is új környezetre?
A kérdés kitűnő, de rossz embernek teszed fel. Ezt a Rust-szekta azon tagjainak kell feltenni, akik cél, ész és értelem nélkül esnek neki működő, ismert biztonsági réssel nem bíró C kódbázisoknak és írják/konvertálják át Rust-ba.
- A hozzászóláshoz be kell jelentkezni
Nem olvastad el amit írtam. Egy 40+ éves 8-bites mikrokontrollerhez is van Clang / LLVM. Szó nem volt ARM-ról...
Egy mikrokontrollernél a szoftverkörnyezet is ugyanolyan fontos, mint a hardver tudása és ára. Ha a gyártó nem ad normális, state of the art fordítót hozzá, akkor az egy red flag, valószínűleg egyéb turpisságok is lesznek ott. Mint a gagyi kínai SoC-ok, amik támogatják az "Androidot" ... persze az 5 évvel ezelőtti verziót, szétgányolva, frissítések nélkül.
Az, hogy hány mW-ot eszik a chip semmilyen kapcsolatban nincs azzal, hogy milyen fordítót használunk hozzá.
- A hozzászóláshoz be kell jelentkezni
Nem olvastad el amit írtam. Egy 40+ éves 8-bites mikrokontrollerhez is van Clang / LLVM. Szó nem volt ARM-ról...
Én elolvastam, csak te nem értetted meg a választ. PIC-12-re is van CLang/LLVM? Mindenre is van CLang/LLVM? Mert akármilyen C fordító valószínűleg lesz.
Egy mikrokontrollernél a szoftverkörnyezet is ugyanolyan fontos, mint a hardver tudása és ára. Ha a gyártó nem ad normális, state of the art fordítót hozzá, akkor az egy red flag, valószínűleg egyéb turpisságok is lesznek ott. Mint a gagyi kínai SoC-ok, amik támogatják az "Androidot" ... persze az 5 évvel ezelőtti verziót, szétgányolva, frissítések nélkül.
Az is szempont lehet, hogy minél olcsóbb legyen és általában ez egy eléggé prevalens szempont.
Az, hogy hány mW-ot eszik a chip semmilyen kapcsolatban nincs azzal, hogy milyen fordítót használunk hozzá.
Nem, az azzal van kapcsolatban, hogy érdemes-e berakni oda egy olyan - többe kerülő és többet zabáló - chipet, amire van LLVM, csak azért, hogy valami LLVM-et használó magasabb szintű nyelvet használhassunk.
És akkor még mindig ott tartunk, hogy a legkisebb és leggyorsabb kódot 99%-os valószínűséggel a C fogja adni. (Assembly-t most nem idekeverve.)
- A hozzászóláshoz be kell jelentkezni
Hello @kisg, sajnos én tudok ilyen use-case-eket.
1) a cégnél van egy jó C fejlesztőcsapat és egy stabíl C alapú platform / library a hozzávaló infrastruktúrával, CI kiépítve, stb...
2) A customer előírja a C használatát
3) kénytelenek vagyunk legacy fordítókat támogatni
4) Van megírva 100.000 sor C nyelvű, letesztelt kódod...
Egyik sem technikai use-case, a mai modern C++ minden szempontból jobb, mint a C. A Rust-ot nem tudom. :)))
- A hozzászóláshoz be kell jelentkezni
a mai modern C++ minden szempontból jobb, mint a C
- Hordozhatóság / platformfüggetlenség
- Kódméret
- Kódsebesség
- Fordítási sebesség
Ezekben is jobb a mai modern C++, mint a mai modern C?
- A hozzászóláshoz be kell jelentkezni
Én kifejezetten szeretem a C++-t, de egyetértek. Ha egyszerű kódot kell írni, arra a C jobb, gyorsabb. Csak akkor érdemes C++-ban írni valamit, ha nagyobb projektről van szó, tele van OOP-vel, vagy olyan libet kell használni, stb., ami indokolja a használatát. Egyébként, ha elég a C, abban is kivitelezhető, akkor érdemes annál maradni.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Azért ért már meglepetés.
8 bites mikrokontroller, protokoll parsing. Megírtam C-ben, aztán C++-ban, állapotgép absztrakcióval. A C++-ból kisebb kódot generált a fordító.
Gondolom optimalizálva van egyes szerkezetekre, amiket ha felismer, akkor tudja, mi a dolga.
- A hozzászóláshoz be kell jelentkezni
Igen, nem lehet általánosítani. De a C-s kód általában a kisebb. Semmi extra, de a legegyszerűbb feladatokra elég, pl. nagyon egyszerű driverek, meg GNU coreutils szintű egyszerű CLI konvertereket, stb., azokra ideális a sima C. Pont erre a szerepkörre is találták ki, mint a sudo, doas, stb. írása, unixos kernelek, unixos CLI toolok. Ezekre néha a C++, Rust, akármi csak egyszerűen overkill.
A C-t sokan feleslegesen temetik, hogy így 50 éves, úgy elavult. Nem avult el, csak nincsenek benne safety meg garbace collection extrák, ezért felelősséget igényel, meg tudást a programozó részéről, ésszel kell benne a malloc-kal, free-vel, pointerekkel vitézkedni. Ami elavult, az a Basic vagy Cobol. A kora sem érdekes, amire kitalálták, arra jó, a Fortran, Lisp régebbi, és azok is épp úgy használhatóak, és használják is őket. Nem felkapottak, de kihaltnak sem mondanám.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Nem kell temetni a C-t. Szoktam mondani, a Fortran is velünk él.
Azt viszont el kell fogadni, hogy sok célra (de nem mindenre) a Rust előnyösebb választás lesz.
- A hozzászóláshoz be kell jelentkezni
Ezt el is lehet fogadni. Nyilván megvan a Rustnak is a maga specialitása, ahogy a C-nek/C++-nak is.
Csak amint pár kollégának a véleményét láttad: ők tényleg ki akarják irtani a C-t, sőt, most már ahogy nézem, a C++-t is.
Az értelmes Rust programozóknak, akik a) a célfeladatra céleszköz logika mentén választják egy adott feladatra a Rust-ot, vagy b) simán szeretik a nyelvet, mert ebben tudnak a leghatékonyabban dolgozni, a saját érdekükben és a kedvenc nyelvük érdekében is baromi gyorsan meg kéne szabadulniuk a C/C++ haterektől, akik nem a Rust-ot szeretik, hanem a C-t/C++-t utálják. Nézd csak meg ezt a topicot. "Pusztuljon a C, éljen a Rust! De nem vagyok Rust-szektás, sose írtam egy sort se Rust-ban!" Magyarul a nyelvet nem is ismeri, nem tudja, hogy hol alkalmas a C/C++ lecserélésére és hol nem, de azért szerinte cseréljük le a C-t/C++-t mindenütt Rust-ra. Csak azért, hogy a C/C++ pusztuljon. Ez nettó pszeudoprogresszivizmus: dögöljön meg a C/C++, mert régi. Nekik valószínűleg mindegy, hogy mire cserélnék le a C/C++ kódbázist, a Rust biztonságossága csak ürügy...
És ez a mentalitás csak károkat fog okozni a Rust közösségnek.
- A hozzászóláshoz be kell jelentkezni
Meg azért ilyen szinten szélsőséges érzelmi megközelítés egy alapvetően műszaki kérdéskör kapcsán..., hát azért na! Műszaki döntések meghozatalakor minimálisan érvelünk. Jó érv lehet az is, hogy szeretem a nyelvet, megszoktam, ehhez értek, de akkor sem zavar más nyelvek létezése.
Akinek a C-vel baja van a Rusttal szemben, szerintem az okoz gondot, hogy a feladat ugyanolyan jól elvégezhető C-ben, ezért veszélyben érzi a szeretett Rustját. Féltékeny, nem akar konkurenciát. De attól, hogy a feladat valóban megoldható C-ben, még van létjogosultsága a Rustnak, lehet abban is kódolni.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Még ha csak arról lenne szó, hogy veszélyben érezné a szeretett Rustját...de láttad, hogy a C-haterek közül nem egy explicite kijelentette, hogy soha egy sort nem írt Rust-ban. Akkor az ő C-bashing-jük mögött aligha állhat ez; csak a nettó C-utálat. A C régi, tehát szar. Pszeudoprogresszivizmus.
- A hozzászóláshoz be kell jelentkezni
szélsőséges érzelmi megközelítés egy alapvetően műszaki kérdéskör kapcsán
Új lehetsz errefelé. :)
- A hozzászóláshoz be kell jelentkezni
ők tényleg ki akarják irtani a C-t, sőt, most már ahogy nézem, a C++-t is.
Ez a fázis szinte minden újdonság kitalálása után lejátszódik: hirtelen mindent IS azzal akarnak megoldani, egészen a degenerált esetekig eltolva. Próbálgatják, meddig lehet vele elmenni, aztán az élet majd eldönti, mi lesz a scope. Szerintem nem kell ezt ennyire mellre szívni, beáll majd az egyensúly.
C-re és C programozókra eztán is szükség lesz.
Ugyanakkor szerintem tisztában kell azzal lenni, hogy ez egyre inkább a specialitást fogja jelenteni, és nem a fősodort.
Mainstream szempontjából éppenhogy a C túlélését, reinkarnációját látom a Rust-ban.
Lehet, hogy a ,,Rust biztonságossága" csak ürügy. Nyilvánvalóan felmerülnek más, az ökoszisztéma működtetését érintő szempontok is.
Ne feledjük: a linux kernel mérete, háttere, alkalmazási köre is nagyon más, mint húsz évvel ezelőtt. És a programozók is, akik fejlesztik.
Ez már rég nem egy community projekt.
Régi vágású programozóként a C-nek drukkolok. Ugyanakkor látom és érteni vélem azt is, hogy egyes feladatokra miért keresnek helyette valami mást. (Amiről gyakran nem is feltétlenül maga a nyelv tehet.)
- A hozzászóláshoz be kell jelentkezni
A fősodor pont a C kiirtását nyomja. A C reinkarnációját meg nem értem, hogy láthatod a Rust-ban, amikor totál más a két nyelv filozófiája.
- A hozzászóláshoz be kell jelentkezni
Ha csak kalapácsod van, mindent szögnek gondolsz. (Arthur Bloch)
Az nem baj, ha nem csak egyféle kalapácsod van. Jól jön az eltérő kalapács a különböző munkákhoz.
A probléma azzal van, ha mindent az újonnan kezedben tartott kalapáccsal akarsz megcsinálni. De az is ugyanúgy aggályos, ha megrögzötten a régivel kínlódsz és nem veszed figyelembe, hogy az imént kapottal mennyiségben illetve minőségben jobb eredményt érnél el az adott feladatnál.
Avagy feladatonként nézzük meg mit nyerünk és mit bukunk adott programnál C illetve Rust esetén.
- A hozzászóláshoz be kell jelentkezni
Abszolút egyetértünk. Célfeladatra céleszköz. De éppen ezért a kalapács reinkarnációja nem lehet a csavarhúzó és vice-versa.
- A hozzászóláshoz be kell jelentkezni
Linus Torvalds: “C++ is really a terrible language!”
Igaza van.
- A hozzászóláshoz be kell jelentkezni
A többit miért törölted ki? Ha nem is volt minden helytálló benne, azért elgondolkodtató volt...
- A hozzászóláshoz be kell jelentkezni
Megbántam a túl sok "pofázást" és valóban nem volt teljesen helytálló.
- A hozzászóláshoz be kell jelentkezni
Visszaolvastam amit írtam, és valóban nem volt egyértelmű, hogy új, zöld mezős projektre gondoltam, mint pl. a példaként felhozott systemd. Nyilván egy már kifejleszett rendszert / libraryt nem kell kidobni csak azért mert C-ben van. Viszont (amennyiben a környezeti feltételek nem zárják ki), a rendszer új komponenseit érdemes lehet akár C++-ban akár Rust-ban írni -- először egy kísérleti / pilot projekt részeként, utána elemezve a tapasztalatokat.
Ebből a szempontból nekem nagyon tetszik pl. az Android Rust bevezetése: nyilván szó nincs arról, hogy a milliónyi sor C++-t újraírják, de amit lehet, azt már Rustban írják: https://source.android.com/docs/setup/build/rust/building-rust-modules/…
A konkrét vitaindító su / sudo újraírásnak viszont azért van értelme, mert egy nagyon kritikus infrastruktúra elem, ami viszont relatíve kis méretű, ezért belátható költséggel újraírható Rustban, amivel könnyebb biztonságos kódot írni.
- A hozzászóláshoz be kell jelentkezni
A konkrét vitaindító su / sudo újraírásnak viszont azért van értelme, mert egy nagyon kritikus infrastruktúra elem, ami viszont relatíve kis méretű, ezért belátható költséggel újraírható Rustban, amivel könnyebb biztonságos kódot írni.
doas
-ra átállni ezerszer olcsóbb és gyorsabb lett volna...
Kíváncsi vagyok, hogy vajon hány biztonsági rést fognak találni a Rust alapú sudo
-ban.
- A hozzászóláshoz be kell jelentkezni
Értem, hogy szerinted nem, de nem is te írtad, hanem carlcolt, a hozzászólásom alá :)
- A hozzászóláshoz be kell jelentkezni
Tudom, de mivel +0.5-öt nem tudtam rá adni, így csak +1-et adtam és leírtam az addendumot. :)
(Egyébként sikerült helyettem saját magadnak válaszolnod. Tudom, elég gagyi a D8 indentálása.)
- A hozzászóláshoz be kell jelentkezni
Ja. Miutan hasonlatoztal, hogy annyi szep C kod van, mint szep Perl program.
Azert ez kicsit eros volt, ezert jart a "szektazas". :)
- A hozzászóláshoz be kell jelentkezni
Mondjuk ebben is van valami, bár a Rust-szekta tagjait ő is zelaotnak minősítette. :)
- A hozzászóláshoz be kell jelentkezni
Nem, annyi memóriakezelés hiba mentes C program van, mint szép perl program.
És ha fáj a lelkednek, ha nem, a CVEk kurva jelentős része azért van, mert a C programozó urak basznak nem hibázni a memóriakezelés közben. Ez a valóság odakint, túl azon, hogy "csak jobban kell oktatni, nem kell bénának lenni". Most mit lehet erre mondani, ha nem lennének ipari méretben balfaszok, és lenne baj a balfaszságukból, akkor nem akarna senki mást használtatni emiatt.
- A hozzászóláshoz be kell jelentkezni
És még én fröcsögök... No comment.
Lehet, hogy Rust-szektás nem vagy, de C-hater igen. Gratulálok. És nem, én nem vagyuk Rust-hater. A nyelvvel továbbra sincs bajom.
Egyébként sebaj, a szép új világban majd a CVE-k nagy része azért lesz, mert a Rust sem védett meg mindentől... Ne zavarjon, hogy ha egy nyelvet sokan használnak, akkor statisztikailag is több hibát fognak véteni, mint a kisebb táború nyelvé.
- A hozzászóláshoz be kell jelentkezni
Hát, ha C hater vagyok azért, mert le merem írni, hogy a valóságban létezik a probléma, amit a rustosok feszegetnek, akkor C hater és rust zealot vagyok.
- A hozzászóláshoz be kell jelentkezni
Nem. A probléma létezik, csak a felkínált megoldás nem megoldás. A Rust megoldhat bizonyos részproblémákat, de nem mindent. A béna kóderek problémájának a megoldása a béna kóderek kiiktatása. Vagy meg kell őket tanítani kódolni, vagy ne csinálják. Az nem megoldás, hogy majd a nyelv megoldja, mert nincs tökéletes védelem.
Viszont olvasd el újra, hogy miket írkáltál itt és milyen hangnemben a C-ről és en-bloc a C-fejlesztőkről. Az lehet, hogy nem vagy Rust-hívő, viszont a C és a C fejlesztők utálata csak úgy fröcsög belőled.
- A hozzászóláshoz be kell jelentkezni
Én nem is mondtam, hogy automatikusan mindenre megoldás a rust, és attól minden tökéletes lesz. Azt a véleményemet meg továbbra is tartom, hogy a jobb eszköz tud összességében jobb eredményhez vezetni, meg azt is, hogy a "jobb programozók kellenek" egyszerűen nem lesz, szóval az nem megoldás.
Az meg hogy jajj, le mertem írni a balfasz szót? Úr isten, most mi lesz. Ha jól emlékszem, te mondtad már explict, hogy téged a vastagabb nyelvezet nem zavar, ha carcoltot igen, akkor keresek neki egy tükröt :) Én nem utálom a C fejlesztőket, csak az eredményen by and large látszik, hogy nem jó. Ha jó programozó kell, és nem lesz baj a memória kezeléssel (ugye te ezt mondod), akkor empirikus úton belátható, hogy a C fejlesztők igen jelentős része nem jó programozó.
- A hozzászóláshoz be kell jelentkezni
Én nem is mondtam, hogy automatikusan mindenre megoldás a rust, és attól minden tökéletes lesz. Azt a véleményemet meg továbbra is tartom, hogy a jobb eszköz tud összességében jobb eredményhez vezetni, meg azt is, hogy a "jobb programozók kellenek" egyszerűen nem lesz, szóval az nem megoldás.
De én nem is mondtam, hogy te ilyet mondtál volna. Azt sem vitattam, hogy egy jobb eszköz hozhat jobb eredményt, csak a "jobb" definíciója erősen kérdéses, mert kérdés, hogy miben és mire jobb? A jobb programozókra való igényt meg nem lehet azzal lesöpörni, hogy olyan nem lesz. Lehet képezni. Akinek nem megy, komoly hely közelébe nem engedni. Ez megoldás. Nem az, hogy az idiótát beengedjük az atomerőműbe és kap egy olyan műszerfalat, amin zéró gomb van, mert úgy nem tud belepiszkálni...ő meg majd részegen belepisál valamelyik szellőzőnyílásba, csinál egy jó kis zárlatot, aztán bumm. A saját érdekedben kéne megértened: a hülyék mindig sokkal hülyébbek, mint amilyen okosak az okosak.
Az meg hogy jajj, le mertem írni a balfasz szót? Úr isten, most mi lesz. Ha jól emlékszem, te mondtad már explict, hogy téged a vastagabb nyelvezet nem zavar, ha carcoltot igen, akkor keresek neki egy tükröt :)
Nem, engem nem zavar, hogy leírtad a balfasz szót. Én is leírtam. Az zavar, hogy általánosítasz és szavakat adsz a számba.
Én nem utálom a C fejlesztőket, csak az eredményen by and large látszik, hogy nem jó. Ha jó programozó kell, és nem lesz baj a memória kezeléssel (ugye te ezt mondod), akkor empirikus úton belátható, hogy a C fejlesztők igen jelentős része nem jó programozó.
echo 'a C fejlesztők igen jelentős része nem jó programozó.' | sed 's/C//'
FTFY. Ennek megfelelően nem lesz megoldás az, hogy rossz kódokat átírunk Rust-ba. Annak meg pláne semmi alja nincs, hogy működő, ismert biztonsági réssel nem bíró C kódokat írjunk át Rust-ba.
- A hozzászóláshoz be kell jelentkezni
Azt sem vitattam, hogy egy jobb eszköz hozhat jobb eredményt, csak a "jobb" definíciója erősen kérdéses, mert kérdés, hogy miben és mire jobb? ... Nem az, hogy az idiótát beengedjük az atomerőműbe és kap egy olyan műszerfalat, amin zéró gomb van, mert úgy nem tud belepiszkálni...ő meg majd részegen belepisál valamelyik szellőzőnyílásba, csinál egy jó kis zárlatot, aztán bumm. A saját érdekedben kéne megértened: a hülyék mindig sokkal hülyébbek, mint amilyen okosak az okosak.
Leírod, hogy nem vitatod, majd a a mondat második felében vitatod. :)
A jobb programozókra való igényt meg nem lehet azzal lesöpörni, hogy olyan nem lesz. Lehet képezni. Akinek nem megy, komoly hely közelébe nem engedni. Ez megoldás.
De ezt a megoldást régen próbáljuk csinálni, és nem megy. A Cben írt programok jelentős része továbbra is problémás memory safety szempontjából, akármilyen ügyesen is oktatunk (és oktatunk, egy csomó minden bele lett pakolva a rendszerbe, ami ezt támogatja, támogat az ipar mindenféle alapkutatásokat, eszközöket ad, nyafog, hogy legyen benne a tematikában, dolgozza ki a best practiceket, "fossá" fizetjük a kódereket egyéb fehérgalléros melókhoz képest, stb stb). Mindeközben az igény a szoftverre mind komplexitásában, mind volumenében folyamatosan nő. A megoldásod nem oldotta meg a problémát, a valóságban nem reális ez a balfaszokat nem kell odaengedni, és kész.
- A hozzászóláshoz be kell jelentkezni
Leírod, hogy nem vitatod, majd a a mondat második felében vitatod. :)
Nem. Ezt te magyarázod bele. Hozhat jobb eredményt, de nem szükségszerű. Nincs ellentmondás. A lentebbi kommentemben ki is fejtettem, hogy ha valaki jó programozó és jól tolja a Rust-ot, akkor igen, őt adott esetben meg fogja védeni egy hibától, amit C-ben elkövetett volna. Az idiótákat nem fogja megvédeni maguktól. Nincs ellentmondás, te magyarázod bele.
De ezt a megoldást régen próbáljuk csinálni, és nem megy.
Dehogy próbáljuk. A multiknak az az érdeke, hogy minél több legyen a hülye...
A Cben írt programok jelentős része továbbra is problémás memory safety szempontjából
Isoraz: statisztika. Ha majd Rust-ban lesznek a kódok, akkor majd a Rust-ban írt programok jelentős része lesz problémás memory safety szempontjából. Mert ugyanazok a balfaszok, akik C-ben fos kódot írtak, Rust-ban is csak gányolni tudnak majd.
"fossá" fizetjük a kódereket egyéb fehérgalléros melókhoz képest
Ne haragudj, de ezen most felröhögtem. (Nem, igazából komoran meredek magam elé...) Az utolsó melóhelyemen kevesebbet fizettek, mint ha elmentem volna az Aldiba dobozt pakolni. (Nem, ez komoly: nettó 232 vs. 240 kHUF/hó.) Pont ezért kellenek a balfaszok a multiknak, hogy letörjék a profik bérét.
Mindeközben az igény a szoftverre mind komplexitásában, mind volumenében folyamatosan nő.
Részben mesterségesen. A nagy cégek szándékosan túlbonyolítják a kódokat, a technológiákat (a szabad szoftveres világban is), hogy átláthatatlan és egy fő által karbantarthatatlan/fejleszthetetlen/lecserélhetetlen legyen, hogy kiüssék a kisembert a szoftverpiacról.
A megoldásod nem oldotta meg a problémát, a valóságban nem reális ez a balfaszokat nem kell odaengedni, és kész.
Miről beszélsz? Az "én megoldásomat" (megint ez a személyeskedés...) meg sem próbáltuk. Így könnyű ám a másik "megoldást" erőltetni, ha ezt lesöpritek azzal, hogy nem oldotta meg a problémát (sic! múltidőben!), miközben az ipar nemhogy nem pucolta ki a balfaszokat a kritikus helyekről, hanem egyre több helyre engedi be őket.
Mondom: ipari katasztrófa lesz ebből.
- A hozzászóláshoz be kell jelentkezni
Nem. Ezt te magyarázod bele. Hozhat jobb eredményt, de nem szükségszerű. Nincs ellentmondás. A lentebbi kommentemben ki is fejtettem, hogy ha valaki jó programozó és jól tolja a Rust-ot, akkor igen, őt adott esetben meg fogja védeni egy hibától, amit C-ben elkövetett volna. Az idiótákat nem fogja megvédeni maguktól. Nincs ellentmondás, te magyarázod bele.
Hát de te írod, hogy nem megoldás. Hogy értsem azt, hogy nem megoldás, mint úgy, hogy nem megoldás. És miért feltételezed, hogy a srácok, akik ezt csinálják, nem hg2ecz szinten tolják?
Dehogy próbáljuk. A multiknak az az érdeke, hogy minél több legyen a hülye...
Jaja, mer szeretne magának egy rakás foshalom szoftvert. Ráadásul nem a multik oktatnak, hát hol vannak itt a csodálatos egyetemek az autonómiájukkal?
Isoraz: statisztika. Ha majd Rust-ban lesznek a kódok, akkor majd a Rust-ban írt programok jelentős része lesz problémás memory safety szempontjából. Mert ugyanazok a balfaszok, akik C-ben fos kódot írtak, Rust-ban is csak gányolni tudnak majd.
Ha így lesz, akkor nem fogja az ipar magát azzal szopatni, hogy lasabban haladjon :)
Ne haragudj, de ezen most felröhögtem. (Nem, igazából komoran meredek magam elé...) Az utolsó melóhelyemen kevesebbet fizettek, mint ha elmentem volna az Aldiba dobozt pakolni. (Nem, ez komoly: nettó 232 vs. 240 kHUF/hó.)
Ha te nettó 232 ezer forintért kódolsz annyi évvel a hátad mögött, amennyi úgy érzésre van, akkor valami elbaszott kurva szar helyen dolgozol. C/C++ developer kategóriában a hays szerint a legeslegfosabb szám 650k a piacon. Granted, valószínűleg kicsit torz a merítésük, mert kevésbé látnak rá a józskapista kftre (ahol tippre ennek alatta van), meg az igazán busás cuccokra se (ezért szoktak itt nyekeregni, hogy annyiért fel se kelnek), de az még mindig alig több, mint a fele annak a 650-nek. Ami a minimum az önállóan életképtelen kategóriában, szó nincs semmi tapasztalatról. Sajnálom, hogy neked szar, de by and large ma egy ITst lényegesen jobban megfizetnek, mint igen-igen sok mást. (Ráadásul az Aldiban dobozpakolni, leltárazni, kasszázni, szopni-baszni-gombotvarrni kell egyszerre kicsit felső szegmenses ilyen szempontból)
Részben mesterségesen. A nagy cégek szándékosan túlbonyolítják a kódokat, a technológiákat (a szabad szoftveres világban is), hogy átláthatatlan és egy fő által karbantarthatatlan/fejleszthetetlen/lecserélhetetlen legyen, hogy kiüssék a kisembert a szoftverpiacról.
Jaja, részletkérdés, hogy mindent is gépekkel akar megcsináltatni mindenki, és próbáljuk valahogy lefedni az igényeket, a kisembert akarjuk kiütni, az a lényeg.
Miről beszélsz? Az "én megoldásomat" (megint ez a személyeskedés...)
Ne haragudj, de ez már nevetségesen kóros nálad. Hát te mondod azt, hogy oktatni kell, és jó lesz, veled beszélgetek, persze hogy azt fogom mondani, hogy a tied. Ráadásul hol támadja ez a te személyedet?
meg sem próbáltuk. Így könnyű ám a másik "megoldást" erőltetni, ha ezt lesöpritek azzal, hogy nem oldotta meg a problémát (sic! múltidőben!), miközben az ipar nemhogy nem pucolta ki a balfaszokat a kritikus helyekről, hanem egyre több helyre engedi be őket.
Dehogynem próbáltuk. Vagy ha nem próbáltuk, akkor ugyan miért nem? Hát elég rég van már C.
Ill segíts ki kérlek, mit kéne csinálni az iparnak? Elzavarná az a balfaszokat a kritikus helyekről, ha lenne helyette értelmes, (mert az neki se jó, hogy ilyen security izékkel kell baszódnia ahelyett, hogy az ügyfelei problémáit oldaná meg) de nincs. Mert nem esik ki (elég) ilyen az oktatásból, szóval kínálati piac van, egekbe vert árakkal, és komoly kockázatokkal. Szóval az ipar próbál megbízhatóbb eszközöket csinálni, hogy igazodjon ehhez. Igen, nyilván szeretne olcsó idiótákkal dolgoztatni, ez már csak ilyen. És ja, "élősködik" az opensourceon is, az is csak olyan.
- A hozzászóláshoz be kell jelentkezni
Hát de te írod, hogy nem megoldás. Hogy értsem azt, hogy nem megoldás, mint úgy, hogy nem megoldás.
A rossz kódra nem megoldás. A rossz kód Rustban is rossz kód lesz. Direkt értetlenkedsz?
És miért feltételezed, hogy a srácok, akik ezt csinálják, nem hg2ecz szinten tolják?
Mert mint kifejtettem, a fejlesztők többsége pocsék kódot ír, a nyelvtől függetlenül. Ez alól a Rust sem kivétel. Ennyi erővel megfordíthatnám, hogy te miért feltételezed, hogy a C fejlesztők nem az én szintemen, vagy még jobban tolják?
Jaja, mer szeretne magának egy rakás foshalom szoftvert.
A multiknak a minőség másodlagos. Legyen olcsó, amit jó drágán el lehet adni.
Ráadásul nem a multik oktatnak, hát hol vannak itt a csodálatos egyetemek az autonómiájukkal?
Sehol. Az egyetemek már rég nem autonómok, maximum papíron. Amúgy a nagy cégek zsebében vannak. Jártam fősulira, tudom mit beszélek: mikrofos kiképezde volt, nem más.
Ha így lesz, akkor nem fogja az ipar magát azzal szopatni, hogy lasabban haladjon :)
Nem fogja. unsafe
blokkba mindennel. Lőn ipari katasztrófa.
Ha te nettó 232 ezer forintért kódolsz annyi évvel a hátad mögött, amennyi úgy érzésre van, akkor valami elbaszott kurva szar helyen dolgozol.
Tény, lévén önkormányzat volt. Bár már nem dolgozom ott.
C/C++ developer kategóriában
Ez PHP taknyológia volt. A zsíros állások tulajai szóba sem állnak velem.
Ráadásul az Aldiban dobozpakolni, leltárazni, kasszázni, szopni-baszni-gombotvarrni kell egyszerre kicsit felső szegmenses ilyen szempontból
Lehet, de ezeket képzettség nélkül is lehet, míg programozni nem. Nem papírról beszélek, az is jó, ha internetről tanulja meg, de ha nem tud kódot írni, nem fog kódot írni. Egy doboz odébbrekásához, vagy leltárazáshoz, stb. azért nem kellenek kóderi kvalitások.
Jaja, részletkérdés, hogy mindent is gépekkel akar megcsináltatni mindenki, és próbáljuk valahogy lefedni az igényeket, a kisembert akarjuk kiütni, az a lényeg.
Mondom, hogy részben mesterséges. Igen, van igény is rá, de ettől még a multik próbálják kitúrni a kicsiket a versenyből. Ne hidd el, ha nem akarod.
Ne haragudj, de ez már nevetségesen kóros nálad. Hát te mondod azt, hogy oktatni kell, és jó lesz, veled beszélgetek, persze hogy azt fogom mondani, hogy a tied. Ráadásul hol támadja ez a te személyedet?
Ez nem az én megoldásom. Ezt nem én találtam ki. Ezt sokan mondják. Ha te ezek után rámosztod, hogy az "én megoldásom nem működik", úgy, hogy nem is az enyém a megoldás (meg egyébként meg sem próbáltuk), az mi, ha nem személyeskedés?
Dehogynem próbáltuk. Vagy ha nem próbáltuk, akkor ugyan miért nem? Hát elég rég van már C.
Dehogy próbáltuk. Éppen az megy, hogy egyre több ember kell, mindegy honnan, majd lelimitáljuk őket, hogy ne tudjanak kárt okozni, csak az a baj, hogy ezzel mindenkit is lelimitálnak, viszont a hülyéket nem tudják megakadályozni abban, hogy kárt csináljanak.
Elzavarná az a balfaszokat a kritikus helyekről, ha lenne helyette értelmes, (mert az neki se jó, hogy ilyen security izékkel kell baszódnia ahelyett, hogy az ügyfelei problémáit oldaná meg) de nincs.
Nincs helyette értelmes... Köszönöm. Tehát engem azért nem alkalmaznak valamelyik balfasz helyett, mert nem vagyok értelmes. Oké. Egyre jobb vagy. :)
Van értelmes ember, csak nem veszik fel őket a multik, mert a) sokat kér, b) szembe mer szállni a managementtel és meg meri mondani nekik, hogy hülyék, c) nem tetszik a HR-es kislánynak a képe, d) nincs diplomája. (Ebből az a) nem igaz rám, a többi igen.)
Mert nem esik ki (elég) ilyen az oktatásból, szóval kínálati piac van, egekbe vert árakkal, és komoly kockázatokkal.
Az egyetemek - részben köszönhetően a fenti ténynek, miszerint a nagy cégek zsebében vannak - elsöprő többségben sajnos balfaszokat termelnek ki. (Nem csak IT-téren.) Tisztelet a kivételnek.
Szóval az ipar próbál megbízhatóbb eszközöket csinálni, hogy igazodjon ehhez.
Tehát kreáltak egy problémát, majd arra egy rossz megoldást? (Nem, nem a Rust-ról van szó, hanem a hülyebiztosság erőltetéséről, en-bloc.)
Igen, nyilván szeretne olcsó idiótákkal dolgoztatni, ez már csak ilyen. És ja, "élősködik" az opensourceon is, az is csak olyan.
Miért, talán nem?
- A hozzászóláshoz be kell jelentkezni
Tudod mit, megpróbálom megint, lapozzunk már, mert megint belelovalod magad valami ostoba sértettségbe, megint kiderült, hogy teljesen más a világképünk, lapozzunk.
(A PHP alja is ugyanannyi, később kicsit jobbak a számok ;) )
- A hozzászóláshoz be kell jelentkezni
Tudod mit, megpróbálom megint, lapozzunk már, mert megint belelovalod magad valami ostoba sértettségbe
Most már ostoba is vagyok. Élvezet veled "vitatkozni", komolyan. :)
megint kiderült, hogy teljesen más a világképünk
Az eddig is egyértelmű volt. De ettől még lehetne úgy vitatkozni, hogy ha elfogynak az érvek, akkor nem kezded el a másikat támadni az érvei helyett.
lapozzunk
Rust-ban sajnos nem lehet lapozni, mert védett a memória. :(
(A PHP alja is ugyanannyi, később kicsit jobbak a számok ;) )
Magyarországon is?
- A hozzászóláshoz be kell jelentkezni
Most már ostoba is vagyok. Élvezet veled "vitatkozni", komolyan. :)
Igen, mikor már ott tartunk, hogy személyeskedés, hogy egy veled folytatott beszélgetésben azt a blaszfémiát merem elkövetni, hogy azt merem mondani a te általad propagált megoldásra, hogy a te megoldásod, az ostoba sértettség.*
Az eddig is egyértelmű volt. De ettől még lehetne úgy vitatkozni, hogy ha elfogynak az érvek, akkor nem kezded el a másikat támadni az érvei helyett.
Nem kezdtelek el támadni. A tipikus minta, amit játszunk, hogy az ember szeretné befejezni, mert látszik, hogy nem fogunk sose egyetérteni, vagy nem arról beszélsz, amiről én, akkor valahogy oda jutunk, hogy én állítólag személyeskedek, aztán mikor ezekre reagálok, akkor jön az, hogy nem a szakmáról beszélgetünk. Az tény, hogy kínomban szarkasztikus szoktam lenni, mert fogalmam sincs, hogy kell veled úgy lezárni egy szálat, hogy ne legyek már megint fekete seggű, mert gonosz voltam veled, és személyedben támadtalak, ez az én nyomorom (is), ja.
Magyarországon is?
Jep, ezek a friss magyarországi számok. Friss hays salary guide, egy emailért böngészheted, ha nincs kedved adni, akkor pl a hwsw cikkben van táblázat. Az egész hóbelevanc fejlesztői melók abszolút legkisebb száma a 600k brutto, junior UXesnek meg kézi tesztelőnek, és azok is a minimumok. Átlag nincs 700 alatt, az épp a duplája az általad mondott számnak. Medior szinten (megkockáztatom, hogy ebbe a kalapba kb bármelyik cégnél gond nélkül bele kellene férned) a php alja 950.
* Igen, ez itt az, lehet megsértődni.
- A hozzászóláshoz be kell jelentkezni
Igen, mikor már ott tartunk, hogy személyeskedés, hogy egy veled folytatott beszélgetésben azt a blaszfémiát merem elkövetni, hogy azt merem mondani a te általad propagált megoldásra, hogy a te megoldásod, az ostoba sértettség.*
Pontosítsunk: te nekem tituláltál egy szerinted nem működő megoldást, amit egyébként ki sem próbáltunk, csak azért, hogy kihozhass belőle valamit a személyem ellen. Vagy legalábbis nagyon így nézett ki, de tekintve, hogy a veled való viták 99%-a hasonló módon zajlik, így ne csodálkozz, ha most pont nem volt mögöttes célzás, én meg annak vettem... Ehhez járul még hozzá az is, hogy vetítéssel, ill. fröcsögésel, ill. a Rust szarozásával vádoltál meg alaptalanul; talán azokat is csak behaluztam, amikor szó szerint ezeket írtad? Tudod: tapasztalatok. Mindenki a tapasztalataiból indul ki. Én is a veled való tapasztalataimból indulok ki.
vagy nem arról beszélsz, amiről én
Már bocsánat, de fordítva ülsz a lovon. Te szóltál hozzám és kezdtél el valami teljesen más ellen érvelni, mint amiről én beszéltem... Én elmondtam, hogy a Rust-hívők C elleni jihadja az, ami bassza a csőröm, nem a Rust maga. Te erre elkezdtél érvelni a Rust feature-jei és előnyei mellett, amit én egyszer sem tagadtam, csak annyit mondtam, hogy hülyeség ellen nincs tökéletes védelem...te pedig ebből azt hoztad ki (nagyon rosszindulatúan, a szavaimat kiforgatva, pontatlanul idézve, szavakat a számba adva), hogy szerintem a Rust fos és tilcsukbe. Nem. Nem mondtam ilyet. Még távolról sem.
Jep, ezek a friss magyarországi számok. Friss hays salary guide, egy emailért böngészheted, ha nincs kedved adni, akkor pl a hwsw cikkben van táblázat. Az egész hóbelevanc fejlesztői melók abszolút legkisebb száma a 600k brutto, junior UXesnek meg kézi tesztelőnek, és azok is a minimumok. Átlag nincs 700 alatt, az épp a duplája az általad mondott számnak. Medior szinten (megkockáztatom, hogy ebbe a kalapba kb bármelyik cégnél gond nélkül bele kellene férned) a php alja 950.
Fura. Mármint, hogy akkor engem basznak át mindig, azt még érteném, de a haverjaim se keresnek ennyit. Pl. két haverom junior pythonos most és nettó 400k körül keresnek. Pedig multinak dolgoznak.
- A hozzászóláshoz be kell jelentkezni
>> fejlesztői melók abszolút legkisebb száma a 600k brutto
> junior pythonos most és nettó 400k körül keresnek
Akkor viszont kiadja a matek, kedvezmények nélkül 600k bruttó ~= 400k nettó. A Hays egyébként picit túlbecsüli az átlagot (azért nem nagyságrendekkel), mert eleve szűri az inputot az, hogy a legfilléresebb cégek nem dolgoznak a Hays-szel.
- A hozzászóláshoz be kell jelentkezni
Akkor csak engem fizetnek mindig alul.
- A hozzászóláshoz be kell jelentkezni
Pontosítsunk: te nekem tituláltál egy szerinted nem működő megoldást, amit egyébként ki sem próbáltunk, csak azért, hogy kihozhass belőle valamit a személyem ellen
Ebben csak a) abban nem értünk egyet, hogy ki se próbáltuk. b) hogy én bármit ki akarnék hozni a személyed ellen ebből utána. A véleményeddel nem értek egyet. Te ezeket folyamatosan, visszatérően a személyed elleni támadásnak éled meg, és belefeszülsz, miközben elvileg nincs vele bajod, de például a vetítés szót se érted, egyszerűen annyit jelent, hogy te azt a következtetést/véleményt vonod le belőle (nem pedig tényt).
Vagy legalábbis nagyon így nézett ki, de tekintve, hogy a veled való viták 99%-a hasonló módon zajlik, így ne csodálkozz, ha most pont nem volt mögöttes célzás, én meg annak vettem..
A velem való viták 99%-a valóban hasonló módon zajlik. Megbélyegzel személyeskedésnek dolgokat, amik nem azok, majd a következőben újra belespirálozod magad, mert én ezt csinálom.
Már bocsánat, de fordítva ülsz a lovon. Te szóltál hozzám és kezdtél el valami teljesen más ellen érvelni, mint amiről én beszéltem...
Igen, ez egy fórum, igen én szóltam hozzád. És igen, valószínűleg elbeszéltünk egymás mellett, mert én máshol éreztem a hangsúlyokat a mondandódban, mint ahova te tetted, és mert igen, következtetéseket vontam le belőle, elnézésedet kérem.
te pedig ebből azt hoztad ki (nagyon rosszindulatúan, a szavaimat kiforgatva, pontatlanul idézve, szavakat a számba adva)
Nem, ebben továbbra se volt rosszindulat, én valóban azokat a következeteseket vontam le belőle. Az meg egyébként kifejezetten irritáló, hogy én folyamatosan szó szerint idézzek, mert különben rosszindulatú vagyok, te meg megengedheted magadnak, hogy én lehülyéztelek, mert azt szokták mondani...
Szóval tényleg, engedjük el ezt kérlek. Igazad van, nem attól szar, hogy cben van, és ha szarul irják át rustra, akkor nem segít rajta.
Fura. Mármint, hogy akkor engem basznak át mindig, azt még érteném, de a haverjaim se keresnek ennyit. Pl. két haverom junior pythonos most és nettó 400k körül keresnek. Pedig multinak dolgoznak.
A 400k nettó az kb a 600k bruttó, nagyjából a helyén van. Önkorminak szerintem a közelébe ne menj, az fertő és nettó önszopatás. Az esetleg segít, ha nem közlöd rögtön a managementtel mindjárt az interjú elején hogy hülyék :) Meg érdemes megpróbálni kibírni kvázi normális fejjel annyit, hogy be baszd fel a HRes kislányt. Szimpinek nem kell lenni, neki kb az összes kocka furcsa csodabogár, és mivel egyébként is nehéz jól halászni, ezen nem nagyon fogsz fennakadni, kifejezetten el kell érned a "jézus ez a faszi pszihopata/kezelhetetlen" benyomást, hogy emiatt ne menjen tovább a cv-d.
- A hozzászóláshoz be kell jelentkezni
Ebben csak a) abban nem értünk egyet, hogy ki se próbáltuk. b) hogy én bármit ki akarnék hozni a személyed ellen ebből utána.
A b) lehet, hogy tévedés volt, de magadnak köszönheted...ld. a poszt további részeit. Viszont hol próbáltuk ki? Hol volt itt az elmúlt 15 évben akár csak kísérlet arra, hogy az informatikából kiszórjuk a hülyéket? Mert nekem az volt a tapasztalatom, hogy csak még többet öntöttünk bele...
A véleményeddel nem értek egyet.
vs.
És igen, valószínűleg elbeszéltünk egymás mellett, mert én máshol éreztem a hangsúlyokat a mondandódban, mint ahova te tetted, és mert igen, következtetéseket vontam le belőle, elnézésedet kérem.
vs.
Igazad van, nem attól szar, hogy cben van, és ha szarul irják át rustra, akkor nem segít rajta.
Tehát te nem az én véleményemmel nem értettél egyet, hanem azzal, amit a véleményemnek hittél. Mint kiderült, a véleményemmel nagyon is egyetértesz.
Te ezeket folyamatosan, visszatérően a személyed elleni támadásnak éled meg, és belefeszülsz, miközben elvileg nincs vele bajod, de például a vetítés szót se érted, egyszerűen annyit jelent, hogy te azt a következtetést/véleményt vonod le belőle (nem pedig tényt).
Miért ne érteném a vetítés szót? Azt mondtad, hogy csak a saját gondolataimat vetítem ki a valóságra. Aztán most kiderült, hogy nem, csak nem értetted, hogy mit mondok. Hát van ez így. Ami meg a személyem elleni támadást illeti, ha azt állítod, hogy fröcsögök, az a személyem elleni támadás. Ha szavakat adsz a számba (pl. szar a Rust), hogy aztán kiforgathasd, amit nem is mondtam és kikarikírozhass egy nem is létező TCH-t, az is a személyem elleni támadás.
A velem való viták 99%-a valóban hasonló módon zajlik. Megbélyegzel személyeskedésnek dolgokat, amik nem azok, majd a következőben újra belespirálozod magad, mert én ezt csinálom.
Ööö...nem. Ld. előző bekezdés. A veled való viták 99%-a úgy zajlik, hogy vagy nem értesz egyet, vagy - mint most is - nem érted, hogy mit mondok és amikor elfogynak az érvek, marad a "fröcsögést kiáltás" és hasonlók.
Igen, ez egy fórum, igen én szóltam hozzád. És igen, valószínűleg elbeszéltünk egymás mellett, mert én máshol éreztem a hangsúlyokat a mondandódban, mint ahova te tetted, és mert igen, következtetéseket vontam le belőle, elnézésedet kérem.
Spongyát rá. Te legalább tudol bocsánatot kérni. Ez itten nagy szónak számít.
Nem, ebben továbbra se volt rosszindulat, én valóban azokat a következeteseket vontam le belőle. Az meg egyébként kifejezetten irritáló, hogy én folyamatosan szó szerint idézzek, mert különben rosszindulatú vagyok
Nem egyszerűen pontatlan idézet. Nem a szó szerinti idézés hiányáról beszélünk. Ha kihagysz egy-két kötőszót, vagy akármit, vagy más szavakkal, de azt írod le máshogy, amit én írtam, akkor egy szavam sincs, hogy nem pontos az idézet. De akkor, amikor olyanokat szúrsz be oda, amitől megváltozik az eredeti jelentés, ráadásul nem semleges, hanem kifejezetten káros módon, az nem egyszerűen pontatlan idézet. Az szavaknak a számba adása.
te meg megengedheted magadnak, hogy én lehülyéztelek, mert azt szokták mondani...
Látod? Erről beszélek. Nem azt mondtam, hogy lehülyéztél, mert azt szokták mondani, hanem, hogy azt sugalltad, hogy hülye vagyok, mert legyinteni a hülyékre szokás. Hogy most nem ezért legyintettél? Hát magadnak köszönheted, ld. a posztom eddigi összefoglalóit.
Szóval tényleg, engedjük el ezt kérlek. Igazad van, nem attól szar, hogy cben van, és ha szarul irják át rustra, akkor nem segít rajta.
Szóval akkor három nap felesleges szócséplés után szakmailag konszenzusra jutottunk, mert kiderült, hogy csak nem értetted, hogy mit mondok. OK. Részemről zárhatjuk a szakmai szálat. A többit mi gátolja meg, hogy elengedd, ha ennyire el akarod?
Önkorminak szerintem a közelébe ne menj, az fertő és nettó önszopatás.
Az. De ha nincs mit enni?
Az esetleg segít, ha nem közlöd rögtön a managementtel mindjárt az interjú elején hogy hülyék :)
Na tessék... Oké, most azt fogom feltételezni, hogy megint nem értetted, amit mondtam, vagy megint másik mozit néztél (ahogy te fogalmaztál magadról a minap egy másik csörténk közben) és nem direkt forgattad ki amit mondtam, hogy meg merem mondani a managementnek, hogy hülyék, arra, hogy ezt mindjárt az állásinterjún, ok nélkül. :P Ilyet nem csinálok. Akkor hülyézem le őket, ha hülyeséget csinálnak, nem azzal nyitok, hogy csá, ti hülyék vagytok. Ha ilyet csinálnék, akkor én lennék a hülye.
Meg érdemes megpróbálni kibírni kvázi normális fejjel annyit, hogy be baszd fel a HRes kislányt.
Ahhoz normális fej kéne... :(
Szimpinek nem kell lenni, neki kb az összes kocka furcsa csodabogár, és mivel egyébként is nehéz jól halászni, ezen nem nagyon fogsz fennakadni, kifejezetten el kell érned a "jézus ez a faszi pszihopata/kezelhetetlen" benyomást, hogy emiatt ne menjen tovább a cv-d.
Hát ehhez én nem értek. De van egy pszichológus barátom, ő egyszer elmagyarázta, hogy a HR-es csajok úgy működnek, hogy rámnéz és ha úgy gondolja, hogy én jó partner lennék neki, akkor nyert ügyem van, ha nem, akkor kuka az önéletrajzom. Szóval pofa alapján válogatnak. Úgyhogy jóideje már fénykép nélküli CV-ket küldözgetek...
- A hozzászóláshoz be kell jelentkezni
Tényleg elengedném, de:
Látod? Erről beszélek. Nem azt mondtam, hogy lehülyéztél, mert azt szokták mondani, hanem, hogy azt sugalltad, hogy hülye vagyok, mert legyinteni a hülyékre szokás. Hogy most nem ezért legyintettél? Hát magadnak köszönheted, ld. a posztom eddigi összefoglalóit.
Igen, mikor azt mondod, hogy az sugalltam hogy hülye vagy, az azt jelenti, hogy lehülyéztelek. És lovagolsz azon, hogy nem, mert te csak azt mondtad, hogy sugallom... eh.
Az. De ha nincs mit enni?
Nem ismerem a körülményeidet nyilván, ha nincs mit tenni nincs mit tenni, de azért a post covid ITban elég sok lehetőség van, hogy valamilyen röghöz kötöttség ellenére is lehessen az embernek kb normális munkája. ~230k forintot szerintem egy pár pluginnel megtolt wordpress el tudsz kérni, tapasztalt php devként abból egy hónap alatt össze lehet rakni párat. De azért ma már a full remote melók sincsenek azért annyira fehér holló számban, akár itthon se, olyanok meg, ahol belefér, hogy mondjuk két hetente kell bent lenni 1-2 napot, hát... kb a nagy része.
Na tessék... Oké, most azt fogom feltételezni, hogy megint nem értetted, amit mondtam, vagy megint másik mozit néztél (ahogy te fogalmaztál magadról a minap egy másik csörténk közben) és nem direkt forgattad ki amit mondtam, hogy meg merem mondani a managementnek, hogy hülyék, arra, hogy ezt mindjárt az állásinterjún, ok nélkül. :P Ilyet nem csinálok. Akkor hülyézem le őket, ha hülyeséget csinálnak, nem azzal nyitok, hogy csá, ti hülyék vagytok. Ha ilyet csinálnék, akkor én lennék a hülye.
Egyrészt kérlek vedd észre a szmájlit. Másrészt az mondat konkrétan arra vonatkozott, hogy téged (értelmes embert) azért nem vesznek fel a multik, mert a) ... d) és ebből a b pont volt amit idéztem. Na most, ha ezért nem vesznek fel, az nem nagyon tud máskor probléma lenni, mint egy állásinterjún, hiszen nem vettek fel. (Esetleg még lehet, hogy valaki referálta rólad ezt az infót). De nyilván kiderül mindjárt, hogy megint teljesen félreértettem a szavaid :) Imho multihoz nagyrészt a következők miatt nem kerülnek be emberek:
- Diploma hiánya (ez változó, és főleg önmagában biztosan nem azonnali diszkvalifikáció általában)
- Nem ugorják meg a szükséges angol nyelv tudást (olyat, aki olvasni se tud, azt fejlesztőnek szerintem kb sehova, de az írásbeli komm. készség is kell szinte mindenhol, és a legtöbb helyen szeretik, ha be tudsz ülni egy meetingre produktívan)
- Trágyafos a CV (nincsenek benne releváns dolgok, hányás a formázás)
- Szakmai tudás bajok (ezek teljesen változatosak, hogy melyik mennyit számít, cégtől, csapattól, leadtől, szinttől függően):
- Láthatólag kurvára nem tud programozni
- A konkrét eszközök ismeretének hiánya
- Nagy marhaságokat mond alapvetésekről, vagy nagyon lukasnak tűnnek az alapismeretek
- Fingja nincs az agilishez és/vagy nekiáll fröcsögni, hogy az mekkora szar
- Nem hajlandó problémát megoldani és gondolkozni
- Sokkal okosabbnak adja elő magát mint amilyennek tűnik
- Valamely tipikus hitvitás kérdésben az interjúztatóéval (vagy a konkrét céges gyakorlattal) ellentétes, sarkos hitvallást tesz
- Emberileg kifejezetten nehezen kezelhetőnek tűnik (bunkó, kompromisszumképtelen, nagyon szar vele kommunikálni fasz se tudja milyen borderline pszihózis érzése)
Ahhoz normális fej kéne... :(
Az szinte biztosan van.
Hát ehhez én nem értek. De van egy pszichológus barátom, ő egyszer elmagyarázta, hogy a HR-es csajok úgy működnek, hogy rámnéz és ha úgy gondolja, hogy én jó partner lennék neki, akkor nyert ügyem van, ha nem, akkor kuka az önéletrajzom. Szóval pofa alapján válogatnak. Úgyhogy jóideje már fénykép nélküli CV-ket küldözgetek...
Van igazság abban, amit a pszihológus barátod mondd, de a valóságban ennél sokkal tompább az ügy. A HRes csajok nem alapvető döntéshozók, ezért ha nem teljesen kuka az önéletrajzod (benne van, ami a regexhez kell neki), akkor a mai helyzetben szinte biztosan el fog jutni egy releváns asztalig (Line manager / team lead / interjúztató architect), nincs akkora luxus, hogy kiszórjuk, aki nem tetszik HR Micinek. Ha meg valamelyik recruiter cég, akkor bárhova meg fogja próbálni betolni a cv-det, ahova egy kicsit is eladhatónak tart, teljesen mindegy, hogy egy bottal se piszkálna meg.
- A hozzászóláshoz be kell jelentkezni
Igen, mikor azt mondod, hogy az sugalltam hogy hülye vagy, az azt jelenti, hogy lehülyéztelek. És lovagolsz azon, hogy nem, mert te csak azt mondtad, hogy sugallom... eh.
Te nem akarod elengedni. Én már több körrel ezelőtt mondtam, hogy ha most nem azért volt, hát nem azért volt, csak tudod a tapasztalatok...
~230k forintot szerintem egy pár pluginnel megtolt wordpress el tudsz kérni, tapasztalt php devként abból egy hónap alatt össze lehet rakni párat.
Röhögni fogsz, de egy (sitebuilder) barátommal most pont ezt a csapásirányt fogjuk megpróbálni, csak ugye össze kell raknunk az alapkörnyezetünket, hogy ne kelljen mindig ugyanazzal szopni. Egyébként a WP-t sajnos nem lehet normális munkának minősíteni; eddig nem ismertem, de most asszem már nyugodtan mondhatom, hogy ritka nagy szar.
De azért ma már a full remote melók sincsenek azért annyira fehér holló számban, akár itthon se, olyanok meg, ahol belefér, hogy mondjuk két hetente kell bent lenni 1-2 napot, hát... kb a nagy része.
Annyira le vagyok rokkanva, hogy csak 100% HO jöhet szóba. Viszont amikor ezt valamelyik recruiter/HR-es meghallja (csak a 100% HO-t, azt sose mondom, hogy beteg vagyok), akkor már kukásítottak is. Amelyik meg nem, ott meg mindig olyat kérnek - persze senior szinten - amit pont nem ismerek. (Ha junior szinten kérnék, talán még be is vállalnám, hogy majd megtanulom on the fly.)
Egyrészt kérlek vedd észre a szmájlit.
Észrevettem. Vedd észre te is, mert az enyémben is volt.
Másrészt az mondat konkrétan arra vonatkozott, hogy téged (értelmes embert) azért nem vesznek fel a multik, mert a) ... d) és ebből a b pont volt amit idéztem. Na most, ha ezért nem vesznek fel, az nem nagyon tud máskor probléma lenni, mint egy állásinterjún, hiszen nem vettek fel. (Esetleg még lehet, hogy valaki referálta rólad ezt az infót). De nyilván kiderül mindjárt, hogy megint teljesen félreértettem a szavaid :)
Nem, ezúttal nekem kell elnézést kérnem, mert ez tényleg egy logikus következtetés volt, ami nekem nem jutott eszembe. Sorry. Tudod, a tapasztalatok... De nem, nem szoktam az állásinterjún lehülyézni őket. De a kiállásból, a stílusból valószínűleg rögtön levágják, hogy "ez nem fog szarozni". Aztán ez van akinek bejön, van akinek nem. Volt olyan főnököm, aki pszichológust akart játszani, elvitt ebédelni a mekibe (!), majd azt mondta, hogy "Trécéhá*, indokold meg nekem, hogy miért kéne, hogy alkalmazzalak." (Ekkor már az alkalmazottja voltam.) Azt mondtam neki, "Főnök*, nem kell, rúgjál ki nyugodtan." Köpni-nyelni nem tudott. De nem rúgott ki.
* Néhány nevet az ártatlanság védelmében megváltoztattunk. - Sz*rk.
Diploma hiánya (ez változó, és főleg önmagában biztosan nem azonnali diszkvalifikáció általában)
Nekem sajnos ez fennáll. Matekból megvágtak és az a szent grál. Ja, hogy Assemblyből egyedül nekem merték odaadni a tantervből kivett féléves vizsgafeladatot (mindenki MacBook-ott rajta), amit a határidő helyett már másnap (harmadnap?) beadtam? Hogy Digitális Technikából a vizsgán külön kellett engem ültetni és külön feladatot adni, hogy ne tudjanak rólam puskázni? A tanár ezen röhögött, hogy mindezt úgy, hogy én be se jártam... Én léptetőregisztereket terveztem, amíg ők egyszerű kapukkal bíbelődtek. De a matek a szent grál. Nem sikerült a fejembe verni az integrálást, meg a többi a tököm tudja mi mindent, amire rohadtul nem volt se előtte, se utána szükségem? Cumi. Nem leszel mérnök kisköcsög. De talán jobb is, mert egy mikrofosképző volt az egész. Gyuszkkal egyébként ugyanazt a fősulit tapostuk, ő is megerősítheti, hogy matek volt ötezerféle (álcázva, pl. Elméleti Villamosságtannak), meg májkroszoft, meg elavult marhaságok...
Sajnos a saját bőrömön tanultam meg, hogy egyetemen csak diplomát osztanak, észt nem. (Meg lett sem, meg litván sem, hehe.) Ez persze nem jelenti azt, hogy aki elvégezte, az automatikusan hülye, de azt se, hogy automatikusan jó szakember lesz. Elengedhetnék a multik ezt a kérdést.
Nem ugorják meg a szükséges angol nyelv tudást (olyat, aki olvasni se tud, azt fejlesztőnek szerintem kb sehova, de az írásbeli komm. készség is kell szinte mindenhol, és a legtöbb helyen szeretik, ha be tudsz ülni egy meetingre produktívan)
Ezzel nincs baj, bár a kiejtésem olyan, amilyen. (Ez eufemisztikusan azt jelenti, hogy szar. De azért érthető. A folyékony beszéd szóban/írásban megvan, felsőfokon, bár csak középfokúm van belőle hivatalosan. Csak nyelvtani kérdést ne tegyenek fel, mert még a magyar nyelvtanról is csak homályos emlékeim vannak, nemhogy az angolról; egyszerűen tudom használni mindkét nyelvet magasfokon, anélkül, hogy az odavágó nyelvtani szabályokat pontosan ismerném.)
Trágyafos a CV (nincsenek benne releváns dolgok, hányás a formázás)
Ezt nem tudom. Könnyen lehet. De képtelenség eldönteni. Nemrég egy haverom (az egyik junior Pythonos) odaadta a HR-esüknek. Visszajönni az jött vissza, hogy a HR-es felháborodott (!), hogy ez a CV őt hülyének nézi, mert olyan szájbarágósan tolja bele az arcába, hogy milyen nyelveket/oprendszereket ismerek, mert azt feltételezi, hogy a HR-es el se fogja olvasni a CV-t. És most kapaszkodj meg: ezek után ki akart belőle vetetni egy olyan szöveget, ami nem is szerepelt benne, meg belerakatni egy olyan infót, ami már benne volt! (A konkrét végzettségemet konkrétan; még az OKJ-s FEOR számot is megadtam.) Magyarul nem olvasta el, csak leszarozta.
Én mosom kezeimet.
Szakmai tudás bajok
Ennek a megítélését rád bízom...
Emberileg kifejezetten nehezen kezelhetőnek tűnik (bunkó, kompromisszumképtelen, nagyon szar vele kommunikálni fasz se tudja milyen borderline pszihózis érzése)
Nem mondom, hogy könnyű eset vagyok, de bunkó és kompromisszumképtelen azért nem. Még csak nehezen kezelhetőnek sem mondanám magam; a véleményemet mindig megvédem, hacsak nem cáfolják egyértelműen, de ettől eltekintve annyi is elég a könnyű kezelhetőséghez, ha egyszerűen emberszámba vesznek. Na, ez nem szokott meglenni HR részről. Tudod: nem ember, csak emberi erőforrás.
Az szinte biztosan van.
Ne úgy értsd, hogy torz vagyok, vagy ilyesmi. Valami az arcomra van írva. Az említett Pythonos haverom szerint úgy nézek ki, mint egy elmebeteg pszichopata sorozatgyilkos. :P
Van igazság abban, amit a pszihológus barátod mondd, de a valóságban ennél sokkal tompább az ügy. A HRes csajok nem alapvető döntéshozók, ezért ha nem teljesen kuka az önéletrajzod (benne van, ami a regexhez kell neki), akkor a mai helyzetben szinte biztosan el fog jutni egy releváns asztalig (Line manager / team lead / interjúztató architect), nincs akkora luxus, hogy kiszórjuk, aki nem tetszik HR Micinek. Ha meg valamelyik recruiter cég, akkor bárhova meg fogja próbálni betolni a cv-det, ahova egy kicsit is eladhatónak tart, teljesen mindegy, hogy egy bottal se piszkálna meg.
Hát, ehhez nem értek. De valahogy mindenhonnan elhajtanak, akármennyire nincs is luxus.
- A hozzászóláshoz be kell jelentkezni
Nekem sajnos ez fennáll. Matekból megvágtak és az a szent grál. Ja, hogy Assemblyből egyedül nekem merték odaadni a tantervből kivett féléves vizsgafeladatot (mindenki MacBook-ott rajta), amit a határidő helyett már másnap (harmadnap?) beadtam? Hogy Digitális Technikából a vizsgán külön kellett engem ültetni és külön feladatot adni, hogy ne tudjanak rólam puskázni? A tanár ezen röhögött, hogy mindezt úgy, hogy én be se jártam... Én léptetőregisztereket terveztem, amíg ők egyszerű kapukkal bíbelődtek. De a matek a szent grál. Nem sikerült a fejembe verni az integrálást, meg a többi a tököm tudja mi mindent, amire rohadtul nem volt se előtte, se utána szükségem? Cumi. Nem leszel mérnök kisköcsög. De talán jobb is, mert egy mikrofosképző volt az egész. Gyuszkkal egyébként ugyanazt a fősulit tapostuk, ő is megerősítheti, hogy matek volt ötezerféle (álcázva, pl. Elméleti Villamosságtannak), meg májkroszoft, meg elavult marhaságok...
Sajnos a saját bőrömön tanultam meg, hogy egyetemen csak diplomát osztanak, észt nem. (Meg lett sem, meg litván sem, hehe.) Ez persze nem jelenti azt, hogy aki elvégezte, az automatikusan hülye, de azt se, hogy automatikusan jó szakember lesz. Elengedhetnék a multik ezt a kérdést.
Ja, én is megküzdöttem vele. Megvagyok nélküle többnyire, viszont annyira képben vagyok a "mi is volt ottal", hogy ha kell, akkor elő tudok húzni egy kollégát, aki érti a matekot. Nekem az a tapasztalatom, hogy ezért szoktuk szeretni a diplomát: mert tudjuk, hogy emberünk kapott egy kissé szélesebb látókört, szóval van fogalma róla. Látott rendszerbe szervezett anyagokat, és nagyobb eséllyel tud így nézni problémákra. Természetesen nem garancia, de a tapasztalat azt mutatja, hogy pl egy junior környéki java fejlesztő aspiráns egyetemmel a háta mögött tud valamit makogni arról, hogy kb hogyan működik a GC. Általában kicsit vadregényes (én többet szoktam róla tudni, pedig én javat utoljára a fősulin írtam), de legalább van valami, és lehet róla beszélni vele. Akinek nincs ilyenje, annak meg még annyi fingja sem szokott lenni, és ami rosszabb, igénye se nagyon, hogy gondolkodjon rajta. (A C-sek egyébként közelebb szoktak lenni az ilyesmihez, mert ott jobban muszáj). Ugyanez máshol pl a (szerinte) senior python fejlesztő, évek django tapasztalatával, aki megsértődik azon, hogy az ember megkéri, hogy ugyan már meséljen valamit arról, hogy hogyan néz ki egy HTTP üzenet. Szóval egyáltalán nem garancia, de a diplomástól összességében kevésbé félek, hogy mikor jutunk olyan helyre, hogy fingja nem lesz még a szavakról se, amit mondok neki, és képessége se, hogy átrágja magát rajta valahogy. Ez pedig egy bizonyos szint után (és egy bizonyos méret alatt) nagyon fog fájni. Szóval amíg az ember talál értelmest diplomával, azt fogja preferálni (vagy nem, de akkor mehetsz kulizni, onnan kell kimászni érdemekkel)
Ezzel nincs baj, bár a kiejtésem olyan, amilyen. (Ez eufemisztikusan azt jelenti, hogy szar. De azért érthető. A folyékony beszéd szóban/írásban megvan, felsőfokon, bár csak középfokúm van belőle hivatalosan. Csak nyelvtani kérdést ne tegyenek fel, mert még a magyar nyelvtanról is csak homályos emlékeim vannak, nemhogy az angolról; egyszerűen tudom használni mindkét nyelvet magasfokon, anélkül, hogy az odavágó nyelvtani szabályokat pontosan ismerném.)
Bőven elég. Indiaiaknál és spanyoloknál rosszabb kiejtésed nem lehet :D És nyugodtan bele is írhatod a CV-be, mint self assessment.
Ezt nem tudom. Könnyen lehet. De képtelenség eldönteni. Nemrég egy haverom (az egyik junior Pythonos) odaadta a HR-esüknek. Visszajönni az jött vissza, hogy a HR-es felháborodott (!), hogy ez a CV őt hülyének nézi, mert olyan szájbarágósan tolja bele az arcába, hogy milyen nyelveket/oprendszereket ismerek, mert azt feltételezi, hogy a HR-es el se fogja olvasni a CV-t. És most kapaszkodj meg: ezek után ki akart belőle vetetni egy olyan szöveget, ami nem is szerepelt benne, meg belerakatni egy olyan infót, ami már benne volt! (A konkrét végzettségemet konkrétan; még az OKJ-s FEOR számot is megadtam.) Magyarul nem olvasta el, csak leszarozta.
Én mosom kezeimet.
Ó, van köztük egy rakás hmm, kevésbé alkalmas. Biztos van, ahol lepattan az ember valami ilyesmin, nekem tapasztalataim szerint egyáltalán nem bánják, ha a CVben megtalálja, mi a fenét keres. Ill azért azt érdemes megjegyezni, hogy mikor kommunikálsz velük, akkor ne üljön ki rád a véleményük. Mosolyogva, kedvesen, beszélni hozzá, veled egy szinten levőként kezelve (portás kislányt is), aztán lépjünk majd túl :)
Ennek a megítélését rád bízom...
Nem akarom, és nem is tudom innen megítélni, az írás más, mint a személyes kontaktus, és a kontextus is más szokott lenni. (meg a specifikus pozi nélkül nehéz is). Se ezeket, se a többit nem személyedre kihegyezve írtam, tapasztalataim szerint kb ezek szoktak lenni, amiért valakit elutasítanak, neked kell végiggondolni, hogy ezekből melyik lehet igaz rád, és azon hogy tudsz javítani (azt azért kiemelném, hogy ezek nem feltétlen a valós helyzetet tükrözik, hanem azt, ami képet abban az 1-2 órában a másik fejében kialakítasz).
Nem mondom, hogy könnyű eset vagyok, de bunkó és kompromisszumképtelen azért nem. Még csak nehezen kezelhetőnek sem mondanám magam; a véleményemet mindig megvédem, hacsak nem cáfolják egyértelműen, de ettől eltekintve annyi is elég a könnyű kezelhetőséghez, ha egyszerűen emberszámba vesznek. Na, ez nem szokott meglenni HR részről. Tudod: nem ember, csak emberi erőforrás.
Mondom: leszar, mosolyog, kedves. A véleményed sem kell feltétlen foggal körömmel megvédened, interjú helyzetben szerintem rossz stratégia. Amíg vannak szakmai ellenérveid, addig valamennyire, és kell is, de ha az interjúztató másfele akar menni, hagyd neki. Olyanokban meg pl, hogy szerinted a systemd rák, bele se érdemes menni, mondd el, hogy nem szereted, aztán lapozz.
Ne úgy értsd, hogy torz vagyok, vagy ilyesmi. Valami az arcomra van írva. Az említett Pythonos haverom szerint úgy nézek ki, mint egy elmebeteg pszichopata sorozatgyilkos. :P
Úgy értem, hogy ha nincs nyílt seb a képeden, akkor kb mindegy. Ha nem vagy koszos, ápolatlan, kócos, nem büdös a szád, nem a kutya szájából kirángatott ruha van rajtad, akkor senkit nem érdekel, ha egy fokkal sem vagy szebb az ördögnél.
Hát, ehhez nem értek. De valahogy mindenhonnan elhajtanak, akármennyire nincs is luxus.
Érdemes megretrózni magad szerintem interjú után. Illetve én a helyedben biztos megpróbálkoznék vmi fejvadásszal, az szerintem segít. Abban is, hogy esetleg mit igazgass a cvn, tud adni hátteret, ilyesmi.
- A hozzászóláshoz be kell jelentkezni
Nekem az a tapasztalatom, hogy ezért szoktuk szeretni a diplomát: mert tudjuk, hogy emberünk kapott egy kissé szélesebb látókört, szóval van fogalma róla.
Kapott egy kissé szélesebb látókört? Magyar egyetemen? :(
Természetesen nem garancia, de a tapasztalat azt mutatja, hogy pl egy junior környéki java fejlesztő aspiráns egyetemmel a háta mögött tud valamit makogni arról, hogy kb hogyan működik a GC. Általában kicsit vadregényes (én többet szoktam róla tudni, pedig én javat utoljára a fősulin írtam), de legalább van valami, és lehet róla beszélni vele. Akinek nincs ilyenje, annak meg még annyi fingja sem szokott lenni, és ami rosszabb, igénye se nagyon, hogy gondolkodjon rajta.
Hát, ha ilyet kérdeznél, hogy Java-ban hogy működik a GC, abba speciel nekem is beletörne a bicskám, de én nem is vagyok Java fejlesztő. Egyszer kb. 9 óra alatt összedobtam benne egy Tetrist; az volt nekem a Hello World Java-ban, de azóta hozzá sem szagoltam. (Egyébként nagyon nem tetszett.)
Bőven elég. Indiaiaknál és spanyoloknál rosszabb kiejtésed nem lehet :D
Van itt lakó mexikói barátom, az ő kiejtése jobb, mint az enyém. :P Mondjuk neki alapból jó az angol kiejtése. Az indiaiakat nem tudom, de el tudom képzelni. :D
Ill azért azt érdemes megjegyezni, hogy mikor kommunikálsz velük, akkor ne üljön ki rád a véleményük. Mosolyogva, kedvesen, beszélni hozzá, veled egy szinten levőként kezelve (portás kislányt is), aztán lépjünk majd túl :)
Mármint a saját véleményem ne üljön ki rám, nem? Egyébként eskü' nem szoktam lekezelni őket, vagy direkt rondán nézni. De ha mosolygok, az sokkal rosszabb, mert akkor hívják a rendőrséget, vagy az elmegyógyintézetet. :D
A véleményed sem kell feltétlen foggal körömmel megvédened, interjú helyzetben szerintem rossz stratégia. Amíg vannak szakmai ellenérveid, addig valamennyire, és kell is, de ha az interjúztató másfele akar menni, hagyd neki.
Á, a szakmai interjúit el se jutok, a HR-es nem kérdez szakmait. Az baromságokat kérdez...
Olyanokban meg pl, hogy szerinted a systemd rák, bele se érdemes menni, mondd el, hogy nem szereted, aztán lapozz.
Ezeket nem szoktam elővenni állásinterjún, már csak azért sem, mert azt se tudják mi az. :P
Ha nem vagy koszos, ápolatlan, kócos, nem büdös a szád, nem a kutya szájából kirángatott ruha van rajtad, akkor senkit nem érdekel, ha egy fokkal sem vagy szebb az ördögnél.
Ilyesmiről nincs szó, de pl. a szájszag amúgy se megy át a CV-ben lévő fényképen. :D
Illetve én a helyedben biztos megpróbálkoznék vmi fejvadásszal, az szerintem segít. Abban is, hogy esetleg mit igazgass a cvn, tud adni hátteret, ilyesmi.
Sose adnak visszajelzést, hogy mi nem volt jó. "Majd értesítjük." Egyébként az egyik recruiter azt mondta, hogy jó a CV-m, a másik meg azt, hogy nem jó, de nem fejtette ki...
- A hozzászóláshoz be kell jelentkezni
Annyira le vagyok rokkanva, hogy csak 100% HO jöhet szóba. Viszont amikor ezt valamelyik recruiter/HR-es meghallja (csak a 100% HO-t, azt sose mondom, hogy beteg vagyok), akkor már kukásítottak is.
Ez lemaradt, bocs. Szóval szerintem ezt lehet, hogy érdemes akár mondani is, főleg, ha van vmi papíros százalékod is. egyrészt könnyen lehet, hogy a cég ennek örül (vannak kvóták meg kedvezmények), másrészt szerintem egy ilyen ügyben inkább megértőek. De érzem én is, hogy kétélű, meg gondolom a fasznak se hiányzik erről beszélgetni idegenekkel.
Ill eleve nézném a full remote melókat, bőven vannak nagy cégek, akik eleve remote teamekkel tolják.
- A hozzászóláshoz be kell jelentkezni
Ez lemaradt, bocs. Szóval szerintem ezt lehet, hogy érdemes akár mondani is, főleg, ha van vmi papíros százalékod is. egyrészt könnyen lehet, hogy a cég ennek örül (vannak kvóták meg kedvezmények), másrészt szerintem egy ilyen ügyben inkább megértőek. De érzem én is, hogy kétélű, meg gondolom a fasznak se hiányzik erről beszélgetni idegenekkel.
Nincs, semmilyen papírom nincs. Nem is biztos, hogy gyógyíthatatlan vagyok, csak az orvosok nemhogy nem segítenek, de ők juttattak ide... (Oké, az epilepsziát/PTSD-t nem ők csinálták, de a többit de.)
Ill eleve nézném a full remote melókat, bőven vannak nagy cégek, akik eleve remote teamekkel tolják.
Nem t'om, valahogy nem állnak velem szóba.
- A hozzászóláshoz be kell jelentkezni
A keretlen tanacsot adni nagyon halatlan mufaj, de megprobalkozok vele, hatha tudsz hasznositani valamit belole az elhelyezkedesi nehezsegeid enyhitesere.
Olyan dolgokra erdemes fokuszalni, amiken valtoztatni tudsz. A hulyeket, a HR-es csajokat, a managementet, az iparagi trendeket nem tudod megvaltoztatni, akarmennyire hangsulyozod a hulyeseguket. Azon gondolkozz el, hogy mi az amit meg tudsz valtoztatni, hogy a "fejed" ellenere elolvassak a HR-es lanyok a CV-d, hogy a management problemait, amire embereket keresnek hogyan tudod ugy megoldani hogy a szerinted helyes iranyba mozditsa a vilagot, a trendeket, ilyesmi.
Hogy hogyan tudsz mas emberekkel ugy kommunikalni, hogy erteni fogjak amit mondani akarsz. Akkor is, ha hulyek.
Hogy mit tudsz valtoztatni a kommunikaciodon, hogy ne frocsogesnek tartsak masok.
Bocs a kozbepofazasert.
- A hozzászóláshoz be kell jelentkezni
Nó problémó, konstruktív kritikát mindig nagyon szívesen fogadok, köszönöm.
Egyébként nehogy azt hidd, hogy alapvetően kötekedő lennék. Csak akkor veszem fel a kesztyűt, ha valaki belémáll, vagy ha muszáj. Ez utóbbi akkor szokott bekövetkezni, ha "fent" faszságot csinálnak, én meg szólok, hogy nem kéne. És ez nem abból áll, hogy lehülyézem őket, nem szó szerint kell érteni, hogy megmondom nekik, hogy hülyék. Hanem felhívom a problémákra a figyelmet, elmondom, miért fogunk szopni, mit kéne csinálni, mit nem kéne csinálni, stb. És ilyenkor szokott jönni az, hogy üzleti érdek, hatalmi játszma, technológiai hitvita (üzletben/cégben!) whatever, ellenállnak. Ugyan a vitában bebizonyítom az igazamat, de utána akkor sem az lesz, amit mondtam, mert csak. (Ultima ratio.) Aztán megszívjuk és utána még én leszek a hibás, pedig én szóltam. Nem varrják konkrétan a nyakamba, de engem fognak érte utálni.
Azzal meg nem nagyon tudok mit csinálni, hogy szókimondó és egyenes vagyok, azt mondom/írom, amit gondolok. És ha látok valamit, amit nagyon nem kéne (pl. kiirtani a C nyelvet, vagy mindent beborítani jávaszkripttel), akkor annak hangot is adok. És vannak, akiknek ez sérti az érzéseit, de mivel ellenérveik ritkán vannak a műszaki érveimre, ezért engem támadnak az érveim helyett. Ez így megy itt a hupon is, meg élőben is, csak IRL nem szoktak olyan durva személyeskedéseket megengedni maguknak az opponensek, mert majd' két méter vagyok. :P
- A hozzászóláshoz be kell jelentkezni
A szokimondo es egyenes dologgal az a helyzet, hogy egy eleg nehez jol csinalni. Megjelenik a gondolat a fejedben => szavakka formalod => a masik ember a szavakat ertelmezi => a fejeben az ertelmezett szavak gondolatokat szulnek. Mindegyik nyil menten hiba tud keletkezni folyamatban, es a vegeredmeny az lehet, hogy a masik fejeben megjelent gondolat nagyon nem az lesz ami a te fejedben jelent meg. A kommunikacio nem valosult meg.
Nem tudom a kettonk uzenetvaltasai mennyire volt reprezentativ arra, hogy hogyan kommunikalsz egyebkent, lehet hogy semennyire, de most csak ebbol tudok dolgozni. Szerinted en mennyire talalhattam szakmainak, informativnak azt a kommunikaciodat? Mennyire talalhattam kotekedonek, lenezonek a stilust? Az erveidet mennyire tudhattam kovetni, es mennyire erezhettem azt, hogy az erveim meg vannak hallgatva? Kb 20 uzenetvaltas elteltevel mennyire erezhettem azt, hogy tanultam vagy megertettem valami ujat, vagy hogy nekem sikerult valami ujat mondanom neked?
- A hozzászóláshoz be kell jelentkezni
Lövésem sincs, hogy mit csinálhattam rosszul, amikor szó szerint beidéztem, hogy melyik állításodról beszélek, kiemeltem benne a releváns részeket és le is vezettem szakmailag, kitérve arra, hogy mi volt a téves rész az állításodban és miért volt az. Nem tudom, hogy ez miért nem tűnt szakmainak. Nincs kizárva, hogy szarul magyarázok, dehát végtére is nem pedagógus vagyok... Az érveidet viszont meghallgattam és meg is értettem, csak én teljesen másról beszéltem, mint ami ellen te érveltél, tehát nem tudtam velük mit kezdeni.
Lenézés és kötekedés viszont nem volt a kommentjeimben egy quectogramm se. Ha én valakit lenézek, akkor nem vitatkozom vele kb. 50 poszton át, hanem lepattintom, vagy valami oltást odaszúrva, vagy akár még azt se. Akit nem tartok arra érdemesnek, arra méltónak, hogy megpróbáljam magam megértetni vele, azzal nem vitatkozom, pláne nem hosszasan. Olyan van, hogy feladom és abbahagyom, de az más. Kötekedni meg egyáltalán nem szoktam. Visszavágni igen, de te ilyesmire nem adtál okot. Nem is minősítettelek vagy sértegettelek téged.
- A hozzászóláshoz be kell jelentkezni
Szerintem hiába van sokszor igazad, a vitába (szakmaiba is!) csak akkor érdemes beszállni, ha van értelme. Ezt még én is tanulom. :)
Nemrég a kezembe került egy régi tárgyalástechnika egyetemi jegyzet, van benne egy tök jó fogalom, a BATNA (best alternative to a negotiated agreement). Eredetileg nem feltétlenül ehhez a kontextushoz találták ki, de itt is tanulságos: ha nem nyersz a vitával, akkor hagyni kell a fenébe. Persze ettől még le lehet írni a véleményed, ha nem is tudod meggyőzni a másikat, tanulni még lehet belőle, de beleállni egy vitába sokszor felesleges.
- A hozzászóláshoz be kell jelentkezni
Igazad van, csak ha mindenki szó nélkül hagyja a marhaságokat a neten (itt. pl. a nyitóposztban az idézet, hogy a sudo
azért szar, mert C-ben van), akkor akik annyira nincsenek képben, el fogják hinni, ha mindenütt csak marhaságok vannak írva és nincs rá még ellenvélemény sem... Szóval néha nem is az a kérdés, hogy én nyerek-e a vitával, hanem, hogy mások nyernek-e azon, ha én vitatkozom. :)
Pl. ha csak egy passzív/readonly embert meggyőzök egy vita alatt, hogy a webkettő, vagy épp a systemd egy pestis, akkor már megérte. :D
Nem véletlenül posztolok néha programming tutorialokat se.
- A hozzászóláshoz be kell jelentkezni
Jaja, ez oké, edukációs célból le lehet írni, meg akár megvitatni is érdemes lehet, de látok néha olyan threadeket, ahol egyértelmű a deadlock. :)
- A hozzászóláshoz be kell jelentkezni
Hát igen, amikor a másik oldalon elfogynak az érvek és marad a személyeskedés, vagy a terelés. :)
- A hozzászóláshoz be kell jelentkezni
És ha látok valamit, amit nagyon nem kéne (pl. kiirtani a C nyelvet, vagy mindent beborítani jávaszkripttel), akkor annak hangot is adok. És vannak, akiknek ez sérti az érzéseit, de mivel ellenérveik ritkán vannak a műszaki érveimre, ezért engem támadnak az érveim helyett.
Sokszor amúgy az van, hogy a valódi mögöttes probléma nem műszaki kérdés, az már csak a következmény.
Az például, hogy a JavaScript mindenhova beeszi magát, az sem azért van, mert valaki műszaki oldalról bármennyire is erőltetné. Van mondjuk egy nagy projekt a backend Java és C, a frontend C#. Csak hát C#-hoz értő frontendes azért nincs annyi a piacon, pláne hogy a backend világ végtelen dotnet fejlesztőt elbír. Ilyenkor indul a fejvakarás, hogy jól van, hát akkor menni kell a piac után, induljunk el mondjuk egy React irányba. Felveszel egy rakás JS fejlesztőt, mert abból viszont van elég.
Eltelik egy kis idő, a JS fejlesztők elkezdenek apró, "ideiglenes" backend workaroundokat összerakni nodejs-ben, mert a Java/C fejlesztők le vannak terhelve, mint a szemét, és amit a frontend kér feature-t, az valahol huszonnyolc sprinttel későbbre van időzítve, nekik meg pampog a megrendelő, hogy mi van már.
Mire kettőt pislogsz, már be van vezetve a teljes JS ökoszisztéma. Aztán mondhatod a megrendelőnek, hogy a JS megoldásuk egy fostenger, ő már menne a piacra eladni a terméket.
- A hozzászóláshoz be kell jelentkezni
Ebben is igazad van, én csak annyit tennék hozzá, hogy ez azért részben mesterségesen gerjesztett folyamat.
Pl. a Google vastagon érdekelt volt abban, hogy a webdevek próbáljanak mindent is kliensoldalon - JS-ben - megcsinálni, lehetőleg minél több JS kóddal, mert minél bloat-abb egy weboldal frontendje, annál inkább a Chrome brutális JIT-tel bíró V8-asa felé billen a mérleg (a többi engine nem bírja cérnával), a Google pedig abban volt érdekelt, hogy lehetőleg az egész web Chrome-only legyen, hogy mindenki is krómot használjon. Ha nem is 100%-ban, de sikerrel jártak. A Chrome/Chromium piaci részesedése önmagában is kétharmad körül van, de a Chromium-based browserekkel (Edge, Opera, Vivaldi, Brave, Iridium, UGC, stb.) ez már a háromnegyedet is elérheti. Ha pedig beleszámoljuk azon browsereket is, akik ugyan nem Chromium forkok, de Blinket használnak (Falkon, Otter, stb.), akkor ez már akár négyötödös is lehet. A browserek 80%-a alaphangon a Google V8-as JS motorjától függ. (A maradékon egyelőre 3:1 arányban osztozik az Apple Safari és a Firefox (és forkjai), de utóbbinak én nem jósolok már nagy jövőt...)
Ennek megfelelően a weboldalak is ebbe az irányba mennek és így ez egy öngerjesztő folyamat lesz.
És akkor a desktopra kifejtett hatásáról még nem is beszéltünk, pedig ott van az Electron és terjed, mint a pestis... Már a desktop alkalmazások egy nem is olyan inszignifikáns része is a Google-tól függ.
Ami pedig a React-ot és a többi JS-es keretrendszert illeti: tök vicces, hogy ezek a keretrendszerek mindig valamelyik másik programnyelvet próbálják meg feltalálni JS alapon, mert a JS egy rettenet... A React nekem konkrétan úgy néz ki, mint ha a C#-ot öntötték volna össze a PHP-val...
- A hozzászóláshoz be kell jelentkezni
Írj fel engem is a listára. :)
- A hozzászóláshoz be kell jelentkezni
En ebben ilyen furcsa kivetel vagyok: aki nem tartja egyertelmuen jobbnak a Rustot a C++-nal, arra en nem tudok haragudni. :)
De joparakkal igy is ossze tudsz majd itt veszni nelkulem is. :)
- A hozzászóláshoz be kell jelentkezni
valószínűleg aki ilyet csinál, az kifejezetten tudatos a nagy átlag C fejlesztőhöz képest
Vagy mégsem? És mi lesz még később, ha ez a nyelv populárisabb lesz?
Jaja, mindig felmerül, hogy a kóder a hülye, mert C-ben is lehet jót írni. Csak hosszú-hosszú évek tapasztalatai alapján (szíves figyelmedbe ajánlom világ CVE-jinek jelentős részét) olyan ez, mint a szép perl program. Lehet benne olyat írni, csak valamiért nem szokás. Szóval de, összességében egyáltalán nem tűnik rossz stratégiának, hogy több kódot termelünk olyanban, ahol kevesebbet tudnak hibázni a szarul megírók, és azokat a komponenseket, ahol magas a kockázat, esetleg újra is írjuk. A sudo ebből a szempontból elég jó target.
Magyarán nem a kódereket képezzük ki, tanítjuk meg kódolni, nem a szintet hozzuk fel, hanem nyelvből megpróbáljuk meggátolni, hogy a lamerek ne csináljanak baromságot? Na ez az, ami nem fog működni.
Egyrészt láthatólag fejlődik a rust ökoszisztéma, szóval ha velünk marad, akkor jó eséllyel ez az olló be fog záródni sokkal jobban.
Vagy nem, mert multik felelnek a fejlesztéséért és nekik nem érdekük, hogy minden szirszar OS és CPU támogatva legyen, sőt érdek, hogy pusztuljon ki, márpedig, ha a C kipusztul alóluk, erre jó esély lesz.
Másrészt, az amazon nyilván azért támogat ilyet, mert azt látja, hogy pl az infrastruktúrájának jelentékeny részén ez neki segíteni fog már most, az meg hogy ettől a FaszomBSD nem fog profitálni minden architektúrán, és Nevemteve is kimarad az AIX-al, őt kevésbé érdekli.
Pont ettől tartok. Ennyit a szabad választásról.
Harmadrészt meg nem veszik el senkitől a kedvenc C nyelvű sudoját, használhatja továbbra is nyugodtan, vagy választhatja pl a doast. Opensource, virágozzék száz virág, legyen választás, ilyesmi, tudod.
Csak épp a Rust-szekta a C teljes kiirtására törekszik. Átírni mindent C-ből Rust-ba, ha kell futószalagon, konverterrel, unsafe
-okkal meghintve, ld. a linket. Ebből lesz ipari katasztrófa, nem abból, hogy a MidnightBSD, vagy a ColdFusion nincs támogatva...
Hát, ha a rust annyira megszalad, hogy tényleg megkerülhetetlen dolgok lesznek csak abban, akkor ér ám segíteni/megcsinálni, hogy a mi platformunkon is forduljon, vagy lehet élni a következményekkel. Addig meg a zealotok hadd tolják, ha amit csinálnak jobb, vagy legalább kb ugyanolyan jó kevesebb security kitettséggel, akkor örülünk
Csakhogy én nem erről beszéltem, ld. fentebb. Egyrészt populárisabb lesz a nyelv, több lamer Rust kóder lesz és "Ez a nyelv úgyis mindentől megvéd!" csatakiáltással szarabb kódokat fognak írni, mint bármilyen C-kóder valaha, mert itt nyugodtan lehet, hiszen a nyelv majd megvéd. Másrészt meg ész nélkül konvertálnak át mindent C-ből, csak, hogy pusztuljon a C, aztán majd csodálkozni fognak, hogy a géppel konvertált eredmény még a C-s verziónál is rosszabb lesz és csinál valami irdatlan gebaszt.
ha meg nem, akkor hiába zealotkodnak, a közönség majd egy kösz, de kösz nem vállvonással odébbál.
Aha... Pont, mint a win95-nél és utána en-bloc a windows-nál, vagy a systemd-nél, ugye? Messze több problémát csinált mindkettő, mint amit megoldottak, de legalább defacto-standard-ek lettek, a mögöttük álló megacorp-ok nagy örömére.
Két külön dologról beszélünk. Te a nyelvről, amivel - nem győzöm hangsúlyozni - alapvetően nincs bajom, én meg a rátapadt szektáról és a tevékenységük trendjéről, ami nagyfokú agyatlanságot tükröz.
Egy jó kóder C-ben is jó kódot fog írni, egy lamer meg Rust-ban is szart. És nem, nem fogja a nyelv megvédeni a szarvas hibáktól. Ez a nagy tévhit, amit a Rust-believer-ök érv helyett ráznak, mint a véres rongyot. Csakhogy az ostobaság ellen nincs tökéletes védelem.
- A hozzászóláshoz be kell jelentkezni
A C most már több mint 50 éves. Az elmúlt 50 év alatt a fejlesztőknek nem sikerült megugrani, hogy ne írjanak security rémálom kódot. Ahol nem írnak, ott nagyon szigorú szabályokkal korlátozzák be a fejlesztőket (misra-c például), nem véletlenül. Egy átlag C fejlesztő nem ír jó kódot, soha nem írt, és soha nem is fog.
A C-nek úgy ahogy van már réges régen ki kellett volna pusztulnia. Nem, az nem egy jó nyelv. Ez egy nagyon alacsonyszintű nyelv, amit már réges régen túlhaladtunk. El kell engedni, már két évtizede el kellett volna.
- A hozzászóláshoz be kell jelentkezni
A C most már több mint 50 éves.
A kalapács meg több ezer. És?
Az elmúlt 50 év alatt a fejlesztőknek nem sikerült megugrani, hogy ne írjanak security rémálom kódot.
Ezután se fog sikerülni, légy nyugodt.
Ahol nem írnak, ott nagyon szigorú szabályokkal korlátozzák be a fejlesztőket (misra-c például), nem véletlenül.
Az OpenBSD-seknél nincs semmiféle korlátozás, tiszta C-ben dolgoznak, csak épp jók a kódereik és az auditjuk.
Egy átlag C fejlesztő nem ír jó kódot, soha nem írt, és soha nem is fog.
Egy átlag Rust fejlesztő sem. Ez nyelvfüggetlen.
A C-nek úgy ahogy van már réges régen ki kellett volna pusztulnia.
Szerinted.
Nem, az nem egy jó nyelv.
Mi az, hogy "nem jó"? #define jó
Mire nem jó? Alacsonyszintű programozásra? Dehogynem jó.
Ez egy nagyon alacsonyszintű nyelv, amit már réges régen túlhaladtunk.
Egy túrót haladtuk meg. Ez a legkiforrottabb hordozható assembly, ami létezik. Írjál már valami magas szintű nyelven hatékony kódot valami párbites mikrokontrollerre, légy szíves. Szólj, ha sikerült.
El kell engedni, már két évtizede el kellett volna.
Nem elengedni kellett volna, hanem a) megtanulni használni és b) arra használni amire való.
Pontosan ez az a mentalitás, amit itt tanúsítasz, ami az ipari katasztrófát fogja végül okozni. Eszközöket kárhoztatsz és tiltanál be, képzés, gondolkodás és megfelelő használat helyett.
- A hozzászóláshoz be kell jelentkezni
A C egy nagyon jó nyelv. Az, hogy olyanok használják, akiknek egy ollót nem mernék a kezébe adni, mert összekaszabolna vele mindenkit maga körül, meg saját magát is tökön szúrná közben, nem a C nyelv hibája. Aki nem tud C-ben programozni, az ne csinálja. Én sem vagyok webprogramozó attól, hogy le tudok írni egy <a></a> tag-et.
Hadd érdeklődjem meg, aki még C-ben sem tud programozni, az milyen minőségű kódot írna assembly-ben? Mert ez utóbbiban aztán tényleg mindent szabad. Nem azokra gondolok itt, akik nem tudnak C-ben programozni, de jól tudnak assembly-ben, hanem azokra, akik valami trendi bloat ojjektumorientált xaron gányolnak valamit, de fogalmuk sincs arról, mit hogyan kellene csinálni, hogyan tároljunk a memóriában valamit, mert majd a fordító megoldja, közben meg leszólják a C-t. Ja, ha valaki lusta hibát kezelni, elsunnyogja, hogy egy függvény visszatérhet NULL-lal, majd a későbbiekben erre a címre ír valamit, az ne csodálkozzon. Igen, malloc() után is kell a vizsgálat, még akkor is, ha soha senki nem látott még out of memory-t, mert a kernel optimista. Meg realloc()-nál nem lapítunk reménykedve, hogy az új memóriaterület ugyanoda allokálódik, mint a régi, akkor sem, ha többnyire úgy szokott lenni, így hát nem használjuk a korábbi pointereinket. Meg a többi.
Nem haladtuk meg a C-t, sőt, az assembly-t sem. Van, amikor ezekre szükség van. Hardware közelében, mikrokontrollerekre, beágyazott környezetben, idő- és memóriakritikus helyeken. Lehet mindenféle magas szintű nyelven programozni, de nevetséges, amikor több GHz órajelfrekvenciájú, több magos CPU-n futó C#-ban írt kód három oszlopban egy rendezetlen listát úgy ír ki, hogy szemmel tudom követni, hol tart. Több száz ms egy kb. 90 elemű lista kiírása? Tényleg? Hogy nézne ki mindez C-ben vagy assembly-ben? Egyetlen képernyő frissítésen belül lenne ott, azaz ott lesz a semmiből egyszerre az egész.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Most hogy ezt leírtad, akkor mi a probléma abban, hogy egy sudo-t újraírnak Rust-ban? Mert pont hogy azért érvelsz, ugyanis egy sudo egy sima alkalmazás, amely se nem hw közelében fut, se nem mikrokontrolleren, se nem beágyazott környezetben.
De tovább megyek, ha valaki Rust-ban szeretne embedded fejleszteni, azt is megteheti. Érdemes a references részt is olvasni.
- A hozzászóláshoz be kell jelentkezni
Most hogy ezt leírtad, akkor mi a probléma abban, hogy egy sudo-t újraírnak Rust-ban?
De tovább megyek, ha valaki Rust-ban szeretne embedded fejleszteni, azt is megteheti.
PIC-re, vagy ColdFusion-re is?
Érdemes a references részt is olvasni.
Se PIC-et, se ColdFusion-t nem láttam a listában. Én vagyok vak, vagy not supported?
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ez csak a PIC32-es széria. Hol a PIC12, vagy a PIC14? És hol a ColdFusion? (A google egyébként az egyik legnagyobb ellenségünk.)
- A hozzászóláshoz be kell jelentkezni
Oldja meg a PIC cég, hogy legyen Rust nyelvű fordítója, nem? Miért egy nyelv megalkotóinak a problémája, hogy nincs implementáció valahova? Bárki implementálhatná a Rust compilert arra a platformra, ha akarná. Miért nem teszi?
- A hozzászóláshoz be kell jelentkezni
ROFLMAO. Irtsuk ki a C-t és oldja meg a saját költségére, akinek a platformjára nincs Rust fordító. Oké...
Kibontakozóban az a bizonyos ipari katasztrófa...
(Egyébként befizetek rá, hogy PIC12-re a Rust ugyanolyan hatékony kódot fog generálni, mint a C, még ha csinálnak is cross-compilert...)
- A hozzászóláshoz be kell jelentkezni
Hát ha ő hoz piacra egy hardvert, oldja meg, hogy legyen hozzá szoftverkínálat. Ha meg nem tudja megoldani, minek hozza ki a hardvert?
- A hozzászóláshoz be kell jelentkezni
Ő meg is oldotta. Kitűnően lehet rá C-ben fejleszteni. Egyelőre a Rust-mozgalom az, ami a C-t fel akarja számolni. Hát akkor oldják meg ők, hogy legyen mindenhova Rust. Ha nem tudják megoldani, minek irtják ki azt a nyelvet, ami mindenhova van?
- A hozzászóláshoz be kell jelentkezni
Nem ismerem ezeket a platformokat, de elsore nem latom hogy miert kell a sudonak tamogatnia.
- A hozzászóláshoz be kell jelentkezni
Nem a sudo
-nak... A Rust-nak. Ebben a szálban már konkrétan arról van szó, hogy egyáltalán minek C-ben fejleszteni? Hát, mert mondjuk nincs az adott platformra más, azért.
- A hozzászóláshoz be kell jelentkezni
Lehet mindenféle magas szintű nyelven programozni, de nevetséges, amikor több GHz órajelfrekvenciájú, több magos CPU-n futó C#-ban írt kód három oszlopban egy rendezetlen listát úgy ír ki, hogy szemmel tudom követni, hol tart. Több száz ms egy kb. 90 elemű lista kiírása? Tényleg?
A mondanivalóddal egyetértek, de ebben a konkrét helyzetben szerintem nem a C#-pal van a gond, hanem azzal, aki a kódot írta. Vagy nemcsak kiíratás történt, hanem számításokat is a kiírás közben végzett, vagy akármi.
- A hozzászóláshoz be kell jelentkezni
Nem tudom, nem én írtam. Én USB-n feladom a lista elemeit, az adott sor hátterének színét, azt, hogy legördülő menü legyen-e, vagy csak valami érték, meg ilyenek. Ezen sokat nem kell számolni, de gyanítom, vannak erre is kész elemek, kb. ugyanaz a library, amit talán az Excel is használ, s az lehet, hogy mindent is tud, és ezért lassú. Nem tudom, mi az oka, de már gondoltam arra, hogy megírom natív C-ben valam ncurses alapon, vagy akárhogy, csak nem ér az egész annyit, meg nincs annyi szabadidőm munka közben. :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
A C egy nagyon jó nyelv. Az, hogy olyanok használják, akiknek egy ollót nem mernék a kezébe adni, mert összekaszabolna vele mindenkit maga körül, meg saját magát is tökön szúrná közben, nem a C nyelv hibája
Viszont a valóságban úgy tűnik, hogy a C fejlesztő urak nagy része nem ugorja meg a jóságát, és összekaszabol vele mindenkit maga körül. Ezért az óvóbácsi a jövőben inkább vmi biztonsági ollóval tartaná a foglalkozásokat, aztán amit nem lehet megcsinálni a tompa hegyű, műanyag borítású ollóval, azt megcsinálja az ügyesebbekkel szakkörön.
- A hozzászóláshoz be kell jelentkezni
Aztán, mivel a Rust fejlesztő urak sem okosabbak a C fejlesztő uraknál, így pillanatok alatt rájönnek, hogy a biztonsági ollóval is ki lehet szúrni a másik gyerek szemét, vagy le lehet tolni a torkán. Szegény óvóbácsi alábecsülte a hülyegyerekek kreativitását és kitartását, ami - ha hülyeséget kell csinálni, akkor - határtalan.
- A hozzászóláshoz be kell jelentkezni
A C egy nagyon jó nyelv. Az, hogy olyanok használják, akiknek egy ollót nem mernék a kezébe adni, mert összekaszabolna vele mindenkit maga körül
Pedig a mai mainstream programozó pont ilyen. Csodálkozom, hogy elvileg ez a végzettsége, mégis, fingja nincsen alapvető dolgokról. Mi történik fordításkor, linkeléskor, hogy fut a kód, hogy működik a memóriakezelés, stb. És ez tök normálisnak számít. Már az nagy dolog, ha kinyitja a kurva referenciát, és nem rögtön példakódokat próbál összevadászni innen-onnan-amonnan.
A hibakezeléssel kapcsolatban csak annyit, hogy kevés C kódot láttam életem során, ahol következetesen, teljességre törekedve megvalósult. Már az nagy dolog, ha if !function() jellegű a függvényhívás. Kicsi kódbázis esetén van rá példa, hogy megcsinálják rendesen. Nagy projektnél meg so-so, aztán majd ha teszteléskor kijön valami fatális, akkor befoltozzuk.
Na így készülnek olyan minőségű C kódok, amilyenek.
Előre szólok a t. olvasóknak: nem kell rinyálni, nyilván ez alól is van kivétel. De itt most pont nem arról beszélek.
- A hozzászóláshoz be kell jelentkezni
Eleg sokat programozgatok C-ben, de nem tudtam rajonni hogy itten ennel az `if !function()` jellegu dolognal mire gondolsz :)
- A hozzászóláshoz be kell jelentkezni
Arra, hogy C-ben a hibakódot visszaadó függvények nullát, azaz logikai hamisat adnak vissza, ha minden oké, azaz logikai tagadással validálható, hogy a lefutás során történt-e hiba:
if (!function_name(agrument1, argument2))
{
// ide gyun a tobb vegrehajtando kod
}
else
{
// raszivtunk a digitalis falloszra
}
- A hozzászóláshoz be kell jelentkezni
Rust egy picit érdekesebben oldja meg:
1. több értékkel is visszatérhetsz, hasonlóképpen mint ahogy a Python a tuple típussal.
2. Option<T> egyetlen biten jelzi a meghívó függvénynek, hogy van-e érték
https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gi…
https://rust.godbolt.org/z/88GqhaGdr - 'a' regiszter legalsó bitje
- A hozzászóláshoz be kell jelentkezni
több értékkel is visszatérhetsz
Ez mondjuk szimpatikus, ezt már 15-20 éve is hiányoltam a Pascalból meg a C-ből.
- A hozzászóláshoz be kell jelentkezni
Hogy mi?
typedef struct {
uint8_t valami;
char *str;
} my_t;
my_t m;
void fnc(my_t *out) {
if (out) {
out->valami = 5;
out->str = "Hello";
}
return;
}
fnc(&m);
printf("m.valami = %u\nm.str = \"%s\"\n", m.valami, m.str);
De nekem simán megengedte azt is, hogy struktúra legyen a visszatérési érték, abba meg azt teszek, amit csak akarok. De ha netán ilyet nem támogat a fordító, akkor marad az, amit a fenti példában írtam. Sőt, azt is lehet, hogy a függvényen belül foglalsz static tömböt vagy struktúrát, majd visszatérési értékként ennek címét visszaadod, kintről pedig a pointert dereferálva megvan a néhány kilobyte-nyi outputod.
Persze az is lehet, hogy nem értettem meg az eredeti problémát.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Félreértettél. Én nem arról beszéltem, hogy a C-ben ne lehetne struct
a visszatérési érték. Hanem ilyesmiről (pszeudokód):
func kecske(int arg1, int arg2): bool, int;
if (arg1 < arg2)
return false, 0;
endif;
if (arg2 < 0)
return false, 0;
endif;
return true, arg2 - arg1;
endfunc;
És akkor a meghívás:
success, result = kecske(-5, 5);
Persze lehet, hogy én meg hg2ecz-t értettem félre és a Rust ezt nem támogatja, vagy nem ezt támogatja...
- A hozzászóláshoz be kell jelentkezni
Tényleg akkora probléma, hogy a diszkrét változó helyett a strucc :) tagját használjuk, vagy a strucc tagját utólag bepakoljuk a diszkrét változóba?
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Nem, de egy marha hasznos kényelmi funkció volna. :)
- A hozzászóláshoz be kell jelentkezni
Hát két szempontra gondolj (nagy kódbázisnál):
1. átláthatóság, olvashatóság. Code review, auditálás és társai.
idő = pénz, haladni kell.
2. hibázás kockázata egyik esetben kisebb lehet-e?
véges ember, több-kevesebb figyelmetlenség és szétszórtság paraméterekkel
fn fnc() -> (i32, String) {
(5, "Hello".into())
}
fn main() {
let (valami, s) = fnc();
println!("{valami}, {s}");
}
- A hozzászóláshoz be kell jelentkezni
Igen, valami ilyesmire gondoltam, bár nem egészen így. Ez így nekem túl van "konténerezve". Egyébként a Rust funkcionalitása több ponton is tetszetős, viszont a szintaxisától lábrázást kapok. :/
Komolyan a Furorra emlékeztet. :D
- A hozzászóláshoz be kell jelentkezni
... és ha még String helyett &str-t akarsz, akkor indul az a lecke, ahol feladási pont keletkezhet. Legalábbis nálam egyik kiszállási pont 6 éve valami ilyennél volt.
https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gi…
- A hozzászóláshoz be kell jelentkezni
Ennek a rustnak valami förtelmesen undorító a szintaxisa.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Szokni kell, de szerethető. Én is sokszor el akartam menekülni, de mára áttörtem a legtöbb akadályt, megszerettem.
- A hozzászóláshoz be kell jelentkezni
És több ezer légy nem tévedhet... :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Az a bajom ezzel a megoldással, hogy ahogy locsemege is mondja, hogy ez nem igazi multi-return, ez igazából egy konténert ad vissza és nem pedig több egymástól független értéket. Értem, hogy ez jóval egyszerűbb így, mint a C , de pl. a Pascal már simán vissza tud adni rekordot visszatérési értékként is.struct
pointeres felállása
De én nem is erre gondoltam, félreértettem a dolgot, azt hittem valódi multi-returnt támogat.
Sz*rk: Baromságot írtam. (Hullafáradt és farkaséhes is vagyok.) Ez C-ben is megyen, nem csak Pascalban:
#include
typedef struct
{
int i1, i2, i3;
} kecske;
kecske create_kecske(int i1, int i2, int i3)
{
kecske res;
res.i1 = i1;
res.i2 = i2;
res.i3 = i3;
return res;
}
int main()
{
kecske tch = create_kecske(1, 2, 3);
printf("%d, %d, %d\n", tch.i1, tch.i2, tch.i3);
}
Valamiért olyan rémképem volt, hogy C-ben ez csak pointerrel menne, de nem.
- A hozzászóláshoz be kell jelentkezni
Erről beszéltem, hogy ez is működik, de ha valami nagyon béna fordítóval akad össze az ember, akkor még mindig opció, hogy a hívott függvény a külső struktúra címét kapja meg. Ezekben a dolgokban a C zseniálisan flexibilis, csak a fantázia szab határt a megfelelő adatszerkezet kialakításának.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Tudom, nem azt mondtam, hogy ne lehetne élni a multi-return nélkül, csak hasznos lenne. Konténerek nélkül.
- A hozzászóláshoz be kell jelentkezni
void fnc(uint8_t *valami, char *str);
uint8_t valami;
char str[256];
fnc(&valami, str);
Ennek sincs akadálya. ;)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Tudom, de ez megint nem az. :)
- A hozzászóláshoz be kell jelentkezni
De csak azért, mert finnyás vagy. Tartalmilag az, csak azzal van bajod, hogy nem mindegy, hogyan írod le. :P
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Ha finnyás lennék, nem programoznék C-ben. :]
Nem, nekem nincs "bajom", de nem mindegy, hogy egy nyelv tud-e olyat, hogy kettő, vagy több visszatérési értéket tud visszaadni, amik immediate változókba kerülnek, vagy konténerezni kell. Az utóbbi több kód ám, nem csak a forrásban, de a binárisban is. Azt neked be kell írnod, a CPU-nak meg végre kell hajtania. Lehet, hogy marginális mértékű kódtöbblet, de sok kicsi sokra megy.
- A hozzászóláshoz be kell jelentkezni
Ha külön adod meg a változóid címeit, akkor nincs konténer.
Nem hinném, hogy a konténer több kód lenne. Ha fix címen van a struktúra, akkor még fordítási időben hozzáadható az offset, tehát konkrét címet lehet a kódba fordítani, mintha egy magányos változó ácsorogna ott a memóriában.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Nem, akkor nem, de akkor meg pointerekkel kell megoldani, ami ugyanúgy plusz egy művelet (indirekt címzéssel való írás).
Mindenképpen több kód, mert a CPU számára a struct
nem létezik. Számára csak számok léteznek, amik vagy adatok, vagy címek. Az egy dolog, hogy te nem pointert adtál vissza, hanem magát a struct
-ot, de azzal a CPU nem tud mást csinálni, csak becopyzni a verembe arra a helyre, ahol a struct
-od van; ilyenkor ugyanis kettő db. lokálisan allokált struct
van, az egyik a meghívó függvényben, a másik a meghívott függvényben és a generált kód a meghívott függvény végén be fogja copyzni a meghívott függvényben lévőből a meghívó függvényben lévőbe a tartalmat.
Ehhez képest a multi-return két immediate értéket tud visszaadni, amik visszajöhetnek két szabad regiszterben, vagy egymás után a veremben.
- A hozzászóláshoz be kell jelentkezni
Sőt, ezt is lehet:
int i2;
i2 = create_kecske(1, 2, 3).i2;
Tehát a függvény visszatérési értékéből röptében kimazsolázhatod az egyik tagot. Az más kérdés, hogy ha több tag kell, akkor nem optimális többször hívni a függvényt, hanem egyszer kell, adja vissza a struktúrát, aztán bogarásszunk az eredmények mezején. :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Ezt nem tudtam, köszi. Ez hanyas C szabvány? Mert a C89-ben és a C99-ben ilyenről nem tudok.
- A hozzászóláshoz be kell jelentkezni
Fogalmam sincs. Én sohasem tanultam oktatási intézményben C-ben programozni. Nekem logikusnak tűnt, hogyha a függvény kimenete struktúra, akkor annak egy tagja a függvény neve után pont, majd a tag neve. Leírtam, lefordult, működik. Elégedetten megállapítottam, hogy akkor ezt így lehet. :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
A C-t én is magamtól tanultam, de ezzel a lehetőséggel sosem találkoztam. Egyetlen kódban, egyetlen tutorialban sem. Engem meg is lepett, mert ez a fajta műveletfűzés nem igazán C-s jellegű, inkább JS-es. Vagy fordítófüggő, vagy szabványfüggő lesz ez a dolog.
- A hozzászóláshoz be kell jelentkezni
PIC32-nek az XC32 compilerében működik. Bevallom, nem próbáltam gcc-vel Linuxon.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Én most kipróbáltam. Működik ott is.
- A hozzászóláshoz be kell jelentkezni
Már volt értelme beszélgetni. :)
Ez amúgy ritkán kell, de nekem van egy olyan függvényem, ami egy mérőrendszerre szalagkábelen csatlakozó hardware-ről deríti ki, az melyik verzió. Egy struktúrában kétféle értékkel tér vissza. Az egyik tulajdonképpen egy sorszám, vagy, ha úgy tetszik, index érték, a másik pedig egy olyan szám, amelyet be lehet logolni, user inteface-re ki lehet hozni, és tulajdonképpen a PCB-re is fel van írva. Tehát redundáns, technikai dolgokra szinte mindig az első, az index kell, s ekkor tudom ezt a formát használni.
Tényleg, struktúrák közötti értékadás működik dest = src; módon, vagy memcpy(&dest, &src, sizeof(típus)); csak a lehetőség?
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Ja, megint tanultunk valami újat. :)
Mondjuk kíváncsi lennék, hogy ilyenkor mi lesz a struct sorsa, bár valószínűleg utána felülíródik a veremben.
Persze, hogy működik, hát amikor a függvény adja vissza, akkor is ugyanaz történik, csak a forrás a meghívott függvény vermében van.
- A hozzászóláshoz be kell jelentkezni
Persze, hogy működik
De szerintem ez sem volt mindig így.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Valószínűleg nem. De azt hiszem a C99-nél már igen.
- A hozzászóláshoz be kell jelentkezni
PIC32-nek az XC32 compilerében működik. Bevallom, nem próbáltam gcc-vel Linuxon.
PIC32 = MIPS
XC32 = MIPS architektúrára fordító GCC. Apróbb Microchip belenyúlásokkal, hogy ismerje például a 32MX795F512L terméknevet.
Tehát próbáltál GCC-t. :)
- A hozzászóláshoz be kell jelentkezni
Tudom, a Drupal 8 indentálása szörnyű, de mellényomtál, ezt locsemege írta, nem én. :)
- A hozzászóláshoz be kell jelentkezni
Amikor leírtam, éreztem, hogy hülyeség lesz ebből, mert valóban a gcc gyűjtőfogalom, mégcsak nem is C compiler-t jelent, és nem egy architektúrára. Valóban gcc fordítja a PIC32 MIPS architektúrára a kódot. Szóval teljes mértékben igazad van. :)
Esetleg annyi szól mentségemre, hogy a ggc-vel Linuxon kitétel azt jelenti, hogy mindkét feltételnek teljesülnie kell.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Vagy csak te is emberből vagy, mint mindannyian.
Kezeket fel, aki még sohasem tévedett, netán mást gondolt mint amit végül leírt.
A GCC támogatja a MIPS architektúrát, mind mikrovezérlős mind Linux felett.
$ apt-cache search gcc-12-mips
gcc-12-mips-linux-gnu - GNU C compiler (cross compiler for mips architecture)
gcc-12-mips64-linux-gnuabi64 - GNU C compiler (cross compiler for mips64 architecture)
gcc-12-mips64el-linux-gnuabi64 - GNU C compiler (cross compiler for mips64el architecture)
gcc-12-mipsel-linux-gnu - GNU C compiler (cross compiler for mipsel architecture)
gcc-12-mipsisa32r6-linux-gnu - GNU C compiler (cross compiler for mipsr6 architecture)
gcc-12-mipsisa32r6el-linux-gnu - GNU C compiler (cross compiler for mipsr6el architecture)
gcc-12-mipsisa64r6-linux-gnuabi64 - GNU C compiler (cross compiler for mips64r6 architecture)
gcc-12-mipsisa64r6el-linux-gnuabi64 - GNU C compiler (cross compiler for mips64r6el architecture)
...
De itt egy érdekesség: CLANG/LLVM is támogatja, így a jelenlegi rustc is, amely LLVM backenddel dolgozik.
$ rustup target list | grep mips
mips-unknown-linux-gnu
mips-unknown-linux-musl
mips64-unknown-linux-gnuabi64
mips64-unknown-linux-muslabi64
mips64el-unknown-linux-gnuabi64
mips64el-unknown-linux-muslabi64
mipsel-unknown-linux-gnu
mipsel-unknown-linux-musl
Bátrak Rust-ban is írtak már kódot PIC32-re, sőt a hátterét is szépen csiszolják:
https://gill.net.in/posts/pic32-blink-led-rust/
Háttér:
https://crates.io/crates/embedded-hal
https://crates.io/crates/mips-rt
https://crates.io/crates/pic32-hal
- A hozzászóláshoz be kell jelentkezni
Ez lényegében egy struktúrával tér vissza. Egyrészt a C ezt tudja, de másrészt ott a példám, ha az adott architektúrára véletlenül nem tudná.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
ez addig oke, amig 1-2 ilyen fuggvenyed van. aztan amikor van 100 hasonlo, akkor a csiga fuggvenyhez, csinalsz egy csiga_return structot? vegulis meglehet csinalni, csak nem olvashato.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Akkor káosz van a fejben, ha függvényenként eltérő struktúra kell. Mondanám, hogy a kérdésedre igen a válasz, de egy programban nem annyiféle adatszerkezetet hozunk létre, ahány függvényünk van, hanem annyi félét, ahánnyal jól, áttekinthetően le tudjuk írni a feladatot.
Én egyébként a legtöbb esetben nem struktúrával térek vissza, hanem hibakóddal, s a visszatérési értéket egy változóban adja vissza a függvény, amelynek a címét átadtuk neki. Tehát
int8_t fnc(uint16_t input, int16_t *output);
err = fnc(x, &y);
Vagy csinálom azt, hogy >= 0 kimenet az a normál visszatérési érték, negatív szám pedig hibakód.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
nyilvan C-ben kenytelen vagy igy csinalni, mert a nyelv nem tamogatja a "tobb" parametert. Most megneztem proxmox backup rust kodjat, ahol (valami, error) tipusu visszateres van (pl: Result<String, Error> ):
$ find -name '*.rs'|xargs grep -h ') -> Result.*{'|sed 's%.*->%%'|sort -u|wc -l
424
Na ha ezt igy akarod C-ben, akkor kell hozza 400 struct. de nyilvan a C-s valtozatnak is van elonye, hogy egybol hasznalhatod if-ben a vegeredmenyt.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Nem kell hozzá 400 struct; 400 pointer + 400 return is lehet. :P
- A hozzászóláshoz be kell jelentkezni
És az átlag Rust fejlesztő jó kódot ír? Nem költői kérdésnek szántam. :)
- A hozzászóláshoz be kell jelentkezni
Az atlag rust fejleszto nem ir buffer overflow-t es race conditiont.
- A hozzászóláshoz be kell jelentkezni
Ez azt akarja bemutatni hogy lehetseges szandekosan rossz kodot irni? Vagy ezt atlagos rust kodnak tartod?
Egy masik postban a maximalis kontrollt mint kriteriumot fogalmaztad meg amit a rust nem teljesit. Elfogadhatonak tartanad, ha nem lenne semmilyen modon leirni azt elobbi kodot? Kicsit olyan erzesem van, minta az altalad emlitett van/nincs sapka esete forogna itt fent.
- A hozzászóláshoz be kell jelentkezni
Is-is. Direkt azt kérték, hogy csináljak trashelő kódot. De ettől még aki hülye az ugyanezt fogja csinálni.
Én? Én nem tartanám. Viszont ez az érvelés eléggé kettős mérce szagú: ha a C maximális kontrollt biztosít, akkor rossz, viszont, ha a Rust limitációiról kiderül, hogy mégsem védenek ki mindent, akkor meg jön a kontroll számonkérése? Itt inkább a C-n van/nincsen sapka, ahogy ezt már korábban is írtam ebben a topikban.
- A hozzászóláshoz be kell jelentkezni
Jol ertem, hogy az "is-is" azt jelenti, hogy azt gondolod, hogy ez egy atlagos rust kod? Azok a kodok amikkel eddig talalkoztam nem ezt a benyomast keltettek bennem, de lehet hogy nagyon kulonbozo kodbazisokkal vannak tapasztalataink.
A Rust lehetove teszi, hogy bizonyos muveleteket korlatozzunk es csak explicit modon lehessen elvegezni oket, a C-ben ezekre a muveletekre ez a korlat nincs.
Ez a hir eredetileg a sudohoz kotodott, aminek az a celja, hogy csokkentsuk a maximalis kontrollal rendelkezo feluletet, es csak explicit modon lehet bizonyos muveleteket elvegezni. Szerintem ez egy viszonylag jo analogia, miert gondod hogy a C-Rust vonatkozasban nem allja meg a helyet?
Nem akartam van/nincs sapka dolgokat mondani a C-rol, hol tettem ilyet?
- A hozzászóláshoz be kell jelentkezni
Jol ertem, hogy az "is-is" azt jelenti, hogy azt gondolod, hogy ez egy atlagos rust kod?
Inkább úgy mondanám, hogy ez egy átlagos kód. Amilyet egy hülye írna.
Azok a kodok amikkel eddig talalkoztam nem ezt a benyomast keltettek bennem, de lehet hogy nagyon kulonbozo kodbazisokkal vannak tapasztalataink.
Hogy neked milyen Rust kódbázisokkal volt dolgod, azt nem tudom, de ha nagyon megszaporodnak a Rust kóderek, akkor megszaporodnak majd az ilyen szintű kódok is.
A Rust lehetove teszi, hogy bizonyos muveleteket korlatozzunk es csak explicit modon lehessen elvegezni oket, a C-ben ezekre a muveletekre ez a korlat nincs.
Nem is kell, a C-ben te parancsolsz. Ha elszúrod, a te hibád. A C lényege a maximális kontroll és a maximális portolhatóság. Kár számonkérni valaminek a hiányát rajta, ami nem is volt célja soha.
Ez a hir eredetileg a sudohoz kotodott, aminek az a celja, hogy csokkentsuk a maximalis kontrollal rendelkezo feluletet, es csak explicit modon lehet bizonyos muveleteket elvegezni. Szerintem ez egy viszonylag jo analogia, miert gondod hogy a C-Rust vonatkozasban nem allja meg a helyet?
Hogy micsoda? A sudo
célja, hogy más user nevében végezhess el egy műveletet. Akár a rendszergazda nevében is. Ez hol kontrollcsökkentés?
Nem akartam van/nincs sapka dolgokat mondani a C-rol, hol tettem ilyet?
"ha a C maximális kontrollt biztosít, akkor rossz, viszont, ha a Rust limitációiról kiderül, hogy mégsem védenek ki mindent, akkor meg jön a kontroll számonkérése?" Ez volt a van/nincs sapka érvelés.
- A hozzászóláshoz be kell jelentkezni
Ugy erzem hogy viszonylag rosszindulatuan kozelited meg azt amit irok, kerlek probald meg azzal az elofeltevessel olvasni amit irtam, hogy van ertelme. Ha elsore nincs ertelme, lehet hogy csak azert van, mert nem irtam eleg tisztan, nyugodtan kerdezz vissza. Es ha tenyleg nincs, orommel veszem ha kijavitasz, de ha nincs torekves a megertesre, akkor az egesz diskurzusnak nincs ertelme.
A tapasztalatom szerint a programozok meglehetosen intelligens emberek korebol kerulnek ki. Ezek szerint neked ezzel kapcsolatban is masmilyen tapasztalatod van, viszont akkor nem ertem hogy miert tartod jobb otletnek a C maximalis kontrolljat ilyen kezek kozott. De talan mindegy is, ez a resze a vitanak eleg szubjektiv ertekiteletre alapozik es egyikunk sem igazan tudja objektiv modon alatamasztani amit mond. Szoval ha eszreveteled meg ezzel a szallal kapcsolatban, azt szivesen elolvasom, de en nem vinnem tovabb.
A sudo lete azt teszi lehetove, hogy alacsony privilegiumszintu felhasznaloval lehessen muveleteket vegezni, de ha szukseges egy muvelehet a valamilyen privilegium, akkor meg lehessen szerezni. A normal Rust kod a memoriamuveletek szempontjabol alacsony privilegiumszintunek van tartva, es az unsafe hasznalata teszi lehetove az olyan kodok irasat, ahol szukseges a privilegium.
Szerintem ez tovabbra is egy jo analogia, de mondd ha valami hibas benne. Ha az analogia megallja a helyet, akkor viszont azt erveld meg, hogy miert jo mindent rootkent futtatni.
A sapkas dolgot nem ertem, hogyan valasz arra, hogy milyen kettos mercet hasznalok a C-vel szemben? Amit magyarazatul ideztel, azt nem en irtam.
- A hozzászóláshoz be kell jelentkezni
Ugy erzem hogy viszonylag rosszindulatuan kozelited meg azt amit irok, kerlek probald meg azzal az elofeltevessel olvasni amit irtam, hogy van ertelme. Ha elsore nincs ertelme, lehet hogy csak azert van, mert nem irtam eleg tisztan, nyugodtan kerdezz vissza. Es ha tenyleg nincs, orommel veszem ha kijavitasz, de ha nincs torekves a megertesre, akkor az egesz diskurzusnak nincs ertelme.
Semmi rosszindulat nem volt abban, amit mondtam. Valamit nagyon félreérthettél.
A tapasztalatom szerint a programozok meglehetosen intelligens emberek korebol kerulnek ki. Ezek szerint neked ezzel kapcsolatban is masmilyen tapasztalatod van, viszont akkor nem ertem hogy miert tartod jobb otletnek a C maximalis kontrolljat ilyen kezek kozott. De talan mindegy is, ez a resze a vitanak eleg szubjektiv ertekiteletre alapozik es egyikunk sem igazan tudja objektiv modon alatamasztani amit mond. Szoval ha eszreveteled meg ezzel a szallal kapcsolatban, azt szivesen elolvasom, de en nem vinnem tovabb.
Mert a hülyék miatt miért kéne mindenkinek szívnia? Miért a nyelv hibája, ha a használója hülye? Mit szólna egy kétkezi melós, ha az összes szerszámából kiszednénk az éles/hegyes fémrészeket azzal a felkiáltással, hogy ne lehessen vele véletlenül embert ölni? Ő nem tud dolgozni vele, viszont aki gyilkolni akar a fúrógéppel, az még mindig agyonverheti vele a másikat.
Egyszerű a képlet: aki nem tud bánni a C-vel, az vagy tanulja meg, vagy ne dolgozzon vele. De elpusztítani a létező C-s kódbázist, csak azért mert vannak rossz C-s programok, az nagyon nagy hülyeség lenne. Már csak azért is, mert aki hülye, az Rust-ban is hülyeségeket fog csinálni.
A sudo lete azt teszi lehetove, hogy alacsony privilegiumszintu felhasznaloval lehessen muveleteket vegezni, de ha szukseges egy muvelehet a valamilyen privilegium, akkor meg lehessen szerezni. A normal Rust kod a memoriamuveletek szempontjabol alacsony privilegiumszintunek van tartva, es az unsafe hasznalata teszi lehetove az olyan kodok irasat, ahol szukseges a privilegium.Szerintem ez tovabbra is egy jo analogia, de mondd ha valami hibas benne.
Ja, értem, szóval, te a sudo
-t az unsafe
-fel állítod analógiába. Oké, fogjuk rá, bár nem pontos, mert a sudo
nem arra való, hogy alacsony privilégiumszinttel bíró user privilégiumokat szerezhessen, hanem, hogy más nevében hajtsa végre a műveletet, azaz akár a rendszergazda is mondhatja, hogy sudo -u tch ls
, tehát "Rust logika" szempontból fordítva is működhet.
Ha az analogia megallja a helyet, akkor viszont azt erveld meg, hogy miert jo mindent rootkent futtatni.
Kinek? Nekem? Mert tudom, hogy mit csinálok és utálok felesleges köröket futni? Utoljára 30 éve - 6-8 évesen - Amigán volt adatvesztésem, meg (bootblock) vírusom, pedig mindig "rootként" használtam a rendszert. (Mondjuk Amigát, meg win9x-et máshogy nem is lehetett...)
A hülyéknek? Nekik nem jó ötlet. De nekik alacsony privilégiumszinttel sem az. Pucoltam ki olyan windows-t, amit nem rendszergazdaként használtak, mégis felfalták a malware-ek.
Nekem nem kell pajzs, nekik meg hiába van. Oktatni, képezni kell őket, hogy nem nyitunk ki olyan email-t, aminek a címében kölcsönről meg pénisznagyobbításról van szó, hanem olvasatlanul töröljük. Stb. Tudod...
A sapkas dolgot nem ertem, hogyan valasz arra, hogy milyen kettos mercet hasznalok a C-vel szemben? Amit magyarazatul ideztel, azt nem en irtam.
Nem, az az én magyarázatom volt, amit megismételtem. Az a sapkás dolog, hogy a C-t kárhoztatod a maximum kontrollért, viszont amikor mutatok olyan kódot Rust-ban, amivel safe módban is hanyatt lehet lökni a rendszert, akkor megkérdezed, hogy mit szólnék hozzá, ha ez is tiltva lenne, miközben már eddig is a kontroll hiányát reklamáltam? Értsd: C: maximum kontroll rossz, de Rust: valamekkora kontroll mellett ugyanolyan trash, akkor megideologizáljuk, hogy ennyi kontroll kell; azaz C: akár van trash akár nincs, a C rossz, Rust: akár van trash, akár nincs, a Rust jó?
Nem kötelező C-t használni, ha nem tetszik. De keresztes hadjáratot folytatni ellene, azt nagyon nem kéne. (Nem, nem te folytattál keresztes hadjáratot. Ez most egy szakmai trend.)
- A hozzászóláshoz be kell jelentkezni
En ugy erzem, hogy nem produktiv ez a diskurzus. Te hogy erzed ezt? Van otleted arra, hogy milyen modon valhatna azza?
- A hozzászóláshoz be kell jelentkezni
Miért? Mi a baj? Melyik válaszom nem volt konstruktív? Én elmondtam, hogy nem a Rust ellen érvelek, hanem a C kiirtása ellen. A Rust nem tudja minden téren lecserélni a C-t. Biztos van olyan ág, ahol igen.
- A hozzászóláshoz be kell jelentkezni
Ertem. Akkor ez a problema, en nem akartam azt mondani, hogy a C-t ki kell irtani, es a Rust minden teruleten le tudja cserelni a C-t. Ezert semnnyire sem talaltam konstruktivnak azt hogy a C kiirtasa ellen ervelsz. Mi okozhatta ezt a felreertest?
- A hozzászóláshoz be kell jelentkezni
Tudom, hogy te nem mondtál ilyet. Ezt ki is emeltem. A kettőnk vitája onnan indult ki, hogy szerinted a) "Az atlag rust fejleszto nem ir buffer overflow-t es race conditiont." és b) "C-ben minden sor automatikusan unsafe, rustban csak az, ami unsafe-en belul van." Én ezekkel nem értettem egyet és ezekre hoztam ellenpéldákat, ellenérveket. De ezek az ellenérvek nem a Rust ellen szóltak en-bloc. Csak azt próbáltam elmagyarázni, hogy a Rust nem lesz automatikusan biztonságosabb a C-nél pusztán azért, mert kevesebb kontrollt ad, ha ugyanolyan lamerek fogják ugyanolyan lamer módon használni. Azt, hogy az emberi hülyeség ellen nincs biztos védelem. Ennyit és nem többet.
- A hozzászóláshoz be kell jelentkezni
Ertem, akkor az egesz ket dologban gyokerezik:
1) A percepcionk arrol, mit lehet elvarni egy atlagos fejleszotol, illetve hogy van-e haszna annak, hogy olyan uj eszkozoket hozunk letre es hasznalunk, amik megnehezitik/explicitte teszik a potencialisan veszelyes felhasznalasok egy reszet.
2) Mit jelent az unsafe. En megprobaltam tisztan definialni, hogy mit jelent az unsafe: a pointer dereferencia es a globalis valtozo modositas (meg meg van nehany dolog, de a diskurzus szempontjabol ez a ketto a lenyeg), es probaltam ervelni amellett, hogy miert jo ezt a ket dolgot leszukiteni jol behatarolt teruletre, ezzel a reviewt/auditalast es az esetleges hibak javitasat konnyitve, de azt hiszem elbuktam ebben. Az a kerdes, hogy szerinted mit jelent az unsafe?
- A hozzászóláshoz be kell jelentkezni
A percepcionk arrol, mit lehet elvarni egy atlagos fejleszotol
Ez sem biztos, hogy eltér, csak abban lehet nézetkülönbség, hogy ez elfogadható szint-e.
van-e haszna annak, hogy olyan uj eszkozoket hozunk letre es hasznalunk, amik megnehezitik/explicitte teszik a potencialisan veszelyes felhasznalasok egy reszet.
Hogyne lenne! Ebben nincs vita. Én csak arról beszéltem, hogy aki ért hozzá, annak azért mindegy, aki meg nem, annak meg azért...
En megprobaltam tisztan definialni, hogy mit jelent az unsafe: a pointer dereferencia es a globalis valtozo modositas (meg meg van nehany dolog, de a diskurzus szempontjabol ez a ketto a lenyeg), es probaltam ervelni amellett, hogy miert jo ezt a ket dolgot leszukiteni jol behatarolt teruletre, ezzel a reviewt/auditalast es az esetleges hibak javitasat konnyitve, de azt hiszem elbuktam ebben.
Nem, én értettem, hogy mit mondtál, csak én nem erről beszéltem. Azt hiszem, még mindig nem ment át, hogy miről beszélek, de én már nem tudom, hogy hogy lehetne még jobban elmagyarázni.
Az a kerdes, hogy szerinted mit jelent az unsafe?
Az unsafe
blokkot. Ahol a Rust kikapcsolja a védelmi mechanizmusait. Mi mást jelentene?
- A hozzászóláshoz be kell jelentkezni
Az
unsafe
blokkot. Ahol a Rust kikapcsolja a védelmi mechanizmusait. Mi mást jelentene?
Ez alatt milyen mechanizmusokat ertesz?
- A hozzászóláshoz be kell jelentkezni
Például a raw pointerek, vagy statikus változók piszkálásának a levédését. Abban a bizonyos kódban is ez volt kikerülve: unsafe
kód visszaad egy érvénytelen pointert, amin elcrashel a safe rész is.
- A hozzászóláshoz be kell jelentkezni
Igen. De azt nem ertem, hogy mi az orbitalis tevedes abban, hogy C-ben ezt a ket muveletet barmelyik sorban meg lehet tenni, Rustban pedig unsafe blokkon belul. Azt mondtad, hogy az unsafe-bol kiszivaroghat a hibasan letrehozott referencia, es ez teljes mertekben igaz. De a hiba az unsafe blokkon belul van, ott kell keresni es javitani. Normal kodban pedig nem tudsz olyat leirni, ami ilyen hibat okoz.
- A hozzászóláshoz be kell jelentkezni
De azt nem ertem, hogy mi az orbitalis tevedes abban, hogy C-ben ezt a ket muveletet barmelyik sorban meg lehet tenni, Rustban pedig unsafe blokkon belul.
Ebben így már semmi, csak te nem ezt mondtad. Te azt mondtad, hogy "C-ben minden sor automatikusan unsafe, rustban csak az, ami unsafe-en belul van." Ez pedig így, ebben a formában abszolúte nem igaz. Mert amikor safe módban dereferálsz egy referenciát, amit unsafe módban hibásra állítottál, akkor az a sor nem safe, annak ellenére, hogy nincs unsafe
blokkban.
De a hiba az unsafe blokkon belul van, ott kell keresni es javitani. Normal kodban pedig nem tudsz olyat leirni, ami ilyen hibat okoz.
De én nem is ezt vitattam. Azt vitatom, hogy az a konkrét sor, ami a trash-t csinálja, az safe lenne, amikor nem az; könyörgöm, bedönti a rendszert, hogy lenne safe? Pedig nincs unsafe
blokkban.
És mondom, akkor még a compiler hibákról nem beszéltünk. A linkelt topicban valahol mintha lett volna egy safe módban elkövetett trash ticketje is. Igen, persze, az csak bug volt, amit már javítottak. De, ha egyszer előfordult, akkor előfordulhat megint.
- A hozzászóláshoz be kell jelentkezni
Huhhh, nem tudom van-e meg itt kulso szemlelo, aki tudja kovetni ezt a dolgot, de ha van akkor kivancsi lennek hogy mi a velemenye arrol ahogy egymas mellett beszelunk el, hogy melyikunk mit nem ert, mert nekem kezd teljesen remenytelennek tunni ez a dolog.
Igen, azt irtam amit mar negyedszer ismeteltel el. Aztan le is irtam hogy mit ertek az unsafe alatt. Aztan te is leirtad, latszolag ugyanazt. Majd utana mindketten teljesen eltero konkluziot vontunk le abbol, hogy a normal rust kodtol mit lehet elvarni es mit nem.
Szerited safety szempontbol milyen relevanciaja van annak a konkret sornak, ahol bedol a rendszer? Es hogyan viszonyul ahhoz amit az unsafe kodrol irtunk? Milyen feltetelnek kellene teljesulnie ahhoz, hogy az altalad annyit idezett mondatom igaz tudjon lenni? Hogyan viselkedne az a hipotetikus nyelv ebben a helyzetben, ami megfelelne a kovetelmenyeidnek?
Labjegyzetben megemlitenem Charles Babbage szosszenetet a mechanikus szamitogepenek fogadtatasaval kapcsolatban: "On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."
- A hozzászóláshoz be kell jelentkezni
Hogy fogalmazzam meg, hogy megértsd, miről beszélek...? Az unsafe
blokkból kiszivárgott hibásan létrehozott referencia dereferálása és az ebből következő crash safe módban történik, tehát az érintett sor unsafe. Tehát nem igaz, hogy Rust-ban csak az lehet unsafe, ami unsafe
blokkban van. Az a trash-t okozó sor sincs. Én erről beszéltem. És nem arról, hogy mit lehet elvárni a Rust-tól, vagy mit nem. Arról, hogy safe blokkban is lehet "leszivárgott" unsafe sor.
Ha még mindig nem ment át, én feladtam...
_ o _ \/|\/ |
- A hozzászóláshoz be kell jelentkezni
En is feladtam, kosz a turelmet!
- A hozzászóláshoz be kell jelentkezni
Pedig mégiscsak az unsafe részben van elkövetve a galádság, ami kiváltja a futás későbbi részében a hibát, így az unsafe blokkokat kell alapos code review alá venni és nem az ezen kívüli 99%-nyi kódot. Ez nagyban megkönnyíti a code review folyamatot.
De ezt a kört már egymással lefutottuk kb. 12 hónapja. :)
- A hozzászóláshoz be kell jelentkezni
De bakker, nehogy már te se értsd. :)
Én értem, hogy a konkrét disznóság egy unsafe
blokkban történik és azt kell átnézni/javítani, de az állítás az volt, hogy Rust-ban csak az nem safe, ami unsafe
blokkban van, márpedig, ha a konkrét trash-t egy olyan sor okozta, ami nincs unsafe
blokkban, akkor az állítás hamis, hiszen egy safe blokkban található sor volt unsafe eléggé ahhoz, hogy szétdöntsön mindent. Ehhez semmi köze nincs ahhoz, hogy mi lenne itt elvárható, vagy mit és hol kell javítani: nem igaz, hogy Rust-ban csak az unsafe
blokkok sorai lehetnek ténylegesen unsafe-ek. Én ennyit állítottam összesen és ezen kerengtünk vagy ötven posztig... Komolyan, ennyire rosszul magyarázok...?
Nem fogom ezt a végtelen ciklust most veled is eljátszani, az ziher. :)
- A hozzászóláshoz be kell jelentkezni
Értjük mi egymást. Tényleg azt fogja írni, hogy valamely safe kódrész sorában történt a kisiklás, de az már valójában okozat.
Az ok az mindenképpen az unsafe { ... } részben van és ott kell kijavítani a hibát, máshol felesleges órákat kódátnézéssel tölteni.
- A hozzászóláshoz be kell jelentkezni
Értjük mi egymást. Tényleg azt fogja írni, hogy valamely safe kódrész sorában történt a kisiklás, de az már valójában okozat.
Az mindegy, hogy okozat. Ott okozódott. Az a sor nem volt safe, mert volt lehetőség olyan változót "odaszivárogtatni", ami unsafe. Tehát Rust-ban nem csak az unsafe
blokkok sorai lehetnek ténylegesen unsafe-ek.
Az ok az mindenképpen az unsafe { ... } részben van és ott kell kijavítani a hibát, máshol felesleges órákat kódátnézéssel tölteni.
Ezt úgy mondjátok, mintha nem érteném...nem erről beszéltem.
De mondom, nem fogom még egyszer ugyanezeket a köröket végigfutni, bocs... Asszem jó, hogy nem mentem tanárnak, ha ennyire rosszul magyarázok. :P
- A hozzászóláshoz be kell jelentkezni
Hát ennyi erővel az is megállná a helyét, hogy ha az autópályán bedobják a szélvédődet kővel, akkor te vagy az ügyetlen vezető, mert ezután nekimentél a szalagkorlátnak és felborultál. Ezáltal a te jogosítványodat kell bevonni és nem a kővel dobálózót meghurcolni. Érzed, hogy ez a dolog sántít.
- A hozzászóláshoz be kell jelentkezni
Kész... Ez az analógia ilyen áldozati szerepes analógia. Márpedig ki mondta, hogy ez a Rust hibája? Az állítás csak annyi volt, hogy lehet Rust-ban unsafe sor a safe részekben is. Ennyi és nem több. Bármi mást belelátni, belemagyarázni, a Rustot a programozó hülyesége miatt védeni, felesleges. Csak azt cáfoltam, hogy ne lehetne unsafe sor a safe blokkban. Persze, ha nekiállunk csavargatni a definíciókat, meg mindenféle áldozati analógiát behozni, akkor mindent is meg lehet magyarázni...csak annak már semmi köze nem lesz a szakmai vitához, abból meg kösz, de mára már elég volt. Mondom: én feladtam. Ha nem értitek, ez van. Vagy szarul magyarázok, vagy nem akarjátok érteni. Egyik esetben sincs értelme folytatni.
- A hozzászóláshoz be kell jelentkezni
Inkabb:
mennyire minosegi fejleszo az, aki csak Rust-ban hajlando kodot irni, C-ben es C++-ban nem hajlando meglevo projektet karbantartani se?
A zero overhead policy-t pl. fixen telibe fogja szarni a tobbseguk, mikozben a C++-osok tobbsege meg a C-sek kozossegeibol is hatekonyan kiutaltattak az ilyen szakbarbarokat.
- A hozzászóláshoz be kell jelentkezni
mennyire minosegi fejleszo az, aki csak Rust-ban hajlando kodot irni,
Semennyire. Szerintem a "csak XY-ban hajlandó" az egyik legnagyobb red flag ebben a szakmában.
- A hozzászóláshoz be kell jelentkezni
Es itt a kulonbseg:
Atlagos C vagy C++ fejleszto hajlando Rustban kodolni.
De kezd kitermelodni az atlagos Rust fejleszto - aki nemhogy C-hez, C++-hoz sem hajlando nyulni.
Programozoversenyeken mai napig olyanok toltik ki a top 10-et, akikbol 7 C++-t valasztott.
Es ettol meg nem a C++ lett a jo nyelv, hanem a C++ programozok tudnak atlaghoz kepest kiemelkedoen jol programozni.
Es azt latom, hogy a Rust lehet, hogy jo nyelv, de kornkretan influencerekhez hasonlo modszerekkel recruitolja a programozni nem tudo nagypofajuakat, es nemsokara beloluk fog allni a Rust kozosseg. Hiaba lesz technikailag jo nyelv, ha a csomagkezelo tele lesz olyan libekkel, amik keszitoi meg annyira se akartak megerteni a semantic versioninget, mint akik az npm-et hanyjak tele a JavaScriptes szemeteikkel.
- A hozzászóláshoz be kell jelentkezni
Igen, a crate.io tenyleg eleg nagy gyujto a vegyes minosegu csomagokhoz. Szerinted mi lenne a jo megoldas? Csak valamilyen csoport altal jovahagyott csomagokat lehetne publikalni (apple appstore minta)? Vagy 2-tier rendszer, ahol a crate.io-val parhuzamosan lenne egy gyujto a "megaldott" csomagokrol, amik csak aldott csomagokon dependalhatnak es valakik altal meghatarozott kod minoseg/api stabilitasi kovetelmenyeknek megfelelve lehetne bekerulni? Vagy a crates.io jelenlegi mukodeset kiegesziteni valamilyen automatizalt modon semantic versioninget ellenorive? Nekem ilyen elorelepesek jutottak eszembe, de mindegyikkel kapcsolatban tudok kifogast felhozni. Van jobb otleted? Vagy tudsz olyan okoszisztemat, ahol ez jobban van kezelve?
- A hozzászóláshoz be kell jelentkezni
Ha a Rust-ot csak kiváló programozók használnák, akik tudják miért választották és forgatni is tudják, akkor mindegy, hogy milyen rendszerben dolgoznak, mert tudják, hogy mit csinálnak, ergo jó lesz. Ha viszont a nyelv popularizálódik és beözönlenek a hülyék, akkor meg azért lesz teljesen mindegy, hogy milyen rendszerben dolgoznak, mert a hülyék nem tudják, hogy mit csinálnak, ergo rossz lesz. Egy populáris nyelvnél az sem működik, hogy egy privilegizált csoport dönt arról, hogy mi mehet és mi nem, mert ha a nyelvet nagyon sokan használják, akkor úgyis bejön a pénz a képletbe és amelyik vezetőt nem tudják megvenni, azt tönkreteszik. Ez nem a Rust hibája, így működik a világ. Az egyetlen megoldás a hülyék felokosítása lenne...
- A hozzászóláshoz be kell jelentkezni
Szerintem az nem realisztikus elvaras hogy a rustot csak kivalo programozok hasznaljak. Es nem latom hogy mi az az eljaras, amitol a tobbsegben levo "hulyek" "felokosodnanak".
A Rust alapelve ezzel kapcsolatban az, hogy a necces kodok egy reszet unsafe { } koze kenyszeritik, Igy ha a "hulyek" kodjat olvassak a kivalo programozok, akkor tudjak hogy mit erdemes extra korultekintessel szemlelni. De az a tortenetnek csak egy resze, amin valamiert az emberek rugoznak, pedig a Rustnak nem ez az egyetlen elonye. Sot, vannak rust compilerek, amik nem is tartalmazzak az ezt betartato borrow checkert, a nyelv enelkul is rendelkezik jo tulajdonsagokkal.
A typesystem lehetove teszi, hogy a kivalo programozok olyan libeket adjanak a "hulyeknek", amik peldaul a tobbszalusagot ugy valositjak meg, hogy a data race az compile errort okozzon.
Szoval az egesz nyelv pontosan annak a problemanak az enyhitesere torekszik, amit felvazoltal.
- A hozzászóláshoz be kell jelentkezni
Es nem latom hogy mi az az eljaras, amitol a tobbsegben levo "hulyek" "felokosodnanak".
Képzés, oktatás.
Szoval az egesz nyelv pontosan annak a problemanak az enyhitesere torekszik, amit felvazoltal.
Ezt én értem, csak nem fog sikerülni. A hülyéket nem lehet megállítani, hülyeséget fognak csinálni.
- A hozzászóláshoz be kell jelentkezni
Csak valamilyen csoport altal jovahagyott csomagokat lehetne publikalni (apple appstore minta)?
Nem olyan elvetemült gondolat ez, sok helyen van cégen belül Artifactory, vagy hasonló, ahova az illetékes (=felelősségre vonható) team onboardolja a cuccokat. Minden problémára ez sem megoldás, persze, de járulékos előnyként gátat szab a féktelen dependency hell-építésnek, mivel nem elég az npm install, hanem ticket is kell mellé.
Vagy a crates.io jelenlegi mukodeset kiegesziteni valamilyen automatizalt modon semantic versioninget ellenorive?
Szerintem nem megoldható (jó pontossággal) automatizáltan dönteni arról, hogy éppen hogy változik a semver, de aki rendszeresen breakeli a csomagokat, azt nyugodtan ki lehet dobni ezekről a site-okról.
Vagy tudsz olyan okoszisztemat, ahol ez jobban van kezelve?
Önmagában ez a modell hordozza a kockázatát annak, hogy ilyen hülyeségek lesznek benne, de valahogy amikor erről a rákról van szó, valamiért mindig az npm jut az ember eszébe (hello, leftpad!), nem mondjuk a nuget. Gondolom máshol is van hulladék, legfeljebb kevesebb.
- A hozzászóláshoz be kell jelentkezni
A nugetet nem ismerem, ott mi a modell? Hogy erik el hogy a 350.000 csomag tobbsegeben hasznos legyen?
- A hozzászóláshoz be kell jelentkezni
Majdnem biztos vagyok benne, hogy a többsége nem hasznos. :)
De mondom, ha pistike69 és pussyhunter420 mindenféle kontroll nélkül töltheti fel a csomagjait ezekbe a tárolókba, illetve onnan bárki beemelheti a saját projektjébe, az borítékolja, hogy előbb-utóbb ebből baj lesz.
A private registry sem egy tökéletes megoldás, de sok fejfájást meg lehet vele úszni. Nyilván, ha te freelancer vagy, akkor nem vagy vele sokkal előrébb.
- A hozzászóláshoz be kell jelentkezni
Azt en ertem hogy mi a hatranya ha kontroll nelkul lehet csomagokat publikalni. Az erdekel, hogy a nuget vagy egyeb okoszisztemak mit csinalnak jobban mint a crates.io. Korabban mar fordult meg a fejemben, hogy elinditok egy "blessed crates" jellegu megoldast, de nem vagyok meggyozodve arrol, hogy amit csinalnek az a gyakorlati eletben hasznosabb lenne mint a crates.io, ezert erdekelnek ezek a kerdesek.
- A hozzászóláshoz be kell jelentkezni
Erre viszont nem tudom sajnos a választ. :) Meg hát a crates-t sem ismerem.
Ha tippelnem kéne, a nuget-hez tartozó ökoszisztéma (dotnet) sosem volt annyira hype-olva, mint a JS/Rust/stb. Az elején extrém magas volt a belépési küszöb mondjuk egy ASP.NET-nél, egy PHP vagy később a nodejs-hez képest.
- A hozzászóláshoz be kell jelentkezni
Nekem igazából ilyenkor mindig az a kérdésem, hogy hogy lehet, hogy ez a java világban egyébként eléggé jól működik a maven repository-kkal?
- A hozzászóláshoz be kell jelentkezni
Koran jott kevesbe felhigult szakmaval.
Az npm es a pip eleg keson jott ahhoz, hogy teleszemeteljek.
Meg a Java kicsit amolyan "csinald egyfelekeppen nyelv" azzal, hogy "bezar a class scope-ba". Talan ez is segit, hogy egy lapon legyenek a fejlesztok, de azt mar nem mondanam kapasbol, hogy ez jo is. :)
- A hozzászóláshoz be kell jelentkezni
Ugyanazok a problémák megvannak ott is, lásd legutóbbi log4j fiaskó.
A dependency managementre sincs silver bullet. Ha valaki csak private repót használ, akkor magára veszi az összes dependency folyamatos karbantartásának a terhét. Erre jöttek létre a publikus repók, ahol az a percepció, hogy erre nincs szükség, mert a közösség megoldja. A valóság persze nem teljesen ez, de gyakran előfordul, hogy egy projekt teljes életciklusa alatt nincs belőle baj, cserébe gyorsabban, kisebb költséggel szállítják amit a megbízó kér.
- A hozzászóláshoz be kell jelentkezni
Szerinted mi lenne a jo megoldas?
C++ :)
- A hozzászóláshoz be kell jelentkezni
Gondolom ezt viccnek szantad, ha igen, akkor a komoly valasz mi lenne?
Ha pedig komolyan, akkor mire gondoltal? Lassan 10 eve nem foglalkozok erdemben C++ programozassal, de akkoriban meg nem igazan tunt megoldott problemanak a csomagkezeles (c++-t csak unixokon fejlesztettem, nem tudom hogy a visual studio univerzumban van-e erre megoldas).
- A hozzászóláshoz be kell jelentkezni
nem igazan tunt megoldott problemanak a csomagkezeles
De, OS szintu csomagkezeles van. Mas, sokan Dockereznek emiatt.
De elnezve, hogy milyen szemetdomb lett a pipbol, npm-bol, stb.-bol, az is lehet, hogy elony, hogy nincs ilyen "szabvanyos" csomagkezeles.
Egy C++ devnek nem kell egy qmake/cmake meg Makefile-nal tobb.
- A hozzászóláshoz be kell jelentkezni
amik keszitoi meg annyira se akartak megerteni a semantic versioninget, mint akik az npm-et hanyjak tele a JavaScriptes szemeteikkel.
Ne is mondd, nemrég szívtam ezzel, pedig aztán az npm-nél a semverből tényleg annyit kell csak megérteni, hogy npm version major|minor|patch, de valaki még ezt is elbassza.
Aztán megnéztem build pipeline-t, bele volt kódolva az npm version minor. Hát jó.
- A hozzászóláshoz be kell jelentkezni
Vagy mégsem? És mi lesz még később, ha ez a nyelv populárisabb lesz?
Egyrészt ez nyilván nem feltétlen a legjobb irány. Másrészt az, hogy létezik egy ilyen eszköz, az egyáltalán nem jelenti azt, hogy majd agyatlanul így lesz minden csinálva. Harmadrészt, ez tulajdonképpen egy wrapper. C wrapper kb minden nyelven van, nem látom, hogy ez mitől lesz katasztrófa.
Magyarán nem a kódereket képezzük ki, tanítjuk meg kódolni, nem a szintet hozzuk fel, hanem nyelvből megpróbáljuk meggátolni, hogy a lamerek ne csináljanak baromságot? Na ez az, ami nem fog működni.
Hát, a kódereket fasz tudja, 50 éve képezzük ki, legalább az elmúlt 20-ban kifejezetten igyekszünk ezt a részét is oktatni, aztán mégse tűnik úgy, hogy működik (vagy hát nehéz megítélni, hogy ha ez se lenne, mennyivel lenne rosszabb a helyzet, de hogy most is nagyon messze van a jótól, az biztos). Kap egyébként is a C is mindenféle eszközt, lásd mindenféle static analyzerek, meg maga a definíció is fejlődik, de nyilván ezeket se csináljuk, mer "hát csak jól kell programozni, nincs itt semmi látnivaló". Szerintem az ég egy adta világon semmi gond nincs azzal, ha valaki eszközökkel is szeretné támogatni, hogy jobb legyen. Ráadásul a toolset ilyen szempontból valahol az oktatás része is ám. Ha ugyanis a kezedre basz, ha valami szart csinálsz, és pörög ezen a problémán, akkor átlagban kóder pisti is kénytelen lesz jobban képben lenni vele. Ha egyébként erre figyeltek, ezért átláthatóbb a nyelvben ez a rész, akkor könnyebb vele jól dolgozni (volt itt topic nem olyan rég, ahol a helyi C guruk próbáltak fasz tudja, pár száz hozzászóláson át dűlőre jutni kb két csillagon meg egy zárójelezésen, hogy most akkor ez mit is csinál)
Egyrészt populárisabb lesz a nyelv, több lamer Rust kóder lesz és "Ez a nyelv úgyis mindentől megvéd!" csatakiáltással szarabb kódokat fognak írni, mint bármilyen C-kóder valaha, mert itt nyugodtan lehet, hiszen a nyelv majd megvéd.
Értem, hogy te ezt vetíted ki rá, cserébe egészen nagy mennyiségű kutatható adat halmozódott fel arra nézvést, hogy azok a szofverek, amiket mindenféle magasabb szintű, memória managelt nyelvekben írni, sokkal-sokkal kevesebb az ilyen jellegű hiba. Ált max leakelnek, mert a nyelv tényleg megvédi tőle őket. Pedig aztán ugye köztudott, főleg C fejlesztők között, hogy ilyen nyelveken kizárólag hátulgombolós idióták fejlesztenek, akik semmit nem tudnak abból, amit egy igazi kódernek tudni kell. (És abban egyébként igazuk is van, hogy C-vel kevesebb félanalfabéta önképzőkörös junior dolgozik).
Vagy nem, mert multik felelnek a fejlesztéséért és nekik nem érdekük, hogy minden szirszar OS és CPU támogatva legyen, sőt érdek, hogy pusztuljon ki, márpedig, ha a C kipusztul alóluk, erre jó esély lesz.
Abból, amit én látok, egészen úgy tűnik, hogy a rust oda megy, ahol van LLVM. Az meg egy compiler infrastruktúra, és nem tűnik úgy, mintha nem szeretnének ők minél több mindent támogatni. Pl Nevemtevének azért nincsen az AIXára, mer láthatólag a cseppet sem multi IBM valamiért még nem ért el odáig.
Egyébként meg még ha a zealotok mindent át is írnak, segíts már, hogy ettől hogy pusztul ki a C? Ott van, lehet használni továbbra is, have fun.
Pont ettől tartok. Ennyit a szabad választásról.
And again, valaki a fejedhez tartja a stukkert, hogy ne doast, meg rendes sudo-t használj, szállíts, fejlessz? Én őszintén szólva nem látom a nagy bajt azzal, hogy valaki a saját gondjait akarja megoldani. Sokkal inkább, mint hogy toporogjunk egy helyben, mert valakinek nem tetszik, meg dolga lesz vele, és hajtogassuk, hogy "csak jól kell használni a C-t".
Aha... Pont, mint a win95-nél és utána en-bloc a windows-nál, vagy a systemd-nél, ugye? Messze több problémát csinált mindkettő, mint amit megoldottak, de legalább defacto-standard-ek lettek, a mögöttük álló megacorp-ok nagy örömére.
Ebben nem egyezik a véleményünk, szerintem mindkettő nagyságrendekkel többet ment előre, mint amennyit hátra.
Két külön dologról beszélünk. Te a nyelvről, amivel - nem győzöm hangsúlyozni - alapvetően nincs bajom, én meg a rátapadt szektáról és a tevékenységük trendjéről, ami nagyfokú agyatlanságot tükröz.
Én a te konkrét felvetéseidre reagáltam, a konkrét téma kontextusában. A szektásokat én se szeretem egyébként (bár szerintem általában nem nagyon kell tőlük félni, elrendezi a valóság), de amikor csak fröcsögsz a másik oldalról, akkor te se nagyon vagy jobb ám :)
Egy jó kóder C-ben is jó kódot fog írni, egy lamer meg Rust-ban is szart.
Hát de könyörgöm, akkor miért nem álltak neki ennek már végre? A konkrét $subject is arról szól, hogy a világ messze legelterjedtebb userváltó izéje, ami egy kifejezetten security kritikus alkalmazás, a te szavaiddal élve egy ementáli. Milyen lehet a többi C kód, ha ez ilyen?
És nem, nem fogja a nyelv megvédeni a szarvas hibáktól. Ez a nagy tévhit, amit a Rust-believer-ök érv helyett ráznak, mint a véres rongyot. Csakhogy az ostobaság ellen nincs tökéletes védelem.
Meanwhile az informatika fejlődése szerintem elég konzisztensen azt mutatja, hogy jobb eszközökkel jobb eredményeket lehet elérni. És a rust abból a szempontól egy egész üde színfolt, hogy nem a termelékenységben akar elsősorban javítani, mint szinte minden más, hanem a low level coding minőségén.
- A hozzászóláshoz be kell jelentkezni
Másrészt az, hogy létezik egy ilyen eszköz, az egyáltalán nem jelenti azt, hogy majd agyatlanul így lesz minden csinálva.
Ki mondta, hogy minden így lesz csinálva? Az volt az állítás, hogy lesz sok szoftver, amit így konvertálnak át.
Harmadrészt, ez tulajdonképpen egy wrapper. C wrapper kb minden nyelven van, nem látom, hogy ez mitől lesz katasztrófa.
Nem, ez egy konverter, nem wrapper. Konverter, ami C kódból unsafe
-ekkel vastagon meghintett Rust kódot gyárt. Na, ebből lesz katasztrófa.
Hát, a kódereket fasz tudja, 50 éve képezzük ki, legalább az elmúlt 20-ban kifejezetten igyekszünk ezt a részét is oktatni, aztán mégse tűnik úgy, hogy működik (vagy hát nehéz megítélni, hogy ha ez se lenne, mennyivel lenne rosszabb a helyzet, de hogy most is nagyon messze van a jótól, az biztos).
Tehát véletlenül sem az oktatást rakjuk helyre, nem baj, ha vannak hülyék, majd mindent is hülyebiztosra csinálunk? Nem. Fog. Működni. Nincs olyan, hogy hülyebiztos.
Kap egyébként is a C is mindenféle eszközt, lásd mindenféle static analyzerek, meg maga a definíció is fejlődik, de nyilván ezeket se csináljuk, mer "hát csak jól kell programozni, nincs itt semmi látnivaló".
Ezt nem tudom, hogy honnan szedted, hogy nem csinálják, mert ez az állítás úgy fals, ahogy van.
Szerintem az ég egy adta világon semmi gond nincs azzal, ha valaki eszközökkel is szeretné támogatni, hogy jobb legyen. Ráadásul a toolset ilyen szempontból valahol az oktatás része is ám. Ha ugyanis a kezedre basz, ha valami szart csinálsz, és pörög ezen a problémán, akkor átlagban kóder pisti is kénytelen lesz jobban képben lenni vele. Ha egyébként erre figyeltek, ezért átláthatóbb a nyelvben ez a rész, akkor könnyebb vele jól dolgozni
Már megint nem arról beszélsz, amiről én. Hányszor írjam még le, hogy nem a Rust-tal van bajom, hanem a Rust-szektával és a C ellen hirdetett keresztes hadjáratukkal?
(volt itt topic nem olyan rég, ahol a helyi C guruk próbáltak fasz tudja, pár száz hozzászóláson át dűlőre jutni kb két csillagon meg egy zárójelezésen, hogy most akkor ez mit is csinál)
Senki nem mondta, hogy a C tökéletes. Azt mondtuk, hogy gáz ez az "ircsukki" falangista duma. Egyébként volt olyan topic is, ahol a Rust guruk állították, hogy Rust-ban kurwa nehéz trehányságból segfaultot csinálni, a nem Rust guru trécéhának meg az első Rust programjában kapásból sikerült. És utána még az is kiderült, hogy még arra sincs szükség, hogy a dereferer unsafe körülmények között történjen; elég, ha unsafe körülmények között jött létre a referencia és akkor már a safe módot is hanyatt lehet lökni vele. Egyik nyelv sem tökéletes.
Értem, hogy te ezt vetíted ki rá, cserébe egészen nagy mennyiségű kutatható adat halmozódott fel arra nézvést, hogy azok a szofverek, amiket mindenféle magasabb szintű, memória managelt nyelvekben írni, sokkal-sokkal kevesebb az ilyen jellegű hiba. Ált max leakelnek, mert a nyelv tényleg megvédi tőle őket.
Felhívnám a figyelmet erre a nagyszerű érvelési technikára, hogy a mondat két része között semmiféle logikai kapcsolat nincs. Én vetítek, a magas szintű nyelvekben meg kevesebb az ilyen jellegű (azaz memóriakezelési) hiba. Akkor két dolog. Egy: C-ben a programozó feladata a memóriakezelés. Nem azért, mert a C szar, hanem azért, mert ennek a nyelvnek nem az a lényege, hogy fogja a fejlesztő kezét, hanem, hogy maximális kontrollt biztosítson neki. Ennek megfelelően ha a C-t olyanok is használják, akiknek nem való, akkor nyilván lerontják a statisztikát. Kettő: én nem vetítek ki semmit semmire, én arról beszélek, hogy az ostobaság nyelvfüggetlen, szar kódot meg Rust-ban is lehet írni, ld. a linkem. (Az most mindegy, hogy az direkt volt szar. A lényeg, hogy lehet.)
Pedig aztán ugye köztudott, főleg C fejlesztők között, hogy ilyen nyelveken kizárólag hátulgombolós idióták fejlesztenek, akik semmit nem tudnak abból, amit egy igazi kódernek tudni kell.
Mi lenne, ha nem olyasmikkel dobálóznál, amiket én nem mondtam? Egyelőre itt a Rust fejlesztők azok, akiknek minden második mondatuk az, hogy a C fejlesztők milyen hülyék és milyen szar kódot írnak. Nem igaz, hogy nem látod a kettős mércét. A C-s oldalnak nem a Rust-tal, vagy a Rust fejlesztőkkel en-bloc van bajuk, hanem azzal a vallási háborúval, amit a Rust-szektások ellenük és a nyelvük ellen hirdettek.
Abból, amit én látok, egészen úgy tűnik, hogy a rust oda megy, ahol van LLVM. Az meg egy compiler infrastruktúra, és nem tűnik úgy, mintha nem szeretnének ők minél több mindent támogatni. Pl Nevemtevének azért nincsen az AIXára, mer láthatólag a cseppet sem multi IBM valamiért még nem ért el odáig.
Az IBM nem a konzumer piacra gyúr, ott régi kiforrott cuccokkal tolják. A konzumerebb platformok a fő célpontok, mert azt használja sok ember.
Egyébként meg még ha a zealotok mindent át is írnak, segíts már, hogy ettől hogy pusztul ki a C? Ott van, lehet használni továbbra is, have fun.
Ki használná és miért, ha már szinte semmi sincs abban írva? Ha a szoftverek nem abban lesznek írva, akkor az emberek sem fogják használni, mert nincs miért; azt a nyelvet fogják megtanulni és használni, amivel a leginkább be tudnak illeszkedni a láncba. Márpedig bármilyen nyelv annyira élő, amilyen sokan használják. Azzal nem sokra megyünk, hogy lesz húsz ember, aki még mindig abban tolja. Ők kevesen lesznek arra, hogy az összes Rust által nem támogatott platformon mindent is megcsináljanak.
And again, valaki a fejedhez tartja a stukkert, hogy ne doast, meg rendes sudo-t használj, szállíts, fejlessz? Én őszintén szólva nem látom a nagy bajt azzal, hogy valaki a saját gondjait akarja megoldani. Sokkal inkább, mint hogy toporogjunk egy helyben, mert valakinek nem tetszik, meg dolga lesz vele, és hajtogassuk, hogy "csak jól kell használni a C-t".
Ha nem tűnt volna fel, az OpenBSD már leszállította a működő, portolható és biztonságos alternatívát. BSD-license, szóval kereskedelmi használatra is nyugodtan vihető. Ennyit arról, hogy a C fejlesztők csak hajtogatják, hogy "csak jól kell használni a C-t". Az Amazon miért nem a doas
-ra állt át? Nem lett volna sokkal egyszerűbb és olcsóbb? Miért is kell ehelyett sokkal több pénzt, időt, erőforrást beleölni, hogy átírják Rust-ba, csak azért, hogy Rust-ban legyen? És pláne ilyen bullshit indoklással, hogy a sudo
azért szar, mert C-ben van? Ez nettó vallásháború. Márpedig, amikor ilyen vallási hisztéria jelenik meg a világban, ott én mindig üzleti érdekeket szimatolok. Pláne egy ekkora cégnél, mint az Amazon. "When in doubt, follow the money." Ugyanígy a nagy cégek érdeke volt a webkettő mentalitás elterjedése is, hogy mindent weboldalt hatszáz jávaszkriptes keretrendszer hajtson meg...az eredményt látjuk.
Ebben nem egyezik a véleményünk, szerintem mindkettő nagyságrendekkel többet ment előre, mint amennyit hátra.
A win95? Amiben nem volt még memóriavédelem sem, miközben az OS/2-ben a BeOS-ben, a NextSTEP-ben, a Linuxban, a BSD-kben, a Solaris-ban, az Irix-ben, stb., stb., stb.; szinte mindenki másban volt? Hát ja, nem egyezik a véleményünk, ez fix.
Én a te konkrét felvetéseidre reagáltam, a konkrét téma kontextusában.
Csak épp a lényeget nem sikerült megragadni és arra reagálni.
A szektásokat én se szeretem egyébként (bár szerintem általában nem nagyon kell tőlük félni, elrendezi a valóság)
Aha...pont mint az igazi keresztes hadjáratokat, vagy jihadokat. Azokat is kurwa jól elrendezte a valóság, csak közben jó sokan meghaltak... De, hogy szakmai berkekben maradjunk, ld. webkettő isoraz. Azt is jól elrendezte a valóság...
de amikor csak fröcsögsz a másik oldalról, akkor te se nagyon vagy jobb ám :)
Vetítek, fröcsögök... Az megvan, hogy a Graham piramisban az ilyen kijelentésekkel a sárga és a narancs zóna környékén cirkálsz? Értem, hogy szeretsz velem személyeskedni, rámhúzni dolgokat, de ezzel nem cáfolod, amit mondok, mert ez nem érvelés. Nem vetítettem, nem fröcsögtem - egy trendre hívtam fel a figyelmet, a trend pedig létezik: nézd csak meg sz332 hozzászólásait...
Hát de könyörgöm, akkor miért nem álltak neki ennek már végre? A konkrét $subject is arról szól, hogy a világ messze legelterjedtebb userváltó izéje, ami egy kifejezetten security kritikus alkalmazás, a te szavaiddal élve egy ementáli.
Hahó, már rég megcsinálták, nem zavar? Már a legelső posztomban belinkeltem az OpenBSD-sek doas
-át, nem zavar? Direkt csinálod?
Milyen lehet a többi C kód, ha ez ilyen?
He? Ez most mit akart jelenteni? Ugye nem azt a látszatot szeretnéd kelteni, hogy ez a világ legjobb C kódja és a többi ennél csak rosszabb lehet? Abból, hogy valami a legpopulárisabb, még nem következik, hogy a legjobb is, ld. pl. windows, systemd, JavaScript, stb. Kezdesz nagyon "érdekes" "érveket" felsorakoztatni... Ennek így nem sok értelme van.
Meanwhile az informatika fejlődése szerintem elég konzisztensen azt mutatja, hogy jobb eszközökkel jobb eredményeket lehet elérni. És a rust abból a szempontól egy egész üde színfolt, hogy nem a termelékenységben akar elsősorban javítani, mint szinte minden más, hanem a low level coding minőségén.
Isoraz, megint nem arról beszélsz, amiről én. Nem baj, hogy van Rust és javítani akar bizonyos dolgokon. Az a baj, hogy a hívői ki akarják írtani a C-t.
Tényleg nem érted...vagy nem akarod érteni?
- A hozzászóláshoz be kell jelentkezni
Megint semmi kedvem részleteiben belemenni, szóval:
> Mi lenne, ha nem olyasmikkel dobálóznál, amiket én nem mondtam?
Ja, hát az van, hogy te mondtál dolgokat, ami kb sehol ne legyen rust, mert a koncepció szar, nem lehet hülyebiztos nyelvet csinálni" meg előadtad, hogy neked igazából a szektásokkal van bajod, nem a nyelvvel.
Én az előbbi állításaidra reagáltam, a szektás vonal, meg a háborúskodás nem érdekel. De egyébként pont olyan szektás gyűlölet fröcsög belőled, mint belőlük.
- A hozzászóláshoz be kell jelentkezni
Ja, hát az van, hogy te mondtál dolgokat, ami kb sehol ne legyen rust, mert a koncepció szar, nem lehet hülyebiztos nyelvet csinálni"
Hogy micsoda? Hol mondtam én ilyet, hogy sehol ne legyen Rust, mert szar a koncepciója? Citáld már be! Most vagy megint teljesen más műsort nézel, vagy direkt adsz állításokat a számba. Én azt mondtam, hogy a sudo
-nak szar a koncepciója és ezért szar, nem azért, mert C-ben van írva. Ezt direkt mostad össze azzal az állítással, hogy nem lehet hülyebiztos nyelvet csinálni? Kezdem azt hinni, hogy direkt...
Én az előbbi állításaidra reagáltam, a szektás vonal, meg a háborúskodás nem érdekel. De egyébként pont olyan szektás gyűlölet fröcsög belőled, mint belőlük.
A szektás vonal, meg a háborúskodás nem érdekel, de azért hülyézed a C-kódereket és olyanokat próbálsz rámhúzni, ami nem igaz. Hozod a formádat.
- A hozzászóláshoz be kell jelentkezni
Az összes hozzászólásod a bevezető bullshit, nem lesz attól jobb, hogy másik nyelvre áttérünktől ettől szaglik.
- A hozzászóláshoz be kell jelentkezni
És? Ebben hol van az, hogy sehol ne legyen Rust, mert a koncepció szar? Hogy sikerült felállítani azt az egyenlőséget, hogy "a rossz kód attól nem lesz jobb, hogy átírjuk egy másik nyelvre" == "sehol ne legyen rust, mert a koncepció szar"? Direkt csinálod?
- A hozzászóláshoz be kell jelentkezni
Hát, te nyitottál azzal, hogy attól nem lesz jobb, ha átírják rustra, mert csak jobb progamozó kell a Chez, és akkor nincs itt semmi probléma. És azt is elég nehéz nem úgy értelmezni, hogy szerinted nem a koncepció (tudniillik, hogy védjen meg a balfaszságoktól a programnyelv) szar, miközben explicit azt állítod, hogy ez nem megoldás, mert nem tud. Igen, nekem ezekből következik, hogy szerinted a rust mögött álló koncepció szar.
- A hozzászóláshoz be kell jelentkezni
Szavakat adsz a számba, aztán még azokat is kiforgatod. Gyönyörű. Ennyire nincsenek érveid?
Hát, te nyitottál azzal, hogy attól nem lesz jobb, ha átírják rustra, mert csak jobb progamozó kell a Chez, és akkor nincs itt semmi probléma.
Az nem megoldás, hogy a rossz kódot egyszerűen átírják egy másik nyelvre, amiről azt hiszik, hogy majd kijavítja helyettük a rossz kód okozta sérülékenységeket
Lehet biztonságos
sudo
alternatívát írni C-ben is, csak érteni kell hozzá. Na, az megoldás.
Tehát az állítás pontosan az volt, hogy a rossz kód átírása Rustra nem megoldás és hogy lehet C-ben is jól tolni; nem lesz automatikusan szar valami, csak azért, mert C-ben van, ellentétben a hírben megfogalmazott bullshittel, hogy a sudo
azért szar, mert C-ben van és ennek megfelelően attól sem lesz valami automatikusan jó, hogy Rust-ban van. Ebből sehogy nem következik per se, hogy a Rust koncepciója ab ovo szar lenne. Ezt csak te magyarázod bele. Abba, amit te odaálmodtál, mert még csak nem is azt mondtam, amit te állítottál.
És azt is elég nehéz nem úgy értelmezni, hogy szerinted nem a koncepció (tudniillik, hogy védjen meg a balfaszságoktól a programnyelv) szar, miközben explicit azt állítod, hogy ez nem megoldás, mert nem tud. Igen, nekem ezekből következik, hogy szerinted a rust mögött álló koncepció szar.
Ez nettó belemagyarázás. Ha valaki alapból jól tud programozni és még a Rust-ot is mesterfokon forgatja, akkor őt sok esetben meg fogja védeni a nyelv attól, hogy elkövessen egy olyan hibát, amit mondjuk C-ben elkövetett volna. Ez a Rust erőssége. De itt nem arról van szó, hogy hg2ecz haszonnal forgatja ezt a nyelvet és örül neki, hogy egy csomó dologgal nem kell szarakodnia, hanem arról, hogy a hülyéket nem fogja megvédeni a Rust saját maguktól, mert lehetetlenség. Nem a Rust koncepciója rossz, hanem a Rust-szektások értelmezik rosszul és a félreértelmezés mentén hirdetnek jihadot a C ellen. Tök feleslegesen. (Bár nekem kezd egy olyan sanda gyanúm lenni, hogy a Rust-hívők egy része csak "kocahívő" és nem is a Rust-ra való mindent átíráson van a hangsúly, hanem a C kiirtásán; nekik igazából mindegy, hogy mibe írják át; elmehettek volna Python, JavaScript, Ruby, C#, Java, C++, Go, vagy akár Brainfuck-hívőnek is, a lényeg, hogy a C pusztuljon már végre.)
Úgyhogy: vagy totál képtelen voltál értelmezni amit leírtam, vagy szándékosan forgatod ki a szavaimat és magyarázol bele minden szart, hogy hitelteleníts. Felhívnám a figyelmedet, hogy a szakmai szál már jópár poszttal korábban elfogyott és azóta megint csak azon pörgünk, hogy én mi vagyok, meg mit (nem) mondtam. Tudod, Graham piramis sárga és narancs zónája.
- A hozzászóláshoz be kell jelentkezni
eh, legyint. Megint bántom szegény TCHt. Hülyék ezek, hogy rustban akarnak újraírni mindent.
- A hozzászóláshoz be kell jelentkezni
Sugallat, hogy hülye vagyok? Tényleg csak ennyire futja?
Kifejtettem, hogy miért fals és visszatetsző, amit csinálsz. Ha csak ennyit tudsz hozzátenni, akkor így jártál.
- A hozzászóláshoz be kell jelentkezni
Az, sugallat, kissé se adsz te se a számba semmit.
- A hozzászóláshoz be kell jelentkezni
Legyinteni a hülyékre szokás. A megint bántod szegény TCH-t sem volt szarkasztikus, ugye? Ennyit arról, hogy nem sugallat. Amúgy kösz, hogy elismerted, hogy a számba adást a részedről.
- A hozzászóláshoz be kell jelentkezni
Legyinteni a hülyékre szokás.
Meg a szokásos "már megint itt tartunk szituációkra".
A megint bántod szegény TCH-t sem volt szarkasztikus, ugye?
De, az volt. Mert már megint belehaluzol egy köbvödör személyes bántást abba, amiben nincs. Valahogy mindig ez van, hogy szerinted téged bántalak. Bánt a nehézség :)
- A hozzászóláshoz be kell jelentkezni
Meg a szokásos "már megint itt tartunk szituációkra".
Hihető lenne, ha nem lett volna ott a többi.
De, az volt. Mert már megint belehaluzol egy köbvödör személyes bántást abba, amiben nincs. Valahogy mindig ez van, hogy szerinted téged bántalak. Bánt a nehézség :)
Hát tekintve, hogy már jóval ezelőtt azzal jöttél, hogy én vetítek, meg fröcsögök, meg egy raklap baromságot a számba adtál, hogy azt kiforgathasd (és ezt el is ismerted az előbb), elég nehéz lesz megmagyarázni, hogy én csak hallucináltam, hogy te személyeskedtél. :)
- A hozzászóláshoz be kell jelentkezni
Amibe beleképzelegsz már megint mindenfélét. Miközben a magyar mondatban a hülye konkrétan másra vonatkozott. De mondom, nyugtasd magad, kroozo bunkó, és mindenfélét a szádba ad, amit te nem is mondtál.
- A hozzászóláshoz be kell jelentkezni
Ja és el is felejtettem, hogy ráadásul "vita" közben folyamatosan engem karikírozol. Csak persze azt is szalmabábcséplő módon.
- A hozzászóláshoz be kell jelentkezni
A Rust-hívők C ellen folytatott keresztes hadjárata egy nap komoly ipari katasztrófát fog okozni...
Disclaimer: Nem a Rust-tal van bajom, hanem a Rust-szektával.
Tokeletesen megfogalmaztad helyettem. Koszi.
- A hozzászóláshoz be kell jelentkezni
vicc hogy mostanaban mar egy python modult se lehet ugy felrakni hogy ne legyen rust fuggosege... minden xarba beleeroltetik ha csak egy kicsit is, de csakazertis legyen benne rust...
- A hozzászóláshoz be kell jelentkezni
Ha az orjson-ra gondolsz meg olyan csomagokra, amik attol fuggnek, ott pont oke es jogos. Majd ha ir valaki gyorsabbat CPythonra, hasznalom azt. :)
A "mar senkinek nem kene C-znie" hozzaallas a zavaro resz, meg ennek a nezetnek a nepszerusegi szintje karos. Nem a Rust nyelv maga, vegkepp nem egy Rustra wrappelt Python lib lesz nekunk utban.
- A hozzászóláshoz be kell jelentkezni
C programozóként és ortodox C hívőként is - látva napjaink divatos programozói (fogalmazzunk így) attitűdjeit - belátom, hogy egy korszak véget ért. Lehet ez ellen tiltakozni - ahogy sokszor és sokáig magam is tettem -, de felesleges. Tekintsük inkább úgy, hogy a Rust az új C. Mi meg öregszünk.
Az iparágakat pedig marketingesek és menedzserek irányítják. Nem mérnökök.
Utópia, hogy itt majd szakértő programozókat nevelünk, ahogy az is utópia, hogy iparági szinten fognak majd a minőségi kódra erőforrást áldozni, úgy, hogy nyilvánvalóan nem lesz tőle arányosan nagyobb a könyvelésben a bevételi oldal.
Műszaki emberként fáj ezt látva a szívem. Ugyanakkor hasztalannak vélem a további kapálózást.
Nem tudom, tényleg van-e olyan, hogy ,,Rust-szekta". Ennek a kulturális és népetimológiai vonatkozásaival sosem foglalkoztam.
Tekintsünk inkább úgy a Rust-ra, mint kezdeményezés. Amiből megpróbálhatjuk kihozni a legjobbat.
Sokkal szarabb is lehetne a helyzet.
- A hozzászóláshoz be kell jelentkezni
a Rust az új C
Egy magas szintű nyelv, hogy lehetne egy alacsonyszintű nyelv - egy hordozható assembly - replacement-je?
- A hozzászóláshoz be kell jelentkezni
Úgy, hogy más lett a világ. Mások lettek az architektúrák, az ökoszisztémák, és mások lettek a célok is.
Azt a szerepet, amit annakidején a C töltött be, lehetséges, hogy hamarosan a Rust fogja.
Igen, a C tulajdonképpen Assembly - makrókkal.
Aminek a jelentősége egyre csökken. Függetlenül attól, hogy mi erről mit gondolunk.
Az Assembly-t ugyanígy elsirattam. De sajnos tudomásul kell venni: produktív környezetben ma már nem a szabály, hanem nagyon erősen a kivétel, ha valahol még használják.
- A hozzászóláshoz be kell jelentkezni
A legalsó szint ebből a szempontból nem változott. Van Assembly, meg C. A Rust a maga megkötéseivel ezeket nem tudja lecserélni. Úgy pláne nem is tudja, ha alig pár CPU-t támogat...
- A hozzászóláshoz be kell jelentkezni
Rust magas szintű?
- nem kell neki alárakott VM
- nem kell neki interpreter
Ez alapján alacsonyszintű a produktuma, mint a C-nek. Oprendszer írására is teljesen alkalmas. Linux kernelben is megfér.
Rust nyelv sokat tud?
- már az alap nyelvnek van néhány izgalmas képessége. Például a határellenőrzések és az objektumos szemlélete.
- core lib már igen sok dologra alkalmassá teszi. Ebből már lehet sajátod is, nem kell az egység core lib.
- std lib tényleg sokat tud. Ehelyett például mikrovezérlő esetén már egyedi, mikrovezérlős irányra praktikus van.
- könnyen berántható crate és függőségként újabb sok-sok crate ... hát indul a modern szoftverfejlesztő buli - előnyeivel és hátrányaival
A fogalmakat, képességeket érdemes picit összetettebben kezelni.
- A hozzászóláshoz be kell jelentkezni
Rust is a multi-paradigm, high-level, general-purpose programming language that emphasizes performance, type safety, and concurrency.
In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language elements, be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management), making the process of developing a program simpler and more understandable than when using a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.
Ez alapján a Rust nagyon magas szintű nyelv és ezen az nem változtat, hogy írhatsz benne oprendszert is. Pascalban és C++-ban is írhatsz, sőt Go-ban is, de ettől még egyik sem lesz lowlevel nyelv:
A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map that are structurally similar to processor's instructions. Generally, this refers to either machine code or assembly language.
Az egész topic arról szólt, hogy a C egy hordozható assembly, a Rust meg tele van védelmi funkciókkal/absztrakciókkal, meg fasza memória managementje van. Nem egy ligában játszik a kettő, nincs is értelme egyiket a másikra cserélni, semmilyen irányban. A Rust a C++/C#/Pascal/Go nyelvek ligájában játszik.
- A hozzászóláshoz be kell jelentkezni
Az std teszi azzá. Maga az alapnyelv nem az. És itt tényleg az a jó, hogy szépen lecsupaszítható.
Próbáld ki a Rust nyelvet az alábbi módon:
#![no_std]
#![no_core] // még nightly build-ban van csak ez
Azaz csak a nyelvet. Hát nem lesz magas szintű érzésed ezek nélkül a lib-ek vagy egyéb helyettesítőik nélkül.
Én egyelőre a no_std -ig jutottam rustc esetén, gccrs esetén viszont a no_core -ból kell ma még indulni. Szintén pár egyszerűbb teszten túlvagyok ez utóbbival is.
Egyébként az operator overloading és a trait kihasználásaival gyorsan feltornászható magas szintű képességekre és ekkor tényleg magas szintűvé varázsolódik.
- A hozzászóláshoz be kell jelentkezni
Maga az alapnyelv nem az.
Egyébként az operator overloading és a trait kihasználásaival gyorsan feltornászható magas szintű képességekre és ekkor tényleg magas szintűvé varázsolódik.
Az operator overloading és a trait része az alapnyelvnek, tehát az alapnyelv is magas szintű. Az egy dolog, hogy lecsupaszítható, de egy C++ vagy egy Pascal is az, de attól még magas szintű marad mindkettő. A Rust is.
- A hozzászóláshoz be kell jelentkezni
Próbáld ki a gccrs-t és megtudod. Ma már a gcc része.
Tényleg kemény elindulni std lib nélkül és főleg core lib képességei nagyon hiányoznak. Abszolut alacsony szintről építheted fel a nyelv képességét.
http://robotlab.itk.ppke.hu/gcc/releases/gcc-13.1.0/ és ../configure --enable-languages=rust ...
- A hozzászóláshoz be kell jelentkezni
Én elhiszem, hogy lehet ez nagyon fapad, de attól még nem lesz lowlevel. Vannak pl. típusai. A C-nek nincsenek, minden csak szám benne, pont, mint assemblyben; az összes absztrakció, amit a számokra pakol, az a pointer, meg a struct
. Még boolean sincs benne. Teljesen más ligában játszik a két nyelv.
- A hozzászóláshoz be kell jelentkezni
Annyit meg hozzatennek, amit sokat elfelejtenek: a rust memory safety-je egy compile-time check.
Tehat ha azert akarsz rust-ot hasznalni, hogy majd jol kiszuri az osszes buffer overflow-t, akkor csalodni fogsz. runtime ugyanis mar semmilyen ilyen csekket nem vegez. Tehat egy vulnerable lib, kernel hivas vagy hardver tovabbra is elkurja a kodot.
A masik oldal viszont az, hogy a vulnerability-k es hibak tulnyomo resze (80%-ot olvastam) a mai napig abbol jon, amit a rust ownership modellje megold.
Tehat igen, nem old meg mindent varazsutesre, de a kulimunkat elvegzi, es a 30-40 evnyi toolchain modernizalas mellett ez mar boven eleg nyomos erv a cserere.
- A hozzászóláshoz be kell jelentkezni
A masik oldal viszont az, hogy a vulnerability-k es hibak tulnyomo resze (80%-ot olvastam) a mai napig abbol jon, amit a rust ownership modellje megold.
Megoldaná, ha ésszel használnák, de nem teszik. Ész nélkül (unsafe
-fel vastagon meghintve) írnak/konvertálnak át működő C kódokat is, nem csak az egyébként tényleg ementáli sudo
-t.
Tehat igen, nem old meg mindent varazsutesre, de a kulimunkat elvegzi, es a 30-40 evnyi toolchain modernizalas mellett ez mar boven eleg nyomos erv a cserere.
Miért lenne elég nyomós ok a cserére? Ami problémákat megold, azt C-ben is meg lehet oldani; kissé kettős mérce, hogy ha az ember C-ben elvégzi az ellenőrzéseket, stb. akkor hülye, mert C-ben minek, aztán meg szar a C, mert segfault, meg buffer overflow, ha meg más nyelv automatikusan csinálja az ellenőrzéseket (nem csak a Rust), az meg teljesen rendben van. Ez ilyen van sapka/nincs sapka a C nyelven.
Működő, ismert sérülékenységgel nem rendelkező C kódokat miért is kell átírni Rust-ba? If it ain't broke, don't fix it.
- A hozzászóláshoz be kell jelentkezni
Nyilvan nem az az otlet, hogy unsafe-el trukkoznek. BTW unsafe nem azt jelenti, hogy 'mindent szabad'; jol specifikalt a 3 check, amit kiiktat.
A rust mellett nyomos erv a cserere, azert, amit eddig meg nem lattam visszakoszonni: gazdasagossag.
Jo C++ dev-et talalni nehez, felvenni draga, megtartasahoz meg mindenfele bubajossag kell. Ha elmegy, osszeomlik a team/rendszer/ceg. Remalom.
Ehhez kepest a masik fele, az egyetemrol kiesett js/java/python dev, aki, barmily meglepo, a ceg altal elvart feladatok 50-80%-at megoldja. Nem jol, nem szepen, de megcsinalja. Konnyu felvenni, motivalni, megtartani, es olcso, nagyon olcso. Konnyen lecserelheto, es az uj dev par het alatt mar produktiv.
Ezert olyan elterjedt a java/kotlin/python/js/...
Namost, a rust komplexitasa valahol a java/kotlin es a c++ kozott van. A modernebb, es legfokepp, standard-ebb toolchain miatt kisebb a learning curve, ha uj dev kezd a team-ben, a compile time check jo sok randa hibat megfog -- nemcsak buffer overflow & tsai, de a threading kornyeken is hatalmas segitseg/atok (nezopont kerdese :D), hogy csak 1 owner-je van mindennek.
Hat ezert jo a rust. Es teccik, nem teccik, a java se teccett a c/c++ deveknek, aztan itt a kotlin es 3 sorbol csinalok neked fully async rest endpointot fully async DB hozzaferessel. Mire a c++ dev egyaltalan az autotools konfigot befejezi, nekem mar epp deployol a kubernetes. Hiaba 1.5x gyorsabb a c++ kod, a developer produktivitas tobbet er a gyakorlatban (hacsak nem valami 1M request/sec dolgot epitesz, de ez nagyon ritka).
Es ez az extra produktivitas kielezett piaci helyzetben szamit, sot, donto.
- A hozzászóláshoz be kell jelentkezni
Ez nem trükközés kérdése, a balfasz, az balfaszságot fog csinálni.
Egyébként már megint két dologról beszélünk, már a sokadik emberrel... Nem a Rust előnyeit vitattam el. Csak felsoroltam a hátrányait is, meg felhívtam a figyelmet a fals biztonságérzetre, amit majd a hülyék szétzúznak.
A C deveknek meg nem az nem tetszik, hogy jó a Rust. Legyen. Az nem tetszik, hogy a Rust-szekta ki akarja pusztítani a C-t. Meg, ahogy nézem, most már a C++-t is...
- A hozzászóláshoz be kell jelentkezni
en voltam team-ben, ami c kodot tartott karban, de nem ertett hozza.
ugyanugy remalom, sot, meg rosszabb, mert 5 sorban is tokonlovi magat, nem kell hozza 20-25.
az nem erv, hogy 'mert gagyi devnek nem jo'. gagyi dev-nek mar a c se jo, annak java/python valo a kezebe, azokban direkt le vannak korlatozva a nyelv/platform feature-ei. pl. memleak mindennapos volt a fenti team-ben, de en mar lattam palyafutasom alatt java devet is memleak-et csinalni szemrebbenes nelkul. :(
nekem btw elmondta egy headhunter, hogy miert hip a rust: azert, mert aki jo dev-ekkel akar dolgozni, az rust-ot valasztva relative biztos lehet benne, hogy jo devekkel hozza ossze a sors. de legalabbis jobbakkal. nem fog olyanokkal osszefutni, akiknek meg java se valo a kezebe. persze fonok/hr-es nem erti a kulonbseget a ketto kozott, o csak azt latja, hogy "de hat developer, nem?".
a 'kipusztitas' eros szo, de igen, arrol van szo, hogy a rust garanciai csak a rust kod hataraig terjednek, tehat ha regi kodba belerakod, az csak annyira lesz jo, amennyi rust kod van benne. ket dudas egy csardaban nem fer meg. alapvetoen a rust kod jo, a compile-time checkek jok, es rengeteg feature-e jo (pl. struct-fele adat/kod szetvalasztas nagy otlet volt IMHO, ezt a 'klasszikus' OO nyelvek dev-jei allandoan elkurjak/nem ertik). Akkor viszont mi a c/c++ USP-je? Teljesitmenyben kb. ugyanott van, memoriahasznalatban is, produktivitasban is. HW kozeli developmentre momentan nem annyira jo (bar ez is gyorsan fejlodik btw), ez igaz, de ez a teljes piacnak csak egy pici resze.
egy USP-je lehet a c/c++ -nak: az, hogy most a rust nyomulasa miatt sok lesz a szabad developer a piacon :P
- A hozzászóláshoz be kell jelentkezni
de en mar lattam palyafutasom alatt java devet is memleak-et csinalni szemrebbenes nelkul
A Java onmagaban is egy memory leak engine, nem? :)
- A hozzászóláshoz be kell jelentkezni
nagyon talalo megfogalmazas, tokeletesen igy van. viszont ami jo a java-ban, hogy pont ezert csinaltak neki olyan garbage collector-t, ami mar evtizedek ota lealaz minden mast a piacon.
a java (bytecode/vm) alapvetoen eleg elkurt, tomoren osszefoglalva. Amitol killer lesz, az a korites: a JIT es a GC messze jobb barmi masnal, evtizedek ota. A java language spec szinten egy c-re hajazo elkurt fos, ez teny. A gyakorlatban viszont a j17 tenylegesen hasznalt feature-jei igencsak jok, kotlinrol nem is beszelve, es a java statikus volta miatt az IDE (idea/eclipse) olyan brutalis tamogatast tud nyujtani a dev-nek, amit meg nem lattam semmilyen masik nyelvhez. Lehetne azokhoz is, csak nem csinaljak valamiert. Sot, belegondolva, a tobbi nyelvhez meg nem lattam jol osszerakott, megbizhato IDE-t, csak text editor-t highlighting-al.
En tobbek kozott ezert maradtam java/kotlin korul, mert sorban doltek le az alternativak, amint kicsit beleassa magat az ember. most mar, megintcsak jetbrains-nek hala, vannak tenyleges IDE-k mas nyelvekhez is, de meg mindig a java/kotlin -hez van a legdurvabb. Az a franya statikus kod, mint kiderult, megiscsak jo valamire...
- A hozzászóláshoz be kell jelentkezni
Sot, belegondolva, a tobbi nyelvhez meg nem lattam jol osszerakott, megbizhato IDE-t, csak text editor-t highlighting-al.
Ha már úgyis említetted az idea-t, nézd meg a többi Jetbrains terméket, hátha meg fogsz lepődni. :)
- A hozzászóláshoz be kell jelentkezni
neztem, de kozel se tudnak annyit, mint az idea java-ban. gondolok itt a refactor-ra, debugger-re, heap analysis-re, es meg sorolhatnam.
- A hozzászóláshoz be kell jelentkezni
rust-ot valasztva relative biztos lehet benne, hogy jo devekkel hozza ossze a sors
Ez miért van így?
- A hozzászóláshoz be kell jelentkezni
Ez a headhunter gyakorlati tapasztalata volt. Ha talalgatnom kellene, az mondanam, azert, mert a rust-ot megtanulni alapvetoen kurvanagy szopas. Konkretan konnyebb, ha nem tanultal mas nyelvet elotte, es ez halal komoly. En hulyet kapok mai napig a borrow checker-tol, es attol, hogy holtprimitiv dolgokat nem tudok megcsinalni rust-ban, gyakran orakat kinlodok vele, mert szerinte az az adat nem own-olt a kodblokk altal.
Pl. funkcionalis kodblokkoknal iszonyatosan gaz a rust, ahol ugye nem fersz hozza a kodblokkon kivuli pointerekhez, de amihez hozzafersz, azt is a borrow checker 'belapatolja' a funkcionalis kodblokk ownership-jebe, aztan szophatsz, ha utana vhol meg hasznalni akartad.
Ha nekem kellene dontenem most, hogy rust vagy kotlin, szemrebbenes nelkul kotlin-ra szavaznek. Igen, 2x annyi memoriat zabal, es igen, 1.5x lassubb, de 3-4x konnyebb dev-eket talalni hozza, akik 2x gyorsabban tudnak dolgozni, mert a jvm GC elintezi ezt nekik a hatterben, kb. 5-10% cpu overhead fejeben.
A rust borrow checker egyebkent iszonyu sokat fejlodott az elmult evekben; emlekszem, 2 eve meg 2-3x ennyit szoptam vele, mint minap, mikor elovettem. De meg mindig nagyon irritalo.
tl;dr, a rust megkoveteli a 'tiszta' kod irasat. nagyon megkoveteli. es kokemenyen betartatja. adat/kod szeparacio alapveto, es az ownership kovetese multithreaded kodban, bar iszonyat irritalo, teny, hogy sok-sok hibat lehetetlenne tesz. Ez kulonosen egy 3-4 dev-es team-ben fontos, ahol nem feltetlen tudja minden dev, hogy mivel mit lehet csinalni.
- A hozzászóláshoz be kell jelentkezni
en voltam team-ben, ami c kodot tartott karban, de nem ertett hozza.
ugyanugy remalom, sot, meg rosszabb, mert 5 sorban is tokonlovi magat, nem kell hozza 20-25.
És ez a C hibája, ugye?
aki jo dev-ekkel akar dolgozni, az rust-ot valasztva relative biztos lehet benne, hogy jo devekkel hozza ossze a sors
Ez kb. nettó bullshit. Balfasz dev-ek minden nyelv körül vannak. És ha a Rust popularizálódik, lesz majd még több a Rust körül is.
a 'kipusztitas' eros szo, de igen, arrol van szo, hogy a rust garanciai csak a rust kod hataraig terjednek, tehat ha regi kodba belerakod, az csak annyira lesz jo, amennyi rust kod van benne. ket dudas egy csardaban nem fer meg.
Magyarul ki akarjátok pusztítani a C-t, sőt, most már a C++-t is. Köszönöm, hogy igazoltad, amit a nyitóposztban elmondtam. Nekem már nem is kell többet mondanom...
Teljesitmenyben kb. ugyanott van, memoriahasznalatban is, produktivitasban is. HW kozeli developmentre momentan nem annyira jo (bar ez is gyorsan fejlodik btw), ez igaz, de ez a teljes piacnak csak egy pici resze.
A túrót van ugyanott teljesítményben és memóriahasználatban. Nem csak x86, meg ARM van. Neked is tudom javasolni, hogy írj hatékony kódot valami pár bites mikrokontrollerre Rust-ban. Ha egyáltalán támogatja... Ez a másik egyébként: C kb. mindenhova van az elmúlt fél évszázad platformjait nézve, C++ majdnem mindenhova. Rust? 4-5 platform a Tier 1, meg 20-30-nyi Tier2 és Tier3, amik viszont vagy működnek, vagy nem.
Ez a nyelv nem alkalmas arra, hogy mindenhol leváltsa a C-t és/vagy a C++-t.
- A hozzászóláshoz be kell jelentkezni
Tehat ha azert akarsz rust-ot hasznalni, hogy majd jol kiszuri az osszes buffer overflow-t, akkor csalodni fogsz. runtime ugyanis mar semmilyen ilyen csekket nem vegez. Tehat egy vulnerable lib, kernel hivas vagy hardver tovabbra is elkurja a kodot.
Csinál ellenőrzést runtime is. Viszont akkor kihagyja a kódból az ellenőrzést, ha fordítási időben lehet tudni, hogy nem címzel túl. (Például fix méretű tömbök fix indexekkel, stb)
Ami inkább para szerintem, hogy 2 millió sort húz be sudo-rs 116 másik projektből. Biztos el fogják olvasni, hogy mi változott, ha frissítenek majd valamit :)
https://www.reddit.com/r/linux/comments/133royd/comment/jibj1ev/
- A hozzászóláshoz be kell jelentkezni
+1, szerintem is egy ilyen cuccnak, mint a su/sudo, mindenekelott faek egyszerunek kell lennie. En meg --help -et se tennek bele, statikusan linkelnem.
Nem lehet ugyanis sechole-t tenni abba, ami nincs. A komplexitas hianya a legjobb security.
- A hozzászóláshoz be kell jelentkezni
Repülőgépet is lehet vezetni gépi támogatás nélkül. Autó is működik szervo, turbó meg minden egyéb nélkül.
Csakhogy sokkal kényelmesebb úgy vezetni, ha van szervo rásegítésed a kormányzáshoz. Sokkal kényelmesebb úgy repülni, hogy van egy gép, ami sokkal gyorsabban tud reagálni a szenzorjelekre, mint az ember.
Nagyobb az igény a társadalomban a logisztikára és mobilizációra, hogy csak azt engedjük volán mögé, aki mindenféle rásegítés nélküli autóval is tud minden körülmények között elfogadhatóan vezetni. Ezért használunk segítő technológiákat - mert a jelenlegi pénz, ember és idő nem elég arra, hogy a jelenlegi igényeket kielégítsük manuális munkával.
Ugyanígy ezért használunk növényvédőszereket és műtrágyát - mert a természetes élelmiszertermelés lehetőségei nem elegendőek a jelenlegi igények kiszolgálására.
Ugyanez miért ne működne a szoftvereknél? Amit meg tud csinálni a compiler/runtime, azt csinálja meg a compiler meg a runtime. Mert arra nincs erőforrásunk, hogy megvárjuk, amíg alacsony gépi támogatással megcsináljanak mindent az emberek tökéletesre. Mint ahogy arra se volt időnk, hogy megvárjuk, hogy mindent gépi kódban programozzanak fel.
- A hozzászóláshoz be kell jelentkezni
Plusz ma már van elegendő kapacitásunk az ilyen ellenőrzések (compile time) futtatásához, míg a c nyelv megalkotásakor szóba sem jöhettek.
- A hozzászóláshoz be kell jelentkezni
Te se értetted meg, amit mondtam. Nekem nem a Rust-tal van a bajom. Hajrá, használd, ha tudod forgatni, az egy tök jó dolog, írj benne fasza szoftvereket. De kiirtani egy másik nyelvet és beerőszakolni a helyére egy olyat, ami nem is tudja kiváltani minden területen? Nekem ezzel van bajom. Nem a nyelvvel. A hívőivel, akik jihadot hirdettek a C ellen. Na, ez a gáz. Nem az, hogy van Rust és vannak benne automatizmusok.
- A hozzászóláshoz be kell jelentkezni
Senki nem mondta, hogy nem lehet ezután C-ben programozni, nem akarja kiírtani senki, csak vannak olyan területek és biztonságkritikus szoftverek, ahol jobb, ha a biztonsági hibák 90+%-ának forrását adó memóriakezelési hibákat megoldja a runtime, ezért jobb lenne ilyen nyelven írni ezeket a szoftvereket.
Senki, de senki nem mondja, hogy vesszen a C és írtsuk ki, ezt csak te látod bele.
- A hozzászóláshoz be kell jelentkezni
Senki nem mondta, hogy nem lehet ezután C-ben programozni, nem akarja kiírtani senki
...
Senki, de senki nem mondja, hogy vesszen a C és írtsuk ki, ezt csak te látod bele.
ROFLMAO. Akkor ez mi?
https://hup.hu/cikkek/20230501/atirjak_a_su-t_es_a_sudo-t_rust-ba_a_memoriabiztonsag_miatt#comment-2914243
A C most már több mint 50 éves. Az elmúlt 50 év alatt a fejlesztőknek nem sikerült megugrani, hogy ne írjanak security rémálom kódot. Ahol nem írnak, ott nagyon szigorú szabályokkal korlátozzák be a fejlesztőket (misra-c például), nem véletlenül. Egy átlag C fejlesztő nem ír jó kódot, soha nem írt, és soha nem is fog.A C-nek úgy ahogy van már réges régen ki kellett volna pusztulnia. Nem, az nem egy jó nyelv. Ez egy nagyon alacsonyszintű nyelv, amit már réges régen túlhaladtunk. El kell engedni, már két évtizede el kellett volna.
Biztos csak én hallucináltam oda ezt a hozzászólást, igaz?
- A hozzászóláshoz be kell jelentkezni
Én továbbra is azt mondom, hogy baromira kellene egy valóság check. A valóság meg az, hogy biztonságos kódot C-ben iszonyat megszorítások mellett lehet írni (Pl. safety kritikus rendszerben nem is engedik azt hogy te dinamikus memóriát allokálj, de tényleg, érdemes a misra-c-t elolvasni). Rendszerprogramozásra meg megbeszéltük hogy nincs szükség C-re. Embeddednél (PIC és társai) még akár lehet, de már ott is van alternatíva. Továbbra is tartom a véleményem hogy a C-t már réges régen el kellett volna engedni, és egy jobb megoldást találni a problémára a tapasztalatok miatt. Hogy ez mi, azt a piacra bízom, nem én fogom megmondani.
- A hozzászóláshoz be kell jelentkezni
Én továbbra is azt mondom, hogy baromira kellene egy valóság check.
Hidd el, én is ezt mondom. :]
A valóság meg az, hogy biztonságos kódot C-ben iszonyat megszorítások mellett lehet írni (Pl. safety kritikus rendszerben nem is engedik azt hogy te dinamikus memóriát allokálj, de tényleg, érdemes a misra-c-t elolvasni).
Ezt az OpenBSD fejlesztőknek mondd. Feltétlen írd meg, mit kaptál érte. :)
Rendszerprogramozásra meg megbeszéltük hogy nincs szükség C-re.
Mi ez a királyi többes? Kivel beszélted meg? Mert velem biztos nem. Te állítottad, én cáfoltam.
Embeddednél (PIC és társai) még akár lehet, de már ott is van alternatíva.
Milyen alternatíva? Folyton kérem, hogy mutassátok már meg ezt az alternatívát, de eddig még egyet sem mutattatok. Nem, CLang/LLVM sincs mindenhova, C fordító (bármilyen) meg lesz.
Továbbra is tartom a véleményem hogy a C-t már réges régen el kellett volna engedni, és egy jobb megoldást találni a problémára a tapasztalatok miatt.
Tartsad. Én is tartom, hogy nem a C-t kell elengedni, hanem azt az ostoba corporate felfogást, hogy legyen minden hülyéből programozó, mert úgy le lehet szorítani a béreket, a hülyéket meg majd lekorlátozzuk, hogy ne csináljanak kárt. Aztán a hülyék hülyébbek voltak, mint bármilyen védelem készítői a legvadabb rémálmukban gondolták volna... És így jött el a modern informatika kora. :(
- A hozzászóláshoz be kell jelentkezni
de már ott is van alternatíva
Van. Az assembly. :)
a C-t már réges régen el kellett volna engedni
Jaj, dehogy! Kedvencem. Struktúrák, unionok, pointerek. Legjobb.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Persze, nem kell ehhez Rust. A doas tökéletesen működik, annak ellenére, hogy nem tud annyi mindent, mint a sudo, a userek 99,9%-nak az igényeit továbbra is lefedi, és sose hagy cserben. Rém egyszerű, mindössze 600 sornyi bonyolításmentes, könnyen olvasható C kód. Plusz a .conf szintaxisa is sokkal olvashatóbb, mint a szutyok sudoers.
Ehhez ráadásul nem kell zseninek lenni, csak arra kell rámenni, hogy a kódok egyszerűek és átláthatóak maradjanak. Elhiszem egyébként, hogy a Rust alapból memory safe, de ettől még bloat, aki fordított már cargo-val, azt tudja, hogy milyen borzalom lassú és körülmények egy pár ms alatt leforduló egyszerű C program fordításához képest.
Igazából még vannak a doas-nál is minimalistább megoldások, de ott már a használhatóság, általános konfigurálhatóság oltárán áldoztak be sok mindent. Ennek ellenére, én is ezt az elvet vallom, egy kód legyen minél kisebb és átláthatóbb. Nem is az erőforrásokkal spórolás miatt, bár arra is jó, hogy régi szutyok gépeken is jól fusson, hanem mert egy szög egyszerű kódot egyszerűbb debugolni, továbbfejleszteni, portolni, kevesebb bug, biztonsági rés csúszhat be, nem kell hozzá nagyvállalati tőke, hogy életben lehessen tartani, forkolni, kevesebb függőségük van, emiatt egy update-kor kevesebb minden törhet el, stb.. Ezért szeretem a suckless-féle megoldásokat, OpenBSD egyszerűségét sok helyen, a minimalista ablakkezelőket (általában 2-10k sor között megállnak), terminálos programokat, szkripteket. Egyszerűek, gyorsak, hordozhatóak, egy amatőr programozó és hobbista is könnyen megérti a kódjukat, legszutyokabb 10-20 éves gépeken és SBC-ken is repülnek.
A másik előnye ezeknek a minimalista megoldásoknak, mint a doas, hogy nem elterjedtek, és emiatt nem támadják őket. Egy sudo sokkal több helyen fent van, így az esetleges támadók arra mennek rá, nem fognak szórakozni egy doas törésével, ami alig használnak néhányan, azok is haladóbbak, akiket nehezebb megszopatni.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Kár, hogy kevesen gondolkodunk így.
Magam is mindig igyekeztem egyszerű és szép kódot írni. Ez addig szokott tartani, amíg nem jön valami management agymenés, ami az egész addigi filozófiával és irányelvekkel teljesen ellentétes dolog implementálását kéri. És akkor lehet megbaszni az egészet. Elindul az ámokfutás, aztán egy pont után meg már mindegy.
- A hozzászóláshoz be kell jelentkezni
Tessék mondani, és akkor attól lesz jó, hogy Rustban írják? Szerintem ez olyan mint a főzés. A legjobb alapanyagból is lehet ehetetlent főzni, ahogy a nem a legjobból is egész jókat lehet kotyvasztani.
Komolyan mondom, amikor elkezdődött ez a hype, egy egész napot elb.sztam a Rustra. Kár volt. Valahogy nem éreztem rá az ízére. Nem mondom, hogy nem jó, inkább nem nekem való.
- A hozzászóláshoz be kell jelentkezni
egy egész napot elb.sztam a Rustra. Kár volt. Valahogy nem éreztem rá az ízére.
Sajnos pár nagyságrenddel többet kell elb.ni-rá. C-re sem egy egész napot b-tál el, ha jól sejtem, mire megismerted.
Nehezítés, hogy a Rust nehezebben tanulható a hozzá képest faék egyszerű C-nél. Én legalább tízszer akartam feladni, de végül a kitartásom győzött és megszerettem.
- A hozzászóláshoz be kell jelentkezni
A C meg anno a (nagygepes) assembly-t cserelte le. Gondolom, mar akkor is ment a fujtatas, hogy mi ez a fos, lassu a forditas, nem csinalja, amit akarok, nehezkes, stb...
De mint a rust, az is 5x annyi gondot oldott meg, mint amennyit behozott, es legfokepp, rakenyszeritett egyfajta rendszerszintu gondolkodast a dev-ekre.
Most ugyanez pepitaban rust-tal. *yawn*
- A hozzászóláshoz be kell jelentkezni
> egy egész napot elb.sztam a Rustra. Kár volt. Valahogy nem éreztem rá az ízére.
ahogy en is. nekem se valo ez, pedig neha nem artana valami a C es a python kozott feluton, ami elegge lowlevel es gyors, de nem kell pointerekkel vagy str* fv-ekkel baszkodni egy string kiirashoz vagy split-eleshez.
- A hozzászóláshoz be kell jelentkezni
Go-t esetleg nézted?
- A hozzászóláshoz be kell jelentkezni
go binarist meg nem lattam 5 mega alatt, es a GC-jere nagyon fujtatnak a dev-ek, akik mar hasznaltak -- korantsem 'zero cost', mint amilyennek a google probalja beallitani.
kicsit egy .exe -be beagyazott java-ra emlekeztet engem a go, de tudom, a melyben teljesen mas van, csak laikus szemmel tunik igy, de azzal nagyon :P
- A hozzászóláshoz be kell jelentkezni
C++-ba van std:string, nem kell str* fv-ekkel baszkodni ;D
- A hozzászóláshoz be kell jelentkezni
Igen, van std::string.
Légyszi nyiss meg egy fájlt std::string fájlnévvel...
- A hozzászóláshoz be kell jelentkezni
std::string filename = "input.txt"; std::ifstream my_input_file(filename);
erre gondolsz?
- A hozzászóláshoz be kell jelentkezni
Attól hogy nem látod, még ott van mögötte a típuskonverzió. Kétszer is. Bár a konstruktort ki lehet magyarázni, hogy az technikailag nem az.
szerk: na, már látszik hogy én is régen c++-oztam.
Szóval van egy assignment, ahol történik egy const char* -> std::string konverzió, és a fájlnyitás, ahol ugyanez visszafele.
Mi ezzel a baj? Döntse már el a C++, hogy a standard libben akkor most az std::string a preferált szöveg, vagy a char*? Ugyanez igaz a tömbökkel dolgozó függvényekre. std::vector-t semmi sem kér.
Nyilván a fent vázolt esetben nem lehet probléma, csak ez azért faramuci, mert ha ugyanezt leírom C-ben, akkor ott sem. Ez egy egyszerű kód, mi baj lehetne?
De amint egy kicsit komplexebb dolgokat kell írni, elkezd kísérteni a C múlt, a meglehetősen unsafe memóriakezelésével.
A jó megoldás az lett volna, hogy dobni az összes ilyen dolgot a C++-ból. A nulla végű stringeket, a C tömböket, a pointereket. Ezekre vannak C++ biztonságos alternatívák. Csak akkor oda a C kompatibilitás. De hogy még a C++ standard lib se buzdítson ezeknek a safe alternatíváknak a használatára, na ezt nem veszi be az én gyomrom.
- A hozzászóláshoz be kell jelentkezni
C++11 óta van std::string alapú konstruktora az ifstreamnek: https://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream
Érdemes megnézni a CppCon előadásait, különösen a Committee panelbeszélgetést. Nekem az jön le belőle, hogy baromi felkészült emberek dolgoznak a C++ szabványon, és kb. mindennek oka van, hogy miért úgy csinálják. Konkrétan úgy kell előrevinni a C++-t, hogy a 40+ év alatt írt felfoghatatlan mennyiségű kódot (és a rengeteg azt ismerő fejlesztőt) is figyelembe kell venni.
És utána érdemes meghallgatni ezt az interjút Titus Winters-szel (aki egyébként Committee tag is), hogy a Google miért csinálta meg az Abseilt: https://softwareengineeringdaily.com/2021/11/19/se-google-with-titus-wi…
- A hozzászóláshoz be kell jelentkezni
De legalabb nem nodejsben irtak ujra. Az is valami.
- A hozzászóláshoz be kell jelentkezni
Az már van (polkit).
- A hozzászóláshoz be kell jelentkezni
na, azt mondjuk fel lehetne gyújtani a gecibe.
- A hozzászóláshoz be kell jelentkezni
nodejs-t is újragondolta az eredeti alkotója és már Rust-ban. Lásd:
https://github.com/denoland/deno
https://en.wikipedia.org/wiki/Deno_(software)
- A hozzászóláshoz be kell jelentkezni
Az a polkiten nem segít, az alatt ha jól rémlik, nincs egy komplett node, csak valaki szerint a policyknak volt jó ötlet a js.
- A hozzászóláshoz be kell jelentkezni
Biztos van benne szekta dolog is, mert jó lenne egy szoftvermegváltó :) de úgy is lehet nézni, mint szigorúbb előírást és ha nem is kell elsöpörni a C-t, de bizonyos helyeken meg lehet(ne) követelni szigorúbb előírásokat. Miért baj, az, ha azok a modulok, amik közvetlen kapcsolatban állnak a külvilággal, legyenek megszigorítva, hogy ne csak a rutinon múljon és ne kelljen félni, hogy egy másnap vagy bal lábbal kelés vagy öregedés miatt ilyen biztonsági dolgot mégis benézzen egy méltán nagyrabecsült szakértő.
- A hozzászóláshoz be kell jelentkezni
Létező probléma: a C nem való mindenre (és nem mindenkinek).
Más high performance alternatíva nincs sajnos. A C++ mint nyelv lehetne jó, de épp a C kompatbilitás erőltetése miatt inkonzisztens, bonyolult, nem ajánlom.
Ahol nem kell high performance kódot írni, arra azért vannak alternatívák bőven.
Hogy a rust-e a jó irány, azt meg majd az idő eldönti. De ahogy a C sem való való mindenre és mindenkinek, úgy a rust sem.
- A hozzászóláshoz be kell jelentkezni
+1
a gond az, hogy egy projektbe tobb nyelvet bevinni hatalmas szopas: 2x olyan nehez dev-et talalni hozza, interop a ketto nyelv/platform kozott tipikusan ubergaz, stb...
Akkor meg marad az, hogy a szuk keresztmetszet dont. hol a performance, hol a dev productivity javara.
- A hozzászóláshoz be kell jelentkezni
Mindeközben: Azt hiszem a pokol egyik bugyrában angolról magyarra géppel fordított leírásokat kell olvasgatni programozással kapcsolatosan:
https://learn.microsoft.com/hu-hu/training/modules/rust-introduction/2-…
A Rust egy nyílt forráskódú rendszerprogramozási nyelv, amellyel hatékony, biztonságos szoftvereket fejleszthet. A Rust segítségével kezelheti a memóriát, és szabályozhatja az egyéb alacsony szintű részleteket. De kihasználhatja az olyan magas szintű fogalmakat is, mint az iteráció és az interfészek. Ezek a funkciók megkülönböztetik a Rustot az olyan alacsony szintű nyelvektől, mint a C és a C++.
- A hozzászóláshoz be kell jelentkezni
Ezt én is többször beszívtam mert ahhoz elég jó a fordítás hogy első blikkre megtréfálja az embert..., a jobb felső sarokban van egy link amire bejön a normális angol dokumentum...
https://learn.microsoft.com/en-us/training/modules/rust-introduction/2-…
- A hozzászóláshoz be kell jelentkezni
amugy csak szerintem nyujt a rust hamis biztonsagerzetet? mintha mindenki azt hinne, hogy csak attol, hogy rust-ban van mar total secure lesz...
- A hozzászóláshoz be kell jelentkezni
Amig van benne `unsafe`, addig joesellyel igen... Avagy amig lehet olyan csacskasagokat csinalni hogy "ah, minek is irjuk meg ezt a reszt rendesen, biztos jo lesz ugy is ha itt-ott lesz egy-ket unsafe is...", addig pont annyira lesz biztonsagos ez az egesz mint a C.
- A hozzászóláshoz be kell jelentkezni
C-ben minden sor automatikusan unsafe, rustban csak az, ami unsafe-en belul van. Igy konnyebb megtalalni a potencialis ervenytelen pointer dereference-eket: ahol nincs kiirva az unsafe, ott nincs. Ahol forbid(unsafe) pragmaval kezdodik a modul, ott nem is lesz.
- A hozzászóláshoz be kell jelentkezni
C-ben minden sor automatikusan unsafe, rustban csak az, ami unsafe-en belul van.
Orbitális tévedés. Ha a hibás referencia unsafe környezetben jött létre, az safe módban is hanyattlöki az egészet.
- A hozzászóláshoz be kell jelentkezni
Mi az orbitalis tevedes abban amit irtam? A mutatott kodban a memoria hibat az unsafe kodban kell keresni es javitani.
- A hozzászóláshoz be kell jelentkezni
Beidéztem mi a tévedés. Szó szerint azt írtad: "C-ben minden sor automatikusan unsafe, rustban csak az, ami unsafe-en belul van." Ez a tévedés. Rust-ban is lehet unsafe az, ami a safe részben van.
- A hozzászóláshoz be kell jelentkezni
Igen, ezt irtam, de mi ezzel a gond? Az unsafe azt jelenti, hogy pointer-t dereferal, illetve globalis valtozot modosit. Ezeket a muveleteket kell unsafe-el megjelolni, kulonben nem fordul le a kod. C-ben ilyen nincs.
- A hozzászóláshoz be kell jelentkezni
Nem érted. Az a tévedés, hogy Rustban csak az unsafe, ami unsafe
blokkban van. Ha egy eredmény unsafe körülmények között keletkezett az már a safe részekben is unsafe marad. Forever. Tehát a safe részek is lehetnek unsafe-ek.
- A hozzászóláshoz be kell jelentkezni
Tenyleg nem ertem. Hoztal peldakent egy kodot, amiben van egy C fuggvenyre hivas, unsafe-ben. Ennek az eredmenyebol egy masik unsafe hivas csinal egy Rust-os objektumot. Amennyiben az a premissza, hogy a C-ben (static) allokalt memoria nem el elegendo ideig, akkor az memoriahibakent fog jelentkezni. En azt allitottam, hogy ezt a hibat az unsafe-fel jelolt kodokban kell keresni es javitani, nem pedig a datagen-t hivo normal rust kodban. Mi ebben az orbitalis tevedes?
- A hozzászóláshoz be kell jelentkezni
Nem. Te azt állítottad - szó szerint -, hogy "C-ben minden sor automatikusan unsafe, rustban csak az, ami unsafe-en belul van." Ez a tévedés. Nem az a tévedés, hogy az unsafe
blokkban lévő kódot kell javítani, az igaz. Az a tévedés, hogy a safe részben nem lehetnek unsafe részek. Az egy dolog, hogy a hibás referencia unsafe
blokkban keletkezett, de a dereferer, ami a trash-t okozta, az egy safe részben történt. Tehát tévedés, hogy Rust-ban csak az unsafe, ami unsafe
blokkban van. Ez a tévedés. Nem az, hogy az unsafe
blokkban kell kijavítani a hibát.
És egyébként még nem is beszéltünk a fordítói hibáról, amikor a fordító egy bug miatt rossz "safe" kódot csinál és az száll el. A linkelt topicban mintha ilyenre is lett volna valahol valami bugticket.
- A hozzászóláshoz be kell jelentkezni
Az a lenyeg, hogy linuxot kell hasznalni, mert az biztonsagos. Pont. :-)
- A hozzászóláshoz be kell jelentkezni
Ugyanazok hiszik azt, akik a szemétgyűjtős nyelveknél (Java, C# ... etc.) is elhitték ugyanezt.
- A hozzászóláshoz be kell jelentkezni
Hát ez sajnos egy eléggé nagy számosságú halmaz (a fejlesztők nagyobbik fele)... :(
- A hozzászóláshoz be kell jelentkezni
Nem tudom mit erőlködnek. LISP! Minden más a melegvíz újrafeltalálása! :-D
- A hozzászóláshoz be kell jelentkezni
"Az igazi programozó FORTRANban dolgozik."
- A hozzászóláshoz be kell jelentkezni
Greenspun's Tenth Rule of Programming:
"Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp."
Vagy egy másik:
"Every sufficiently complex application/language/tool will either have to use Lisp or reinvent it the hard way."
- A hozzászóláshoz be kell jelentkezni
Amit nem lehet assemblerben megírni, azt nem lehet megírni. :)
- A hozzászóláshoz be kell jelentkezni
Kérdés, érdemes-e szopatni vele magad, vagy rábízod a fordítóra...
Amúgy kicsit ellentmondás pont informatikában nem kihasználni olyan eszközöket, amik helyetted automatikusan generálnak gépi kódot, ami feltehetően egy olyan program kódja, ami szintén valószínűleg más helyett csinál meg valamit.
- A hozzászóláshoz be kell jelentkezni
Igen, szerintem a feladathoz választunk eszközöket. Ennyi. Én kis mikorkontrolleres rendszereket tervezek és programozok, és néha kell assembler is (időkritikus interrupt rutin), de a többit általában rábízom a fordítóra.
- A hozzászóláshoz be kell jelentkezni
Erre a ket toolra egy egesz csapat kell?
- A hozzászóláshoz be kell jelentkezni
Igen:
Harom intezi az insta csatornat
Ketto a tiktokot
Ketto adminolja a Facebook csoportot
Ketto vitatkozik GitHubon azokkal akik PR-t vagy issue-t kuldenek be
Ketto rajzolja az uj logot
Negy jar targyalasokra a befektetokkel es csinalja hozza a preziket
Egy irja a manualt
Egy valaszolgat a Linkedin uzenetekre - ahol indiaiak cold callozzak, hogy segithetnek-e lekodolni
Egy pedig tenyleg programozik - csak ezen kivul masik 3 projekten is + melle van egy heti 40 oras ettol fuggetlen foallasa is
- A hozzászóláshoz be kell jelentkezni
És ki az, aki a szélsőliberális, woke-kompatibilis, polkorrekt etikai kódexet írja és betartatja? Szóval kell oda még két ember. :P
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
azt csinalja majd az unatkozo HR-es, ne felj
- A hozzászóláshoz be kell jelentkezni
bar szarkazmusnak szantad, igazabol kivaloan bemutatja, hogy hogy is van az, hogy egy 10K embert foglalkoztato cegnel csak 1-2K developer van.
mert egy sikeres projektben sokkal, sokkal tobb munka van, mint "csak" development.
de meg egy olyan ubergeek projektben is, mint a linux kernel, kivancsi lennek, egyes PR-ek mogott idoben hany % development work van, es hany % non-dev munka. IMHO kb 50-50 a ketto meg ott is, egy nem ilyen geek korben meg durvabb.
- A hozzászóláshoz be kell jelentkezni
Ott, ahol fizikai terméket fejlesztenek, nem szoftvert, hasonlóan állnak termelésbeniek a dev-ekhez: hány ,,ingyenélő" fejlesztő jut egy operatív emberre.
Minden csak viszonyítás és nézőpont kérdése. És nyilván mindenki a maga szemszögéből közelíti a dolgokat.
- A hozzászóláshoz be kell jelentkezni
Valamiért az igény kitermelődött erre a sok szarra. Különben nem csinálnák.
Kapitalista nagyvállalat egy fillért nem fizetne ki ezeknek az embereknek, ha nem lenne belőle bevétele.
Hülye egy világ ez.
- A hozzászóláshoz be kell jelentkezni
És közben nézzük meg, mire van valójában igényünk. Az alapszükségleteket. Lásd étkezés, értelmes és nem pazarló lakhatás, a természetközeliség, ...
Ha a többit minimalizálná az emberiség, az ökológiai lábnyom töredékére csökkenne, utódainknak több maradna a bolygónkból.
- A hozzászóláshoz be kell jelentkezni
Magam is mindig ezt mondom :-)
Egyszerűbben gondolkodva, természetközelibben élve sokkal nyugodtabb lett az életünk.
- A hozzászóláshoz be kell jelentkezni
Amennyit itt fentebb gépeltetek, már mindenki megírhatta volna a kedvenc programozási nyelvén az adott alkalmazás új verzióját!
- A hozzászóláshoz be kell jelentkezni
TL;DR Ez pontosan mit jelent? A GNU-hoz köthető su és sudo -t írják át, vagy más rendszerekben találhatókat is? Pl. az OpenBSD-ben is lecserélésre kerül?
- A hozzászóláshoz be kell jelentkezni
Pl. az OpenBSD-ben is lecserélésre kerül?
Miért tennének ilyet? Szerinted ilyet kötelezővé lehet tenni? Theo de Raadt-ot ismerve el tudnád képzelni? Megannyi kérdés.
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Inkább arra szavaznék, hogy nem tudom elképzelni, de nem is igazán így gondoltam, hanem hogy az a sajátjuk, vagy valaki kintről szállítja vajon (úgy kell érteni, hogy az én hiányosságom, hogy sose gondolkodtam rajta és néztem utána). Mert ugye ha a bash-ban valamit változtatnak, gondolom az az OpenBSD-be is úgy kerül bele, nem ír magának Theo de Raadt sem újat, és nevezi bash-nak. Érzem én is hogy sántít a példa kicsit, de talán érthető mire gondolok. Ha a sudo-ra rákersek, látom, hogy van egy csapat, aki ezt készíti, és egy szó nincs arról, hogy Linux sudo.
- A hozzászóláshoz be kell jelentkezni
És például, ugyanaz van a FreeBSD-ben is, a név is ugyanaz mellette (Todd C. Miller):
- A hozzászóláshoz be kell jelentkezni
Nem nyúlnak ők más projektjéhez, írnak egy alternatívát gyakorlatilag. Aztán aki akarja, szállítja ahogy akarja. (Ezért is furcsák kicsik ezek a ki akarják irtani a rustosok a C-t dolgok).
Én személy szerint arra tippelnék, hogy ha késznek érzik, az amazon bevágja mint default a saját AMI-jaiba, a linux disztrók elkezdik alternatívaként szállítani, aztán az üzletibb vonalasokból (RH, suse) inkább azt nézem ki, hogy elkezdik defaultnak szállítani előbb-utóbb, a kevésbé azok (pl debian) meg inkább azt, hogy nem.
Az RHból kinézem azt is, hogy esetleg kibassza a régi sudot egyszer, a többiekből csak akkor, ha annak a fejlesztése abbamarad.
BSDk passzpiros. Az openesek szinte biztos nem, a többiben szerintem kb ports szinten bekerül esetleg.
- A hozzászóláshoz be kell jelentkezni
Nem nyúlnak ők más projektjéhez, írnak egy alternatívát gyakorlatilag.
Áh értem már, ez az info nem volt meg. Hogy az eredeti marad, és valakik írnak egy másikat belőle. Nem átírják a sudot, hanem újraírják, alternatívaként, aztán használja aki akarja. Kösz :)
- A hozzászóláshoz be kell jelentkezni
Az *összes újraírunk valamit rustban ilyen.
*kekeceknek: biztos van olyan, ahol a fejlesztő maga dönt így a saját treejében
- A hozzászóláshoz be kell jelentkezni
Hát, így kapásból a kernelt tudnám mondani, hogy értelmezésem szerint ott konkrétan lecserélésre kerülnek részek és a main jön kí (előbb-utbb) úgy. De értem persze, hogy az megint egy másik tészta.
- A hozzászóláshoz be kell jelentkezni
Ott sem igazán arról van szó, hogy lecserélésre kerülnének részek (legalábbis én még nem hallottam ilyet), alapvetően arról van szó inkább, hogy lehessen rustban is írni modult. Szóval én inkább azt látom, hogy esetleg driverek ilyesmik lesznek első körben majd, nem core jellegű funkciók, utána meg alakul esetleg más is, ha beválik, lehet, hogy lesznek modulok, amiknek a belsejét átírják, de ez még csak ködszurkálás / varázsgömbbe bámulás.
- A hozzászóláshoz be kell jelentkezni
Mert ugye ha a bash-ban valamit változtatnak, gondolom az az OpenBSD-be is úgy kerül bele, nem ír magának Theo de Raadt sem újat, és nevezi bash-nak.
Az OpenBSD-ben egyáltalán nincs alapból bash
, pdksh
, azaz Public Domain Korn Shell van benne, amit az eredeti Korn Shell forkoltak az OpenBSD-sek.
OpenBSD-sek a legtöbb cuccukat vagy megírják maguk, vagy forkolják, de maguk tartják karban.
- A hozzászóláshoz be kell jelentkezni
Theo már nem egyszer nyilatkozott a Rust-ról és nem úgy néz ki, hogy náluk egyhamar megjelenne:
https://marc.info/?l=openbsd-misc&m=151233345723889&w=2
Such ecosystems come with incredible costs. For instance, rust cannot
even compile itself on i386 at present time because it exhausts the
address space.
https://marc.info/?l=openbsd-ports&m=161449568814043&w=2
One thing Rust has done, is to teach everyone they must lead with
propoganda.
- A hozzászóláshoz be kell jelentkezni
egyszer mindenki megoregszik es atadja a stafetat. theo is. linus is. mi is.
- A hozzászóláshoz be kell jelentkezni
Vagy a sírba száll vele. Vagy addigra feltalálják a fiatalítást. De még ha át is adja, nincs garancia rá, hogy az utódja nem ugyanezen a véleményen lesz.
- A hozzászóláshoz be kell jelentkezni
The original Rust compiler was written largely in OCaml.
The current Rust compiler is self-hosted.
Meaning “Rust is written in Rust”.
What this means is that in order to get Rust onto a new platform, you must create a cross compiler on an existing supported platform, and cross-compile the Rust source code for the Rust compiler to produce a Rust compiler for the target.
This is called a “stage 0 compiler”.
Then you compile the Rust compiler with the Rust compiler on the target platform to create a locally compiled version of Rust.
This is called a “Stage 1 compiler”.
Then you rebuild the compiler again with the rebuilt compiler, which ensures your compiler has the latest optimizations.
This is called a “Stage 2 compiler”.
Then you do it again, and verify that the stage 2 and stage 3 output are identical.
This is called a “stage 3 compiler”, or sometimes a “check compile”.
This same process is used to port all self-hosted compilers.
The compiler writer’s joke about this is:
“You compile the compiler with the compiler, then you compile the compiler with the compiler again, so that it doesn’t have the bugs that it has”.
You are not expected to understand this, unless you’ve done compiler work professionally.
Trust me… it’s funny.
- A hozzászóláshoz be kell jelentkezni
Tyúk-tojás problémát meg kellett valahogy oldani. Azóta persze mindkettő Rust (forráskód és fordító). Vajon miért OCaml volt az első "tyúk"?
- A hozzászóláshoz be kell jelentkezni
https://news.ycombinator.com/item?id=6932601
The OCaml compiler was just written to get an implementation of the language that was good enough in which to write a compiler.
Ennyit találtam, hiába kerestem. Írhatták volna bármi másban is; aki tud programozni, annak majd' mindegy mibe írja (nyilván nem Brainfuck-ban). Lehet ebben a nyelvben voltak profik.
- A hozzászóláshoz be kell jelentkezni