• 23 odgovora
  • 7.897 pregleda
C++0x i garbage collector 21.11.2008. u 15:28 · pre 218 meseci #1
Čitam nešto po netu da će C++0x standard dopuštati implementaciju garbage collector-a? Što znate o tome i čega sve novog očekujete u ovom standardu?
Re: C++0x i garbage collector 21.11.2008. u 15:58 · pre 218 meseci #2
Mislim da je Stroustrup bio u pravu kada je rekao da je C++ vec isuvise komplikovan i da nikakva prosirenja ne dolaze u obzir. Prosirenja jezika C++ su odavno presla u onanisanje zato sto se C++ sve manje koristi van bazicnih namena (drajveri, OS-evi itd.). Za jednostavne programe kao sto je ovaj

Code:
#include <iostream>

using namespace std;

int n = 5;

void f(const double &x) {
    n++;
    cout << x << endl;
}

int main() {
    f(n);
    
    return 0;
}


smatram da bi bar 95% profesionalnih programera na tom jeziku trebalo da zna (sa sigurnoscu) sta ispisuje bez kompajliranja. Da li je to slucaj? Sumnjam da vise od 80% profi C++ programera sa sigurnoscu zna tacan odgovor.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: C++0x i garbage collector 21.11.2008. u 18:18 · pre 218 meseci #3
Očito se ostali baš i ne slažu već se na neki način trude poboljšati C++... Nitko ne kaže da je jednostavan, no ono što ga "krasi" je svakako snaga, i zato se ipak danas dosta koristi i nema razloga da ga se ne unaprijedi.

I proširenje ne znači nužno da će se komplicirati. Štoviše, vjerujem da će se i olakšati i pojednostaviti u dosta segmenata.
Re: C++0x i garbage collector 21.11.2008. u 20:19 · pre 218 meseci #4
Ima tu dosta lepih stvari ali koliko ja znam GC nece biti jedna od njih, iskreno ni ne patim mnogo za time u C++u, mnogo me vise raduju neke druge stvari kao sto su generics-i i lambde i templates sa varijabilnim brojem tipova. Al sve u svemu dosta smo jos daleko od tranutka kad se 0x bude zvanicno pojavio u mainstream alatima.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: C++0x i garbage collector 21.11.2008. u 23:04 · pre 218 meseci #5
osnovni smisao C-a, pa i C++-a je brzina ,
c++ je vec prilicno usporen zbog nekih zahteva objektne metodologije

a sumnjam da bi dodatak GCa povoljno uticao na brzinu
a i ne vidim zasto bi to bilo potrebno,

@Nedeljko , zavisi sta se smatra za profesionalnog programera :)
Re: C++0x i garbage collector 22.11.2008. u 00:00 · pre 218 meseci #6
Citat:
EArthquake: 
a sumnjam da bi dodatak GCa povoljno uticao na brzinu
a i ne vidim zasto bi to bilo potrebno,

Pa i ne bas... naravno, al mozda bi mogao neki "kontrolisan nacin" upotrebe GC-a a ne njegovo totalno prisustvo ..
ili neka vrsta poboljanog pracenja alociranja/dealociranja memorije , sa detaljnijim izvestajem u debug-u itd ..
da bi u nekom smislu skratili nekad potrebno vreme razvoja programa ili nekog testiranja ..
Nekad i brzina nije bas presudan faktor osim ako je rec o 3D igrama , drajverima , zahtevnom grafikom ili nekom real-time simulacijom,
Verovatno kreatori novog standarda imaju viziju takve buducnosti da li ce c++ da postane jezik
za uzan krug ljudi sa specificnom namenom ili ce da ostane i dalje koliko toliko siroko rasprostranjen.
Ostaje nam da vidimo ...
Potpis
Viva lollapalooza
Re: C++0x i garbage collector 22.11.2008. u 15:16 · pre 218 meseci #7
C++ je jedini programski jezik u svemiru za koji je nemoguće napisati kompajler koji bi bio kompletan i zaustavljiv. To je matematički dokazano. Oćete li nink na PDF?
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: C++0x i garbage collector 22.11.2008. u 15:41 · pre 218 meseci #8
Citat:
Nedeljko: C++ je jedini programski jezik u svemiru za koji je nemoguće napisati kompajler koji bi bio kompletan i zaustavljiv. To je matematički dokazano. Oćete li nink na PDF?

Može
Re: C++0x i garbage collector 22.11.2008. u 16:42 · pre 218 meseci #9
C++ je ruzhan, zastrashujuce obiman i preterano liberalan. I trenutno prolazi kroz drugi pubertet. Ako mislite da pada u zaboravan ili niste u toku ili gledate u pogreshnom pravcu. I ne, GC je totalno nepotreban takvom jeziku - imate D odmah preko puta; moguce je da ce imati lepu buducnost.

@Nedeljko
Koja je poenta tvog posta o "profesionalcima"?
Re: C++0x i garbage collector 23.11.2008. u 22:56 · pre 218 meseci #11
Citat:
NastyBoy: C++ je ruzhan, zastrashujuce obiman i preterano liberalan. I trenutno prolazi kroz drugi pubertet. Ako mislite da pada u zaboravan ili niste u toku ili gledate u pogreshnom pravcu. I ne, GC je totalno nepotreban takvom jeziku - imate D odmah preko puta; moguce je da ce imati lepu buducnost.

@Nedeljko
Koja je poenta tvog posta o "profesionalcima"?


mislim da je poenta posta , da dobrim c++ programerima ne treba GC
tj da ljudi koji stvarno poznaju kako treba programirati na tom jeziku , a ne "kursadzije" koji su procitali c++ za 21 dan, umeju da upravljaju memorijom , i da to nije nista preterano tesko
Re: C++0x i garbage collector 24.11.2008. u 08:06 · pre 218 meseci #12
Citat:
Goran Rakić: Fora sa pretprocesorom?


Fora sa sablonima (templates).

http://en.wikipedia.org/wiki/C%2B%2B#Templates

Citat:
In addition, templates are a compile time mechanism in C++ which is Turing-complete, meaning that any computation expressible by a computer program can be computed, in some form, by a template metaprogram prior to runtime.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: C++0x i garbage collector 24.11.2008. u 08:09 · pre 218 meseci #13
Poenta sa profesionalcima je da ni profesionalni C++ programeri ne znaju sve aspekte jezika C++, jer je previse zakomplikovan raznim "prosirenjima". Koliko shvatam, lepota C++ jezika u odnosu na C nije tipa "zivela sloboda", jer je C za to dusu dao, vec mogucnost stavljanja nekih stvari pod kontrolu.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: C++0x i garbage collector 24.11.2008. u 09:26 · pre 218 meseci #14
Citat:
EArthquake: mislim da je poenta posta , da dobrim c++ programerima ne treba GC
tj da ljudi koji stvarno poznaju kako treba programirati na tom jeziku , a ne "kursadzije" koji su procitali c++ za 21 dan, umeju da upravljaju memorijom , i da to nije nista preterano tesko

Slazem se sa poentom , ni meni ne treba GC ,al vidis kad radis "profesionalno" pa nasledis neki kod-projekat od nekog
pre tebe, pa juris danima bug-ove koji su nastali zbog memory leak-ova u programu , jer covek je bio razmazen
pa nije citao ni sta mu pise u output prozoru ni ostale compiler warnings-e ..
Ukucas onda u guglu onda "debuging memory leak software" i izbaci ti 100 linkova sa programima koji to detektuju
i od kojih neki kostaju par hiljada dolara . Ocigledno odnos ponude i potraznje je dobar cim se prodaje za te pare ...
A upravo je i to poenta "kursadzije" koji su procitali c++ za 21 dan" i dobrih C++ programera :)


Potpis
Viva lollapalooza
Re: C++0x i garbage collector 24.11.2008. u 13:39 · pre 218 meseci #15
Ako cemo tako, dobrom programeru je dobar i asembler.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: C++0x i garbage collector 24.11.2008. u 16:00 · pre 218 meseci #16
Citat:
Nedeljko: Ako cemo tako, dobrom programeru je dobar i asembler.

Super ,pa onda pisi u asembleru programe tipa : Word ,Excel , Photoshop ,Autocad itd ...
I to isto preporuci tim velikim firmama i njihovim programerima koje prave pomenute programe :)


Citat:
Nedeljko: Poenta sa profesionalcima je da ni profesionalni C++ programeri ne znaju sve aspekte jezika C++, jer je previse zakomplikovan raznim "prosirenjima". Koliko shvatam, lepota C++ jezika u odnosu na C nije tipa "zivela sloboda", jer je C za to dusu dao, vec mogucnost stavljanja nekih stvari pod kontrolu.

Ok .. pa reci onda koje su to stvari ?

Potpis
Viva lollapalooza
Re: C++0x i garbage collector 24.11.2008. u 16:10 · pre 218 meseci #17
Na primer "poluautomatsko" skupljanje djubreta (treba napisati kod klase kako treba, a onda konstruktori i destruktori rade posao), enkapsulacija (ne mogu da guram nos gde mu nije mesto) itd. Treba li da nabrajam?

Citat:
deerbeer: Super, pa onda pisi u asembleru programe tipa : Word ,Excel , Photoshop ,Autocad itd ...
I to isto preporuci tim velikim firmama i njihovim programerima koje prave pomenute programe :)


O tome ti celo vreme i pricam. Nisu ljudi dzabe izmisljali GC i ostala pomagala. Ma, da, ja sam ekstra mega vau giga programer i ne treba mi nista od toga - samo hex editor, pa udri. I MS i Adobe i Autodesk imaju ekstra mega vau giga programere, pa koriste savremena dostignuca da bi bili konkurentni.

Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: C++0x i garbage collector 29.11.2008. u 10:41 · pre 217 meseci #18
Kad su vec dodavali razne perverzije, zasto se nisu setili statickih klasa (sve metode i atributi su automatski staticki) za najjednostavnije implementiranje singltona?
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: C++0x i garbage collector 29.11.2008. u 15:10 · pre 217 meseci #19
Moje misljenje je da je C++ dobar za dobre programere , a imas i veliku kontrolu u svakom smislu.
Oni koji su lenji ili oni koji nemaju toliko smisla za arhitekturu :) uvek mogu da izaberu neki "automatizovaniji" jezik , npr. C# (koji je by the way dobro zamisljen )
Normalno nemogu svi da znaju sve elemente C++ - a ali bi trebalo da bar to sto znaju rade kako treba ... sto bi rekli ovi iz MS - a good practices.
C++ je osmisljen da bi se povecala produktivnost u odnosu na C. Npr. ako Adobe pravi novu verziju Photoshop - a uzece klase is stare i isvesce nove , prosirene , neke ce da doda , neke da oduzme itd . i to je mnogo brze nego kod proceduralnih jezika gde bi za svaku verziju morali da procesljavaju ceo kod i da menjaju milion sitnica (i time naprave neke nove greske) da bi nekoj novoj funkciji mogli da proslede odgovarajuci tip podatka itd ...
Ovo sa automatizacijom stoji ali ko zna sta bi bilo sa brzinom da postoji (jer tu automatizaciju mora da radi neki ubaceni kod) ... inace imas i auto pointere.
Verovatno bi najbolje bilo da postoji neko extra dobro IDE za C++ (nesto kao za C#) koje podvlaci i upozorava na moguce greske itd. itd. sto nije nemoguce da se napravi.

I ovo za GC
Jedino intererpretirani jezici ili jezici kod kojih je izvodjenje programa na neki nacin kontrolisano mogu da imaju kompletan GC.
Kod C++ programa sve sto se desava kontrolisano je samo nasim kodom (i onim sto kompajler ubaci :) )tako da sve vezano za GC mora da se uradi u trenutku kompajlovanja.




[Ovu poruku je menjao Eurora3D Team dana 29.11.2008. u 16:34 GMT+1]
Potpis
HomePage http://www.eurora3d.com
Re: C++0x i garbage collector 08.12.2008. u 20:14 · pre 217 meseci #20
Citat:
Nedeljko: Kad su vec dodavali razne perverzije, zasto se nisu setili statickih klasa (sve metode i atributi su automatski staticki) za najjednostavnije implementiranje singltona?


Crni Nedeljko :)

Statičke klase su perverzija za jezike koji nemaju slobodne funkcije. C++ kao i svi normalni jezici ima slobodne funkcije i ništa mu ne trebaju statičke klase.
Potpis
IOCC
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme