@kobrejabre
Citat:
Ovime sto si ti opisao se (da ne ulazim u detalje i trazim dlaku u jajetu) u manjoj ili vecoj meri emuliraju neke OO osobine. Klljucne reci su donekle i neke.
Pa to je samo najprostiji primer za enkapsulaciju. Moguce je emulirati sve KLJUCNE
osobine nekog OO jezika. Znaci i nasledjivanje, i polimorfizam, i patterne.
To cak ne mora biti emuliranje na nivou sintakse, vec na logickom nivou.
Recimo za nasledjivanje cak i nije potrebno da se igras sa makroima jer sa njima
postizes, u neku ruku, samo dodatnu emulaciju sintakse. Mozes mnogo jednostavnije da emuliras
logicki aspekt nasledjivanja, tj. da organizacijom koda postignes ono sto je
glavna svrha nasledjivanja.
Polimorfizam je takodje prilicno lako emulirati. Isto vazi i za patterne.
Kao sto sam vec ranije rekao C++ "kompajleri" su u pocetku bili pretprocesor za C
i mislim da to sasvim jasno govori da li je moguce emulirati sve ove glavne osobine. Sto se tice paterna i kontejnera ne treba nam bolji dokaz od cinjenice
da su u prvim OO jezicima isti bili implementirani upravo kao makroi. Znaci oni su
u originalu dizajnirani na taj nacin, a tek kasnije su u C++ dobili sintaksnu podrsku
u samom jeziku.
Citat:
Nije tvoj primer ni beskoristan jer odgovara na pitanje koje je postavljeno na pocetku - bas pokazuje prednosti OO pristupa opisujuci sta bi sve neko morao da radi da bi donekle postigao deo onoga sto OO platforme nude out of the box.
Moj primer ne pokazuje prednosti OO pristupa nad proceduralnim pristupom. On pokazuje prednosti
OO programiranja u OO jeziku u odnosu na OO programiranje u proceduralnom jeziku.
A niko i nije tvrdio da stvari stoje drugacije.
Mi ovde diskutijemo o tome da li se OO kod moze pisati i ako ne koristis OO jezik, a ne
da li je jedan pristup bolji od drugog. Ja sam ti gore dao argumente koji potvrdjuju
da je to moguce. Naravno, to jeste prilicno besmisleno i glupo, takav nacin programiranja
jeste pain in the ass, ali je u svakom slucaju moguc.
Citat:
Mozda bi neka pretraga na guglu gde se porede Object-oriented i object-based paradigme dala odgovor zainteresovanima. Neko ce tvrditi da je to isto - kao po nekom paternu, oni koji se vise bave proceduralnim programiranjem tvrdice da je to jednako, oni koji se bave OO programiranjem primetice mnoge razlike.
Au brate, u ovu filozofsku raspravu o Object-based i Object-oriented nemam ni najmanju
nameru da udjem. To je jedno od religioznih pitanja koja uvek zavrse flejmom.
Sto se tice OO pristupa i proceduralnog pristupa, nemam neke posebne razloge
zbog kojih bi neki posebno favorizovao. Mislim da i jedan i drugi imaju svoje
prednosti i svoje mane. Koji cu da koristim obicno zavisi od toga sta radim
i kakvi su mi planovi. Nisam od onih koji bi od programiranja da prave nauku(jer to nije nauka
vec zanat). Meni je sve to isti k****, a asm, C, C++ su samo alati i nista vise...
Q: Are there really any systems where
void main() doesn't work?
A: It has been reported that programs using void main() can crash.
Q: The book I've been using, _C Programing for the Compleat Idiot_,
always uses void main().
A: Perhaps its author counts himself among the target audience.