Citat:
bkaradzic: Recimo radim na nekom embedded OS-u koji nije pravljen u MS... Koje probleme mi C++/CLI rešava?
Bojim se da su tvoji problemi manje odraz fundamentalno loše dizajniranog jezika kakav je C++, a više nekih tehničkih aspekata dostupnih razvojnih okruženja.
S obzirom da za standardizirani jezik, kakav već C++/CLI jest, ne postoje non-MS prevoditelji, ne mogu ne primjetiti u gorenavedenom pitanju suptilnu autoironiju autora: "jebiga, ponekad nemaš izbora!". Ili je možda ni nema? :)
Također, moja iskrena sućut zbog bakćanja konkurentnosti dijeljenim stanjem u jeziku u kojem je izraz "a = a + 1" nedeterministički.
Glede C++/CLI, toplo preporučam:
http://www.gotw.ca/publications/C++CLIRationale.pdf
Citat:
Dragi Tata: Ti ljudi izgube živce, a ja koristim njihove gotove biblioteke bez gubljenja živaca - život je lep.
Koristiš u produkciji te biblioteke? Što kad linija koda u stilu:
Code:
compM<ListM>()[ makePair[X,Y] | X<=list_with(1,2), guard[true], Y<=list_with(3,4), guard[ (Y %divides% X) %equal% 3 ] ] ]
uzrokuje neki suptilni race condition na nekoj upravo izašloj big-endian arhitekturi sa 16 jezgri, na nekom komercijalnom slabo-poznatom prevoditeelju - što možeš učinit sa nekom open source bibliotekom iza koje nijedna velika kompanija (što je i očekivano, s obzirom koliko kaubojskog koda sadrži) nema svoj potpis, dakle nikakav QA i garancija stabilnosti sučelja? Prijavljivati bug na mailing liste i polagati nade u elitne Kauboje, genijalne volontere, da se udostoje ispraviti bug ASAP?
C'mon, valjda netko sa toliko iskustva poput TEBE zna da tako Stvarni Svijet ne funkcionira :)
Citat:
Zašto "LOL"? To je dobro - ne želim da koristim biblioteke koje svaki priučeni "programer" menja kako mu se ćefne.
Slabo opravdanje za ovakav "elitizam" koji je više iznuđen odvratnom C++ TMP sintaksom nego "kvalitetom programera" - bilo koji "priučeni programer" nema teoretske šanse da razumije kod iza biblioteki poput Blitz++, Phoneixa i boost, i ti to dobro znaš.
Osim toga, open source model je odavno pokazao da, što više ljudi kontribuira u nekom projektu, to se brže trijebe bugovi i on evoluira, ma koliko on gadan bio.
Citat:
Na žalost, ne postoje.
Na svu sreću, sve je manje domena u kojima je C++ jedini mogući izbor. Ne tako davno, managed DirectX je bio puka fantazija... U
vrlo bliskoj budućnosti, svi MS-ovi kompajleri će biti izgrađeni na istom compiler pipelineu, (čitaj: emitirati izvršni kod jednake kvalitete), od Excel makroa pa do cl.exe...
Citat:
srki: Nema to veze sa mudima nego sa time da li zelim da ispravljam tudji kod. Da ja to zelim ja bih koristio Linux. Posto ne zelim da ispravljam gotove stvari nego da ih samo koristim onda cu da ostanem na Windowsu i koristicu gotove biblioteke. Ne slazes li se da je to uobicajeno razmisljanje u realnom svetu dok je u studentskom svetu gikova uobicajeno da oni mogu sami da tumace tudji kod i da ispravljaju tudje bagove jer imaju previse slobodnog vremena ili su dokoni. Jos je smesnije sto dosta linuksovaca prica kako im je bitno to sto mogu sami da isprave bagove iako njih 0.0001% to zaista i radi. Ne verujem da me mozes ubediti da je dobro da ja mogu da tumacim i ispravljam tudje template biblioteke jer cak i da je sintaksa mnogo lepsa opet to ne bih radio jer nisam neki gnu/linux zealot.
I te kako ćeš to raditi, i za tebe vrijedi isti odgovor kao i za Nemanju. Who you gonna call? :)
Samo je fora sa linuxom što obični C kod možeš razumjeti, modificirati, i u krajnjoj liniji ispravljati bugove, barem 100 puta lakše nego u heavily templated C++ bibliotekama.
Citat:
Koja alternativa mi nudi toliko nivoa apstrakcije kao C++ pa da mogu da koristim OOP a takodje mogu i da se spustim na nivo sistemskog programiranja i direktnog pristupa memoriji (jako bitno u mnogim slucajevima)?
Imaš npr. u C# P/Invoke koji izuzetno lagano veže nativne sistemske API-je, i pruža direktan pristup memoriji preko pokazivača i sl. kroz "unsafe" blokove.