Object-oriented, format-extension, freedom & self-respect, things an' matters (that dun matter)
mircea_popescu diana_coman, tu da' ada generics nu is pur si simplu ada-oo ? ca io cam asa am inteles.
mircea_popescu ma rog, acu' x ani cind eram la scoala.
mircea_popescu package MT_123 is new MT(123) ie fix aia, nu ? adica, nu-i zic prototype ca-i zic generic, ma rog, da' nu exista de fapt o diferenta substantiala.
diana_coman ada are (cam lipite pe langa) si mecanisme specifice pt OO, deci as zice ca mnu.
diana_coman pt OO ai propriu zis toata faza cu clase si obiecte si extensiimircea_popescu pai si generice nu poti extinde ?
diana_coman presupun ca poti face o paralela ca adica via generics, iti face compilatorul obiectele direct
mircea_popescu pai iegzact
diana_coman teoretic orice pachet poate avea child-package pe care-l poti vedea drept extensiemircea_popescu da' tot la fel, nu doar ca direct
mircea_popescu adica io sincer nu vad diferenta, acuma noa
diana_coman da' in sensul asta ada pur si simplu e oo
diana_coman ca child aia n-are a face cu generic
diana_coman deci nu prea pricep ce zicimircea_popescu genu' de chestie pentru care io n-am zis niciodata asa ferm ca "fara oo". numa' am tot batjocorit la excese, ca ma rog, pulanii un cui au, un cui baga. da' altfel fix in tipul asta de cazuri, ce e asa rau sa ai prototip dupa algoritm
mircea_popescu asta mt e probabil cel mai bun exemplu de oo util si functional
diana_coman pai damircea_popescu noa ok. io citind parca am format impresia ca tu zici c-ar fi ceva diferenta asa, categorica. dar... cam nu e.
diana_coman da' OO in general/comun ori cum sa-i zic, ca abordare tocmai, ca nu aplica la algoritm ci la un set date+manipularimircea_popescu a in sensul ala zici. bine, da' aia e timpenie. daca citesti originalele cind se propunea 00 in 90 nimeni nu zicea sa ti le pui ca windows format-extension ce plm.
diana_coman da, aia; posibil ca nu e clar, fix pt ca in fine, OO asa nu e niciodata definit clar ci mereu tot asa dupa cum vrea fiecare.mircea_popescu ma rog, is doua scoli, una mai veche si mai respectabila (oarecum) si astia noi care-s copchii timpiti, habar n-au ca nu s-o mai facut la scoala nici mate nici sisteme nici nimic.
diana_coman apai eu ce pot zice, ca eu vorbesc de ce am constatat practic, nu teorie (plus ca onor poli ne-au "invatat" fix aia, nu teoria ce-o fi fost intai in 90)mircea_popescu daca-i pui sa-ti faca legatura intre ce fac ei si geometrie descriptiva se caca cutotul, de algebre n-or auzit, banach nu e nimeni, chestii.
diana_coman nici nu ma mai astept sa fi auzit, nu.mircea_popescu mnoa enfin
~ seven minutes later ~ mircea_popescu de fapt problema e ca ei cred ca un set arbitrar de date si o colectie aleatorie de manipulari e fix un algoritm. n-are treaba cu oo sau cu orice altceva, e chestie de libertate, respect de sine, de-alea.
mircea_popescu aiureala ce-o traiesc ei e viata si-atunci de ce n-ar fi ala algoritm~ one minute later ~ mircea_popescu da' clar de la nume incepe, uite ce frumos. ca io daca zic catre tine "tu vezi ala mersenne" cum am zis acu' citi ani o fost, ~tie ti-o fost clar~ nu doar ce zic, ci si ce sa faci in practic fiecare instanta, din care n-am dubii c-or fost de-atunci sute. ca n-ai avut nevoie sa ma mai intrebi nici n-am avut ce mai discuta. fiind el ~un algoritm~. in timp ce cacaturi de formate aiurea ce fac ei, pai frate alea nici nume n-au nici nu pot avea nici nu pricepe nimeni nimic din ce-i acolo. ce sa comunice ?
mircea_popescu is multe, ce-i drept, poate avea fiecare viermisor cite sute de mii de catraliarde doreste. "ale lui".
diana_coman "set arbitrar de date si.." - exact, da' exact asta, da!mircea_popescu adica is liberi vezi, nemo le impune lacessit.
diana_coman la cat de virulent "apara" fix acel tip de "libertate" cam imi pare ca si ei stiu de fapt fix si exact cat e de prostie.
mircea_popescu mai ca-mi vine sa public asta, ce plm.
diana_coman da' nu-i ca e ceva secret, lol.
Neither is it secret nor do you know how to read it, and therefore... its substance is safe with us.
And as for you... it's back to kirk.
Thursday, 21 January 2021
Nu mă chiar pricep, dar din foarte puținele mele înțelegeri, cred că genericele înseamnă să scrii mai puțin cod în timp ce OO înseamnă să scrii mai mult cod.
Generice înseamnă să scrii un articol despre cum se combină doi bipezi, indiferent care-ar fi ei. După care, când îi întâlnești pe Ghiță și Steluța, îi trimiți la articolul scris, că se aplică și pentru ei, fiind bipezi. Ceea ce-i mai eficient decât să scrii un articol pentru fiecare biped pe care vrei să-l educi sau instruiești.
Obiecte înseamnă să creionezi o clasă numită BIPED, care are o funcție (posibil vagă sau nedefinită) de combinare. După care, când îi întâlnești pe Ghiță și Steluța, derivezi două clase separate pentru ei, numite BIPED ADULT MASCUL și BIPED ADULT FEMELĂ, și le spui individual cum anume să se combine. Și tot așa cu fiecare biped întâlnit. Și la copchiii lor le spui separat, modifici articolul, că ei îs mai tineri și poți vorbi cu ei mai fără perdea, așa că nu se mai aplică decât parțial ceea ce le-ai zis părinților. Deci alte clase, denumite PUI DE BIPED. Etc. Și dacă tot le-ai făcut instructajul la combinare, te apui să le spui (tot așa, fiecăruia-n în parte) și cum să mănânce, și cum să dea bună ziua, și cum să învețe șamd. Chit că poate nu asta voiai la început.
La chestii mici, cum este un parc de bipezi oarecum uniformi, merge să scrii un articol generic despre cum să trăiască ei. La chestii mari, cum este o lume întreagă, merge să o împarți în parcele, să denumești prima parcelă România și să-ți bați capul separat cu bipezii de acolo și legile după care să se guverneze ei, iar apoi fix la fel cu toate celelalte parcele, particularizat în funcție de specificul și necesitățile zonei. Avantajul este că la sfârșit nu mai trebuie să ții minte cum anume face România cutare chestie, tu doar le spui guvernanților români s-o facă, că doară le-ai trasat dinainte programul și se descurcă singuri mai departe, așa că nu-ți rămâne decât să gestionezi de sus relațiile interstatale și să dai directive, fără să mai ai în vedere toate detaliile, pe care le-ai alocat fiecărei țări în parte, să se descurce singură cu ele, după cum deja spuneam și iată că mă repet, în buna tradiție a OO. Asta cel puțin în teorie. În practică, dezavantajul e că rareori vei găsi o lume care să se potrivească la fix peste harta pe care ai trasat-o tu pe hârtie. Sau rareori va apărea în viitor o lume care să se potrivească cu ceea ce anticipai tu când scriai cod pentru lucruri care încă nu există în mod practic dar vrei tu să le anticipezi, ca să ai siguranța că ești acoperit din toate punctele de vedere pentru orice posibilă complicație o să apară în viitor la problema simplă de la care ai pornit tu și care încă stă acolo nerezolvată.
În concluzie, cred că genericele înseamnă să dai factor comun, în timp ce OO înseamnă să multiplici. Cât despre substanță, unii vor să meargă la țintă, în timp ce alții găsesc cele mai ingenioase modalități de-a construi un labirint în jurul ei. Dar, cum ziceam, s-ar putea să vorbesc prostii.