[ BlueSoniq @ 22.08.2003. 23:56 ] @
Posle ucenja C# i PHP, shvatio sam da je C super samo me nerviraju
pointeri. Mogu li se izbeci?


Kasnije dodato (umesto C treba da stoji C++) Sorry!

[Ovu poruku je menjao BlueSoniq dana 29.08.2003. u 03:02 GMT]
[ Mikky @ 23.08.2003. 00:09 ] @
Kratko i jasno, NE.
Bez njih neces daleko dogurati.
[ Reljam @ 23.08.2003. 00:18 ] @
Heh. U C#u skoro da postoje *samo* pointeri, i tamo ti nisu smetali :)

class A
{
string b; // <-- ovo je pointer u C#u
}

Naravno, odgovor je da ne mozes da ih izbegnes, kao sto nisi mogao da ih izbegnes ni u C#u.
[ Voodoo @ 25.08.2003. 14:53 ] @
šta je toliki problem u vezi pointera? pointer je adresa promenljive u memoriji... no more, no less...

[Ovu poruku je menjao Dragi Tata dana 26.08.2003. u 10:37 GMT]
[ Marko Stankovic @ 26.08.2003. 15:50 ] @
Koliko ja znam i pascal ima pokazivace :)) Mada ipak rad sa pokazivacima nije bas preterano jednostavan, narocito kada koristis dinamicke tipove podataka, tipa jednostruko lancane liste, stabla, dinamicke matrice itd...
Plus perverzija u c-u recimo ako imas neki niz a:

a[5] je isto sto i *(a+5), a to isto sto i *(5+a) a to tek isto sto i 5[a] :))
znaci a[5]==5[a] :)
[ brcha @ 26.08.2003. 16:05 ] @
Što se tiče pointera, i asembler ima pointere, tako da svaki programski jezik koji zavređuje taj naziv mora da ima pointere (ili nešto što ih simulira). <irony>Samim tim, možeš da zaključiš da ti pointeri nikad neće koristiti niti ima ikakvog smisla uopšte razmišljati o tim pointerima. Šta su uostalom ti pointerima i ko je uopšte igde video pointere?</irony>

Stvar je u tome da nema razloga da se plašiš pointera. Neće da te pojedu. Samo treba da shvatiš šta oni stvarno predstavljaju i ne može ništa da ti bude nejasno i strano. Ako imaš neko konkretnije pitanje, naravno slobodno pitaj, ali nemoj nikako da izbacuješ pointere iz učenja C-a!
[ -zombie- @ 26.08.2003. 17:22 ] @
Citat:
Voodoo:
svaki nesrećnik, naviknut na bejzik i paskal, od pointera strepi i zazire...

šta je toliki problem u vezi pointera? pointer je adresa promenljive u memoriji... no more, no less...


šta bre pričaš? paskal itekako ima pointere. jeste da su u delphiju oni lepo "sakriveni" sintaxom koja podseća na javu, ali ih i delphi itekako ima...

a za paskal, recimo da svako ko je radio bilo šta ozbiljnije u paskalu koristio pointere. ja sam ih recimo koristio dok ti još verovatno nisi znao ni da nađeš da pritisneš "any key" ;))


poruka za moderatora: ako već brišeš poruke koje koje mogu da izazovu flame, izbriši poruke koje mogu da izazovu flame.. misli malo o tome...
[ BlueSoniq @ 26.08.2003. 17:23 ] @
Ne plasim se ucenja, mislim da su nepotrebni. Programiram dosta dugo (mator sam)
i nikada mi nisu bili potrebni. Sve logicke i tehnicke probleme sam resavao bez njih. Zato sam na kraju i postavi pitanje o njihovoj svrsishodnosti. Sto se tice:

string a;

char[] mojkarakter = a.ToCharArraY();

tek sada je string postao niz.


Sto se tice prenosa varijabli u neku drugu funkciju to moze da se
uradi preko reference sto u neku ruku predstavlja pointer ali je daleko lepse i
citljivije.

static void nadjinesto (ref string mojapromenljiva)
{

}
[ Dragi Tata @ 26.08.2003. 17:38 ] @
Citat:
-zombie-:

poruka za moderatora: ako već brišeš poruke koje koje mogu da izazovu flame, izbriši poruke koje mogu da izazovu flame.. misli malo o tome...


Izvini zombie, evo obrisano. Slabo nešto pratim ovu temu...
[ leka @ 27.08.2003. 10:55 ] @
Elem, da kazem moje (kratko) misljenje u vezi ovoga - C programiranje bez rada sa pokazivacima potpuno zaboravi. No, veruj mi jedno - kad jednom naucis da radis sa pokazivacima kao valja posle ces sam sebe pitati "zasto sam ja prethodnih godina ziveo u mraku". Naravno uvek se postavlja pitanje "koliko nisko zelim da idem"? Ako zelis da radis obicne, svakodnevne GUI poslove mozda ipak ne bi trebalo da se bavis C-om. O tome se vodila diskusija na (cini mi se) "Art of Computer Programming" diskusionoj grupi (tema se zvala "Koji programski jezik?").
[ Rapaic Rajko @ 27.08.2003. 15:13 ] @
A je l' moze da se leti bez krila...?

Rajko
[ BlueSoniq @ 27.08.2003. 17:49 ] @
Citat:
leka:
radis sa pokazivacima kao valja posle ces sam sebe pitati "zasto sam ja prethodnih godina ziveo u mraku". Naravno uvek se postavlja pitanje "koliko nisko zelim da idem"?


Ako mozes da mi das nekoliko primera gde se bas moraju upotrebiti pointeri, a da ne moze nista drugo.

[ BlueSoniq @ 27.08.2003. 17:50 ] @
Citat:
Rapaic Rajko:
A je l' moze da se leti bez krila...?

Rajko


Moze, frizbi leti bez krila :))))
[ Dragi Tata @ 27.08.2003. 18:42 ] @
Ajde da skratimo filozofiranje.

Pitanje je bilo da li u C-u mogu da se zaobiđu "sirovi" pointeri. Odgovor je da ne mogu. Zašto? Zato što C nema drugih mehanizama za prosleđivanje referenci. Kako bi napisao funkciju swap bez pointera?

Tačno je da u drugim jezicima postoje drugi mehanizmi kao što su reference (ispod haube su to opet pointeri), ali ti si pitao za C, a u C-u nema referenci.
[ BlueSoniq @ 29.08.2003. 00:58 ] @
Izvinjavam se. Posao sam od pogresne pretpostavke da kad se kaze C misli se na
njegov napredniji izdanak C++. Dakle sve je isto samo zamenite u recenici
C++.
[ Dragi Tata @ 29.08.2003. 05:04 ] @
U C++u je moguće izbeći "sirove" pontere ako koristiš recimo "pametne" pointere (kao što je boost::shared_ptr ili Loki::SmartPtr) za rad sa objektima na heap-u i std::vector umesto dinamičkih nizova. Obe ove tehnike se smatraju jako poželjnim u modernom C++ programiranju i u principu ih se ja pridržavam kad god nešto programiram "od nule". Međutim, problem je što ćeš pre ili kasnije da naletiš na neki tuđ kod u kome se koriste sirovi pointeri, pa ako ih ne razumeš možeš da imaš problema.
[ __ZEVS__ @ 06.09.2003. 20:33 ] @
Prvi program u bar 95% knjiga o c-u
---- program.c--
#include <stdio.h>

main()
{
printf("hello world\n");
}
-------
ovo "hello world\n" je ustvari pokazivac (const char *), a ovo je najjednostavniji program!
tako da mislim da pokazivace ne bi ni trebalo da pokusavas da izbegnes :)

slozio bih se sa kolegama:
pokazivac je samo broj, tako da nemas cega da se plasis;
[ Voodoo @ 08.09.2003. 17:26 ] @
evo najprostijeg primera. treba nam funkcija koja zamenjuje vrednosti dve promenljive. ako se za*ebemo pa krenemo kao u paskalu

Code:

void swap(int a, int b)
{
    int tmp;
    tmp = a; a = b; b = tmp;
}


necemo postici nishta, jer C ne mozhe da menja vrednosti promenljivih koje su prosledjene kao vrednosti.
ako hocemo da ovo radi, onda koristimo funkciju koja trazhi adrese promenljivih, da bi C znao po kojim lokacijama treba da dzara. dakle, koristimo pointere.

Code:

void swap(int *a, int *b)
{
    int tmp;
    tmp = *a; *a = *b; *b = tmp;
}


jel sad jasno?
[ Dragi Tata @ 08.09.2003. 18:26 ] @
Čovek se ispravio i rekao da misli na C++. Dakle:

Code:

void swap(int& a, int& b)
{
    int tmp;
    tmp = a; a = b; b = tmp;
}



Isto to, samo bez "zvezdica".
[ Voodoo @ 09.09.2003. 08:07 ] @
Nemoj da si naivan, pa gomila ljudi koja ne zna programiranje kupi knjigu "C++ za 21 dan", nauchi slanje teksta na cout/cin i misli da zna C++... chovek prvo treba da nauchi najosnovnije iz C-a pa onda da poziva preko referenci...
[ leka @ 09.09.2003. 09:52 ] @
Ja swap() funkciju nikad ne bih pisao sa referencama... To je, mislim, stvar programera u svakom slucaju.
[ Dragi Tata @ 09.09.2003. 16:08 ] @
Citat:
Voodoo:
... chovek prvo treba da nauchi najosnovnije iz C-a pa onda da poziva preko referenci...


C i C++ su dva različita jezika:

http://www.research.att.com/~bs/bs_faq.html#prerequisite
[ Voodoo @ 09.09.2003. 16:12 ] @
to mislish ti i neki ljudi. ja i neki drugi ljudi mislimo da je C++ samo "budz" C...

shta, jel ti novi paskal zovesh "paskal plus plus" zato shto je objektan i ima brdo stvari koje nije imao prvi paskal? to je isti taj paskal, samo nagruvan...
[ filmil @ 09.09.2003. 16:39 ] @
Poređenje sa Paskalom ne stoji iz više razloga. Paskal nije standardizovan jezik, tako da su sva proširenja proizvoljno nakalemljene nove mogućnosti koje su napravile neke softverske kuće.
Jedini pravi Paskal je ANSI-ISO Paskal od koga je prilično slaba vajda u moderno doba. Čak ga je i sam tvorac Niklaus Wirth napustio u korist jezika kao što je Modula-2 i (valjda) Oberon.

Ali da se vratimo na temu: šta treba jedan jezik da ispuni kako bi bio podskup drugog?

f



[ Dragi Tata @ 09.09.2003. 16:59 ] @
Citat:
Voodoo:
to mislish ti i neki ljudi. ja i neki drugi ljudi mislimo da je C++ samo "budz" C...


Ja ne "mislim" ništa, ja znam da je C++ jezik koji je opisan standardom ISO 14882:1998 a da je C jezik opisan standardima ANSI/ISO 9899-1989, ISO/IEC 9899-1990 i ISO/IEC 9899-1999. Teorija o "budžu" je tačna samo iz istorijske perspektive. C i C++ su potpuno različiti jezici i podržavaju različite programerske stilove.

[Ovu poruku je menjao Dragi Tata dana 09.09.2003. u 10:23 GMT]
[ Dragi Tata @ 09.09.2003. 17:07 ] @
Citat:
filmil:

Ali da se vratimo na temu: šta treba jedan jezik da ispuni kako bi bio podskup drugog?

f



Hehe, zar je to tema? Uglavnom, jezik A je podskup jezika B ako (i samo ako :) ) je svaki A program istovremeno i B program. Čak ni C89 nije podskup C++a, a C99 nije ni blizu.
[ Voodoo @ 09.09.2003. 17:52 ] @
Citat:
Teorija o "budžu" je tačna samo iz istorijske perspektive. C i C++ su potpuno različiti jezici i podržavaju različite programerske stilove.


Ali Choveche! Svaki C Program Je Full Qualified C++ Program!

Najvishe mrzim uputstva po knjigama tipa "printf se ovde takodje mozhe koristiti, ali to nije u duhu ceplusplusa, koristite radije cout"...
I kada se programeri gnushaju koriscenja onoga na chemu su se uchili...

Kompletni engini Dooma i Quakea su uradjeni u chistom C-u.
[ filmil @ 09.09.2003. 18:10 ] @
Citat:
Dragi Tata:
Hehe, zar je to tema? Uglavnom, jezik A je podskup jezika B ako (i samo ako :) ) je svaki A program istovremeno i B program. Čak ni C89 nije podskup C++a, a C99 nije ni blizu.


Nego šta nego jeste tema. Ako malo bolje pogledaš, tvoj pogled na odnos jezika C i C++ nije isti--i štaviše kontradiktoran je--onome što kaže Voodoo. Ako nemate iste definicije uslova za onda dalja diskusija nema mnogo smisla.

f
[ Dragi Tata @ 09.09.2003. 18:28 ] @
Citat:
Voodoo:
Citat:
Teorija o "budžu" je tačna samo iz istorijske perspektive. C i C++ su potpuno različiti jezici i podržavaju različite programerske stilove.


Ali Choveche! Svaki C Program Je Full Qualified C++ Program!



Netačno!!!

Ovo je validan C program koji nije validan C++ program:

Code:

int main()
{
int new = 2;
}


Citat:
Voodoo:
Najvishe mrzim uputstva po knjigama tipa "printf se ovde takodje mozhe koristiti, ali to nije u duhu ceplusplusa, koristite radije cout"...
I kada se programeri gnushaju koriscenja onoga na chemu su se uchili...


printf vs cout je posebna tema i nećemo da je sada načinjemo. Uglavnom, ne znam zašto bi se bilo ko "gnušao" C-a. Kada programiram u C-u, programiram u C-u. Kad programiram u C++u, programiram u C++u a ne u "nabudženom C-u".

Citat:
Voodoo:
Kompletni engini Dooma i Quakea su uradjeni u chistom C-u.


Doom i Quake su pretpostavljam neke igre? Uglavnom, ako si ovim hteo da kažeš da je C "ozbiljan" programski jezik, mogao si da pomeneš i Unix, Windows, Oracle, itd, itd, itd. Ne znam uopšte zašto si stekao utisak da ja nešto potcenjujem C. Samo hoću da kažem da je C++ različit programski jezik od C-a i da ga treba koristiti na različit način. Ako čovek pita može li swap bez pointera u C-u, ja mu kažem da ne može. Ako pita da li može u C++u, ja mu kažem da može. U čemu je uopšte ovde nedoumica?
[ caboom @ 09.09.2003. 18:34 ] @
dragi tata je u potpunosti u pravu, ako trazite objektni programski jezik koji je u potpunosti izveden iz c-a onda mozemo govoriti o objective c-u, gde je objektni wrapper nadgradnja na cisti c89/99, dok c++ to svakako nije. sa druge strane moguce je donekle posmatrati c++ kao superset c programskog jezika... huh, ovo vec prelazi u retoriku oko teme koja nije narocito bitna.
[ Dragi Tata @ 09.09.2003. 18:50 ] @
Citat:
filmil:
Nego šta nego jeste tema.



A ja tek sad vidim da smo dobili novog moderatora. Što bi rekli kod rukopoloženja đakona: Dostojan, dostojan, dostojan!!!
[ Voodoo @ 09.09.2003. 21:07 ] @
Citat:
Doom i Quake su pretpostavljam neke igre?


choveche, pa chak i onaj ko nikada nije nishta igrao u zhivotu morao je da chuje za njih... wolfenstein, half-life, counter-strike - igre koje koriste quake engine...
ovo sam napomenuo samo kao primer jer sam gledao (i imam) dosta sourceva raznih igara, i primetio sam da neke igre (tipa unreal) koriste C++ do balchaka, sa gomilom klasa i podklasa, dok je quake engine pisan u chistom shkolskom C-u, i opet je jedan od najoptimizovanijih i najkvalitetnijih OpenGL engina...
[ Dragi Tata @ 09.09.2003. 21:36 ] @
Lepo, samo mi opet nije jasno kakve to ima veze sa našom diskusijom.
[ caboom @ 09.09.2003. 22:37 ] @
Citat:
Voodoo:
... sa gomilom klasa i podklasa, dok je quake engine pisan u chistom shkolskom C-u, i opet je jedan od najoptimizovanijih i najkvalitetnijih OpenGL engina...

iako sam daleko od ljubitelja c++-a (verovatno iz ciste navike, posto kada sam ja krenuo da se cimam sa celom ovom pricom bilo je vreme turboc-a 1.0) ne bih razumeo ovu opasku. virtual penalty je sasvim prihvatljiv na odredjenim mestima i uvek imas jedan banalan problem, time == money, pored toga uglavnom ce od tebe biti zahtevano da _nesto_ isporucis upakovano u klasu. svaka optimizacija kosta i vremena i novca.
[ leka @ 10.09.2003. 03:16 ] @
Ivane, da si ovo dole napisao neke 9x godine, gde je x < 8, onda bi mozda mogo (i trebalo) da cutim... Ovako moram da "lajem" i da ti kazem da malo ipak razmislis o onome sto pricas/lupas. :)

Citat:
Voodoo:
to mislish ti i neki ljudi. ja i neki drugi ljudi mislimo da je C++ samo "budz" C...

shta, jel ti novi paskal zovesh "paskal plus plus" zato shto je objektan i ima brdo stvari koje nije imao prvi paskal? to je isti taj paskal, samo nagruvan...

[ Voodoo @ 10.09.2003. 07:39 ] @
ali ja jednostavno ne mogu da prihvatim da su to dva *_odvojena_* jezika. NISU, damn it!

ps. ja sam do 9x gde je x <= 8 kucao u bejziku na C64 tako da nisam ni znao shta je C...
[ Rapaic Rajko @ 10.09.2003. 14:08 ] @
Koliko ja vidim, Voodoo, ne radi se toliko o tome da negiras 'samosvojnost' C++-a kao jezika u odnosu na 'suvi' C. Pre bih rekao da potcenjujes ono sto ih razlikuje, a to je OOP (object oriented programming).
Ako je slucajno tako, onda se osecam prozvanim da kazem nesto na tu temu. To zato sto svojevremeno nisi mogao zamisliti veceg 'kontrasa' OOP-u od mene licno. Pljuvao sam i po OOP-u i po Windows-u i ko zna cemu jos...dok sam u nebo dizao Pascal, suvi C i DOS.
Danas...ti mogu reci da svoju karijeru delim na dve faze: PRE i POSLE usvajanja OOP-a. Ono pitanje iz naslova 'moze li se bez pointera' je naivno i, rekao bih, minorno u odnosu na hipoteticko pitanje 'moze li se bez OOP-a'. Da ne duzim sad, radi se o tome da zbog znacaja OOP-a i novina, snage i prednosti koje ono donosi, C++ apsolutno JESTE zaseban, nov jezik.
Pozdrav

Rajko

P.S. Verujem na rec...ali mi je ipak neverovatno da je Quake engine napisan bez klasa; jednostavno ne znam kako. Prastara igra Heretic je bila jedan od razloga da pocnem da ucim OOP...'plakao' sam od muke dok me je po ekranu jurilo 40-tak monster-a koji su se usput i medju sobom klali. Znao sam da je to OOP na delu...i da cu morati kad-tad da ga savladam.
[ leka @ 10.09.2003. 16:49 ] @
Hmm, ako mislite da se u C-u ne moze pisati na OO nacin, onda predlazem da na "Art of Computer Programming" zapocnemo diskusiju (sa argumentima/primerima) gde se prikazuje da se i u C-u moze pisati objektno, mada to naravno nije praksa, niti treba da bude praksa - to je usko specificna stvar...
[ Dragi Tata @ 10.09.2003. 17:00 ] @
Naravno da može - primer je npr GTK. Mada mi nije baš jasno zašto bi neko koristio C za OO programiranje.
[ markom @ 10.09.2003. 17:08 ] @
Cenjeni auditorijum mi nece zameriti na mozda pogresnoj terminologiji, ali ja nisam programer :-).

Citat:
leka:
gde se prikazuje da se i u C-u moze pisati objektno, mada to naravno nije praksa, niti treba da bude praksa - to je usko specificna stvar...


Ja se izvinjavam sto sam glup, ali C ne podrzava objekte, zar ne? Tj. mozemo praviti strukture koje imaju "asocirane" (u glavi programera) funkcije, ali to nisu objekti, zar ne?

Onog trenutka kad strukturi sintaksno dodas metode, to prestaje da bude (ANSI?) C i postaje nesto drugo - Objective C, C++, C#, kako god zeleo da ga zoves.

Marko.
[ leka @ 10.09.2003. 17:16 ] @
Pogledaj malo bolje moju izjavu i shvatices da nigde nisam spominjao "objekat" ili "objekte", vec sam rekao da se u C-u moze pisati objektno. Dakle, ono sto sam ja rekao i tvoj odgovor nemaju uopste veze jedno sa drugim...
[ markom @ 10.09.2003. 17:30 ] @
Citat:
leka:
Pogledaj malo bolje moju izjavu i shvatices da nigde nisam spominjao "objekat" ili "objekte", vec sam rekao da se u C-u moze pisati objektno. Dakle, ono sto sam ja rekao i tvoj odgovor nemaju uopste veze jedno sa drugim...


Sad me vec tretiras kao majmuna, a to ne volim ;-)

OK, kakva je razlika izmedju pisanja objektno i objekata?

Smatraj da ja tvoj odgovor izrazito ne razumem i ili napisi odgovor ili daj pointer na literaturu.


Marko.
[ alex @ 10.09.2003. 17:52 ] @
Citat:
leka:
i]u C-u moze pisati objektno.


Leko, ajde ne budi lenj pa definisi sta po tebi znaci pisati objektno i kako to nema nikakve veze sa objektima??
[ sspasic @ 10.09.2003. 20:23 ] @
OO jezici su nastali tako sto su autori prvih OO jezika prepoznali 'dobre tehnike' programiranja, nazvali ih OO i smatrali da ima koristi od toga da ih sintaksa jezika podrzi i olaksa.

I u C-u, naravno, mogu da postoje objekti i virtuelne funkcije i enkapsulacija i polimorfizam i sva ostala OO cuda (mogu i u asembleru, ako hocete) samo sto ih nema u sintaksi jezika.

Ako pogledate moderne funkcionalne programske jezike, na primer, naci cete gomilu stvari koja jeste svojstvena funkcionalnim jezicima, i kojih nema u C-u, C++-u ili Javi, ali cete shvatiti da dobar deo tih stvari vi vec koristite i u C-u i u C++-u i u Javi. Samo sto je, zbog dizajna jezika, to u njima neuporedivo lakse.
[ Dragi Tata @ 10.09.2003. 21:25 ] @
Citat:
sspasic:

I u C-u, naravno, mogu da postoje objekti i virtuelne funkcije i enkapsulacija i polimorfizam i sva ostala OO cuda (mogu i u asembleru, ako hocete) samo sto ih nema u sintaksi jezika.



http://www.ul.ie/~flanagan/ee6721/intro-ood/intro_oo.html

"OOD is not tied to a specific language, it is possible (and good coding practice) to write ADTs in any language:

Assembler
Very difficult, no data hiding or abstraction provided by the underlying ``language'', so everything depends on the programmer's discipline.
Pascal
Difficult, standard Pascal requires that the entire program be placed in a single source file and doesn't provide any mechanisms for data hiding.
Modula-2
Excellent as an implementation language for ADTs. This is not surprising as Modula-2 was specifically designed for this task.
C
Quite good. ADTs may be implemented using multiple source files. Separating ADT implementation code into individual source files allows data hiding. Header files need to be used to communicate information which should not be hidden, such as function prototypes.
C++
Excellent for ADTs. Also supports Inheritance .
"
[ Dragi Tata @ 10.09.2003. 21:31 ] @
A OO asembler je ipak najbolji:

http://www.filelibrary.com:808...tions/DOS/72/oopasm.zip.shtml3
[ Rapaic Rajko @ 11.09.2003. 08:07 ] @
Leko, cekaj malo. Ni ja ne razumem tvoju opasku '...nisam rekao objekti, vec objektno programiranje...' ali nema veze.
Ovo mi pojasni. Kad kazem OOP, ja prevashodno mislim na NASLEDJIVANJE (inheritance). Gde u suvom C-u to vidis...?
I jos nesto, da ispravim nepreciznost u izrazavanju. Onaj tekst Dragog Tate o ADT-u me je podstakao da se dopunim: kad kazem Pascal, ja mislim na Borlandov TurboPascal. I to od 4-ke, u kojoj su uvedeni unit-i (modularan source i hiding).
Pozdrav

Rajko
[ leka @ 11.09.2003. 10:44 ] @
Nemam puno vremena, niti volje za dalja objasnjavanja, mislim da se koliko-toliko koncizno izrazavam... Ko zeli da me shvati nek' procita knjigu "Object-oriented Programming With ANSI C", moze da se nadje na svakom cosku PDF verzija iste. - Ne znam ima li papirna verzija, verovatno ima...
Takodje treba da pogledate i onaj zadnji link sto ga je Nemanja dao.
[ brcha @ 11.09.2003. 18:16 ] @
Leko, ne slazem se sa tobom da objektno orjentisano programiranje nema veze sa programiranjem sa objektima... Jedino sto objekti ne moraju obavezno da budu posebno predvidjeni jezikom, nego mogu i na neki drugi nacin da se stvore (kao sto dragi tata dade onaj url za objektni asembler).

Anyway, cini mi se da sam vec spominjao Al Stevens-ovu biblioteku D-Flat (od pre 100 godina) koja je pisana u C-u (mada sada ima i C++ wrapper i C++ verziju). Biblioteka je pisana u C-u, ali je pisana objektno orjentisano.

Evo vam adresa http://www.ddj.com/ftp/packages/dflat/ ili, ako vas mrzi da otvarate nalog na Dr.Dobb's Jurnal, stavio sam je i na moj sajt (http://brcha.free.fr/data/foreign/D-Flat/dflt20.zip).

Poz!
Filip
[ Spodletela @ 12.09.2003. 07:31 ] @
Citat:
Voodoo:
svaki nesrećnik, naviknut na bejzik i paskal, od pointera strepi i zazire...

šta je toliki problem u vezi pointera? pointer je adresa promenljive u memoriji... no more, no less...


He pazi sad to; i basic (vb, qb) ima pointere iako su nedokumentirani :)) Ne pitaj me kako se upotrebljavaju (zaboravio samo vec davno :).
[ Voodoo @ 12.09.2003. 08:44 ] @
Paskal ima pointere i regularno su dokumentovani (a koriste se retko)...
A Basic nema uopshte.
[ Spodletela @ 12.09.2003. 14:29 ] @
ma nemoj :D Pazi...VBScript :)

http://www.codeproject.com/vbs...o_pointers_in_visual_basic.asp

a evo i nesto za "grickati":

VarPtr(), StrPtr(), ObPtr(), CopyMemory() :))
[ Voodoo @ 12.09.2003. 14:39 ] @
drugo je VBScript...
[ Spodletela @ 12.09.2003. 15:12 ] @
pa da, naravno, V(isual)B(asic)Script je nešto sasvim drugo :D
[ Voodoo @ 12.09.2003. 20:20 ] @
ako je tako, onda su Java i JavaSkript isto... :P
[ degojs @ 12.09.2003. 20:31 ] @
Pa nisu te funkcije deo samo VBScript-a nego i VB-a.
VB/VBScript i Java/JavaScript? Hmmm.. Voodoo, proveri o čemu pričaš.
[ Voodoo @ 13.09.2003. 11:06 ] @
ama bre VBScript sluzhi za "enhancovanje" web strana, a Visual Basic je jezik za pravljenje aplikacija pod Windowsom! i nemoj sad da izlazhem dokaze, imam iskustva i sa jednim i sa drugim...
[ degojs @ 13.09.2003. 18:57 ] @
Aman, ko priča o tome za šta se koji koristi (tj. nemoj da menjaš temu)? I jedan i drugi su varijanta BASIC-a. Ali čak i da nije tako, funkcije koje je zemljak naveo (VarPtr, StrPtr..) jesu deo Visual Basic-a.

Mada, predlažem da se zaustavimo, jer rasprava nema više mnogo veze sa temom - zrela je za Advocacy.
[ leka @ 13.09.2003. 19:14 ] @
Svaki jezik mora na neki nacin da ima pokazivace, negde su oni dati slobodno korisnicima, negde nisu. :) Licno ne mogu da zamislim zivot bez njih, jer mislim da pojednostavljuju zivot (onda kada ih programer shvati). Takodje rekoh na samom pocetku negde da ozbiljnog razvoja C i C++ aplikacija nema bez pokazivaca. Okej, neko moze da koristi samo reference i da zaobilazi pokazivace, ali pre ili kasnije ce naici na nesto gde je upotreba pokazivaca prosto ... prirodna! Predlazem da se tema zatvori.
[ Voodoo @ 13.09.2003. 20:39 ] @
takodje.
[ Dragi Tata @ 13.09.2003. 21:19 ] @
Citat:
leka:
Okej, neko moze da koristi samo reference i da zaobilazi pokazivace, ali pre ili kasnije ce naici na nesto gde je upotreba pokazivaca prosto ... prirodna!


Ako si mislio na C/C++ reference, njihovim korišćenjem možeš da zaobiđeš pokazivače samo u nekim slučajevima (swap je dobar primer). Međutim, reference u opštem slučaju nisu zamena za pointere.

Inače na C++ FAQ lite kažu ovo o toj temi:

http://www.parashift.com/c++-faq-lite/references.html#faq-8.6