Új hozzászólás Aktív témák

  • Lortech
    addikt

    Mitől primitívebb? Vagy a jóval egyszerűbbet értetted alatta?
    A genericek jatekszernek tekinthetok a c++ templatekhez viszonyitva, es ez a kulonbseg csak noni fog ahogy 2-4 even belul bekerulnek a c++ szabvanyba a conceptek.
    Szinten hianyzik nekem a tobbszoros oroklodes lehetosege. A tobbszoros oroklodes olyan, mint az ejtoernyo. Lehet, hogy egesz eletedben nem lesz ra szukseged. De ha egyszer igen, akkor ku***ra :)
    Ezenkivul a beepitett es kotelezoen hasznalt garbage collector vagy a memoriat, vagy a processzort zabalja meg, en egyiket sem szeretem.

    Én inkább letisztultabbnak és logikusabbnak mondanám.
    Na nezzukcsak hanyfele parameteratadasi mod is van c#ban?

    ugye van egy a beepitett value tipusoknak es altalad keszitett value tipusoknak.
    aztan van ezeknek egy referencia szerinti atvetele
    vagy egy objektumreferencia szerinti
    es van egy amit meg nem hasznaltam, az a tomb-referencia szerinti.

    ez 4. es hanyfele van c++ban?
    1. inicializalas szerinti. a parameteratadas ugyan ugy mukodik, mint a valtozo-inicializacio. Semmi tobbet nem tud, viszont onnan mindent.

    . Mai igényeknek sokkal inkább megfelelőbbnek.
    Ezt alairom, mint mondtam is, sokmindenre jo, de ettol nem lesz jobb :) Egy fiat sem lesz jobb auto, mint egy ferrari csak mert folduton is tudsz vele menni anelkul h szetvagnad a padlolemezet :)

    . Objektum orientált nyelv, az egész arra van felépítve, nem csak támogatja, mint a c++
    a C++ multiparadigmas nyelv, tamogatja strukturalt, objektumorientalt, deklarativ, generativ programozast is, illetve kis erolkodessel funkcionalis mukodes nyomait is eszre lehet venni. Ezek kozul ma az objektumorientaltsag a legnepszerubb, de az, hogy egy nyelv nem is tamogat mast nem igazan feature az en szememben.

    Úgy tűnik nekem, kicsit lenézed ezt a nyelvet, gondolom a vs.net alapján, azzal szokták azonosítani, pedig a nyelv önmagában nem határozza meg a teljesítményt.
    Nem nezem le, egy egyszerubb nyelvrol van szo, kevesebb feature-el, ennyi. VS.net-hez meg nem volt szerencsem, es nem is lesz. es a nyelv valoban nem hatarozza meg a teljesitmenyt, de bizonyos korlatokat ad az elerheto teljesitmenyre, amely keretek a c# eseteben joval szukebbek, mint c++ eseteben.

    Ha .net-ből indulunk ki, a c++ semmivel sem gyorsabb.
    most igy hirtelen nem tudom, mire gondolsz. ha a JIT compilerekre, akkor igen, egy JIT compiler nehany perc alatt egy ciklusokbol allo kodreszletet ki tud optimalizalni annyira, mint azt egy c++ fordito tenne ugyan azon algoritmus eseten gyenge optimalizacioval, de eros optimalizaciot, autoparallelizaciot, SIMD forditast figyelembe veve baromira eselyetelen barmilyen VM-en futo nyelv.

    Egy jó tanárral c#-pal is betekintést kaphatunk a színfalak mögé, más kérdés, hogy valóban sokkal inkább elrejti a nyelv a programozók elöl ezeket, mert nem kell használni.
    valoban nem kell, ennek meg is van az ara (hatkonysag)

    Egyébként sok egyetemen és főiskolán egyre inkább c#-ot használnak c/c++ helyett.
    es en ezt teljes mertekben tamogatom, ahhoz, hogy valaki megtanuljon c++ul evekre van szukseg gyakorlattal, es altalaban semmi szukseg ra, altalanos alkalmazasokhoz a c# tokeletesen megfelel, es gyorsabban lehet vele haladni, mint ugyan azon modszereket alkalmazva c++al (habar egy igazi c++ programozo aki STL programozo is azert eleg sok esetben odaver egy c# programozonak, az STL egy brutalis szornyeteg, ha valaki megtanulja hasznalni hihetetlenul felgyorsitja a munka, csokkenti a hibak szamat, de valoban baromi nehez effektiven hasznlani)

    Talán nem véletlenül.
    valoban nem veletlenul, jo dolog az a c#. ugyan az a tendencia, mint a szep mives ablakkeretek helyett muanyagablakkeretet, az acelollo helyett eldobhato muanyagot, porcelantanyer helyett muanyagtanyert, a tegla helyett vasbeton, es meg lehetne sorolni, hogy a jobb minosegu es draga dolgokat szepen felvaltjak az rosszabb minosegi jellemzokkel rendelkezo, de olcsobb megoldasok. Ez megy vegbe a programozok koreben is, a bonyolult es nagyon eros nyelveket felvaltjak az egyszerubb, gyengebb, olcsobban megtanithato nyelvek, amelyeket tobb ember kepes megerteni es elsajatitani, es kevesebb ido alatt.
    Es ez nem rossz, vagy jo, hanem ez van, ezt kell szeretni.

    Szívesen látnék egy .nettől CLR-től teljesen független c# megvalósítást.
    A GCC4-re valo valtas egyik motivalo tenyezoje volt, hogy alkalmassa tegyek a forditot stackmachine-re valo forditasra is(ilyen a P-code, a Java byte kod, illetve a CIL is), A java back-end fejlesztese eleg docogosen halad, ha halad eppen, nem tudom, hogy mi a projekt allapota, de ha egyszer elkeszul szerintem .NET-et is for tudni forditani, olyan brutalis a ,,veletlen'' hasonlosag a ket nyelv kozott :) (asm utasitasok 80%-anak van egy-az-egybeni megfeleloje a masik kornyezetben). Minden esetre egy ilyen backend biztosan frontenddel egyutt keszul majd, es akkor lehet majd forditani szep nativ kodot is elvileg a c# progikbol. De a c# ebben az esetben is igen komoly hendikeppel indul, ugyanis a c++ runtime nem ismeri az objektum fogalmat, ezert nincs benne introspekcio, a c# viszont igen, es muszaly is neki, ez igen komoly hatranyt jelent objektumorientalt kod futtatasa eseten. Termeszetesen ciklusokra, es hasonlokra epulo kod ez esetben ekvivalens hatekonysaggal lesz fordithato, mint c++ eseteben.

    [Szerkesztve]

    Előszöris köszi, hogy leírtad a véleményed. :R
    Garbage collector meglepően hatékonyan végzi a dolgát, nyilván egy jó programozó manuálisan hatékonyabban meg tudja oldani, csak sok felesleges meló és komoly odafigyelés kell hozzá, sokkal nagyobb a hibalehetőség. Szóval a GB jóó. :))

    Paraméterátadás szerintem pont megfelelően van megoldva, eléggé kézzel foghatónak, egyszerűnek, beszédesnek tartom. Az a 4 igazából csak 2, mégha máshogy is hívod.

    Ha .net-ből indulunk ki, a c++ semmivel sem gyorsabb.
    most igy hirtelen nem tudom, mire gondolsz. ha a JIT compilerekre

    Arra gondoltam, hogy a végén ugyanaz a kód fog lefutni, attól függetlenül, hogy c#-ban írtad eredetileg, vagy c++-ban. Persze ez a.net (CLS, CLR) sajátossága. Mindegy, ezt így kár kiragadni, a contextusban volt értelme.

    Az utolsó előtti bekezdéseddel értek egyet legkevésbé, én nem gondolom, hogy a c#-ban ennyire alárendelték a minőséget és a teljesítményt az elsajátíthatóságnak és a ''fejleszthetőség sebességének'', és a c++-t sem tartom ebben etalonnak, de valódi érvekhez egyelőre kevés vagyok, a prog.tanárommal biztosan jól eldiskurálnátok erről :D, ő c/c++/c# guru és mégis a c#-ot forszírozza, pedig a többszálú illetve párhuzamos programozás a szakterülete, erősen a hatékonyságra és teljesítményre kihegyezve. /Na meg a 4gl nyelvek./

Új hozzászólás Aktív témák