Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?

[es] :: Art of Programming :: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?

Strane: 1 2 3 4

[ Pregleda: 19774 | Odgovora: 63 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

fresh.bm

Član broj: 162156
Poruke: 182
*.broadband.blic.net.



+1 Profil

icon Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?11.10.2008. u 13:10 - pre 189 meseci
Citam o istorijskom razvoju metodologije programiranja, i pocelo me kopkati pitanje: Sta posle OOP?
Na osnovu do sada vidjenih istorijskih dogadjaja u jednom momentu i oop ce zastarjeti(odnosno nece moci ispuniti sve zahtjeve koji se pred njega stave).
Elem, da dam kratak istorijski pregled metodologija razvoja softvera:

1. Kompozitna metodologija {FORTRAN, COBOL} - odrzala se do kraja 60tih kao dominantna.

2. Strukturno programiranje(metodologija) {PASCAL, C} - odrzala se do pocetka, sredine 80tih kao dominantna.

3. Objektno orjentisano porgramiranje {Java, C++, Delfi(OPP pascal) ... } >>

Tvorci strukturne metodologije su odmah predvidjeli njenu propast, odnosno uvidjeli su njene nedostatke.
Osnovna dva: -problem prosirivosti, -software reuse;

Sta mene interesuje, kakvi su nedostatci OOP-a i ima li ih uopste?
Da li ce se i ovaj koncept vremenom morati mjenjati, i kakva su predvidjanja sta bi ga moglo zamjeniti?


[Ovu poruku je menjao Gojko Vujovic dana 13.10.2008. u 11:58 GMT+1]
 
Odgovor na temu

bags

Član broj: 10072
Poruke: 715
*.5.14.univie.teleweb.at.



+2 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?11.10.2008. u 14:25 - pre 189 meseci
Mislim da je sledeca faza ubacivanje sto vise tzv. deskriptivnog programiranja ( logicko , a takodje na neki nacin i funkcionalno). Neke stvari koje se u proceduralnom programiranju rade sa dosta linija koda, mogu se opisati sa jednom smislenom linijom logickoj paradigmi. (potraziti QuickSort u Haskellu ili Prologu)

Kao dokaz ovog je recimo novi C# 3.5 koji je dobio lambda izraze,kao nesto tipicno iz sveta funckionalnog programiranja.




Free advice is seldom cheap.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?11.10.2008. u 15:27 - pre 189 meseci
Ne verujem da ce OOP nestati ili biti zamenjen, bice samo muljano i doradjivano i dodavano unutar OOP koncepta, kao sto su pomenute lambde, ili recimo AOP (Aspect OP). Ali fundamentalno, nista sto sam ja video do sada ne preti da istera OOP i ucini ga zastarelim.


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ć
 
Odgovor na temu

fresh.bm

Član broj: 162156
Poruke: 182
*.broadband.blic.net.



+1 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?11.10.2008. u 16:12 - pre 189 meseci
#mmix

To isto se govorilo i za kompozitno programiranje, tacnije za naredbu go to. Kada je E.Dijkstra napisao clanak o tome kako ta naredba nema buducnost,
tadasnji strucnjaci su ga ismijali govoreci da ce go to trajati jos najmanje 30 godina. To je bilo 1968. a naredba nije izdrzala ni tri godine.

http://portal.acm.org/citation.cfm?doid=362929.362947

Kompozitno programiranje je bilo pogodno za pocetak IT-a kada je nizak hardver omogucavao takav pristup resavanju problema. Usloznjavanjem hardvera stvoreni su preduslovi za razvoj softvera. Kada se broj gresaka u softveru povecao do te mjere da se nisu mogle svesti na tolerantni nivo nesto se moralo mjenjati. Dijkstra je uvidio problem sa naredbom go to, pa je razvijen koncep strukturnog programiranja koji je, kada je dostigao svoj maksimum, zamjenjen(obogacen) objektno orjentisanim.

Ne vjerujem da ce u skoroj buducnosti biti bitnih promjena, ali ovi ciklusi su periodicni(svakih dvadesetak godina), pa sad ce to.
 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723

Jabber: obucina


+7 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?11.10.2008. u 16:13 - pre 189 meseci
Pominje se aspektno programiranje i vec ima nekoliko implementacija. Kao sto oop nije u potpunosti zamenio sve svoje prethodnike, tako verovatno ni oop nikada nece biti u potpunosti zamenjen svojim naslednicima.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?11.10.2008. u 17:48 - pre 189 meseci
Pa porediti goto naredbu i OOP kao paradigmu je malo deplasirano.

Ako zanemarimo hardcore OOP koncepte, jednostavno receno ono sto OOP izdvaja od ostalih paradigmi je mogucnost modelovanja realnih situacija, procesa i objekata u informacioni model, i to je ono sto je nedostajalo u strukturnom prpogramiranju, znaci ne sam kod (jer kad pogledas OOP se generalno oslanja na druge pardigme za sam kod) vec prisustvo metadata opisa u sorsu. I u tom pogledu nema neke velike potrebe niti mesta za radikalnu promenu i ne vidim sto bi morao da propadne OOP samo zato sto postoji vec par decenija.
Analogije radi, tockovi na vozilima postoje vec milenijumima i sluze svrsi i vrte se i bili su drasticna promena u odnosu na vucenje prikolice bez tockova (ili sa kockastim tockovima ), i radi se na tome da se naprave bolji, efikasniji, laksi, naj, naj tockovi ali niko ne pita sta posle tocka?


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ć
 
Odgovor na temu

fresh.bm

Član broj: 162156
Poruke: 182
*.broadband.blic.net.



+1 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?11.10.2008. u 18:30 - pre 189 meseci
Pa ne kazem ja da treba napraviti elipsaste ili trouglaste tockove!!!
Kazem samo da se mogu dodati pomocni tockici u OOP.

Dobro si primjetio da se kod zasniva staroj paradigmi.
Konkretno u C++ je dodan objektno orjentisani dio na C-a i dobijen C++. Nista se nije drasticno izmjenilo u samom C-u, osim vracanja vrednosti funkcija preko liste parametara, sto je ,naravno, poboljsanje.

Sam kocept OOP se zasniva na uporednoj dekompoziciji algoritama i struktura podataka. U definiciji strukturiranog programiranja ne postoje strukture podataka, i sami tvorci strukturiranog programiranja su bili svjesni tog nedostatka, cak je i C.Hoere(jedan od zasnivaca ovog koncepta) definisao osnove OOP.
U strukturiranom programiranju jednostavno nije bilo moguce vrsiti istovremenu dekompoziciju algoritama i struktura podataka. Moralo se birati izmedju jednog ili drugog, pa su obicno posebni timovi (priredjivaci projekta) prije samog pocetka rada na programiranju odredjivali gotovu strukturu podataka koju bi prosljedili programerima koji su na osnovu nje pisali programe, ili djelove programa, zavisno za sta su zaduzeni. Sami programeri nisu mogli da prave svoje strukture podataka jer bi tada dolazilo do nekompatabilnosti, u velikim projektima bi se 99% zadesilo da se naprave dvije razlicite strukture za istu stvar od strane dva programera koji pisu dva odvojena dijela programa.

Ne kazem da OOP nevalja, naprotiv. To je do sada najbolja metodologija razvoja softvera, do koje se doslo dugogodisnjom evolucijom softverskog inzenjeringa.
Mene zanima koji su mu eventualni nedostatci, sta bi se tu moglo doraditi?
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
195.222.97.*



+2790 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?11.10.2008. u 19:10 - pre 189 meseci
Koliko znam, svaka sledeća paradigma je proširivala prethodne, a nije ih zamenjivala u smislu odbacivanja starih koncepata. Verovatno će tako biti i sa OOP.

Citat:
mmix: ono sto OOP izdvaja od ostalih paradigmi je mogucnost modelovanja realnih situacija, procesa i objekata u informacioni model, i to je ono sto je nedostajalo u strukturnom prpogramiranju,


Znači li ovo da se u strukturnoj paradigmi nisu mogli modelirati realni procesi ili da OOP nema nedostataka ili nešto treće?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

fresh.bm

Član broj: 162156
Poruke: 182
*.broadband.blic.net.



+1 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?11.10.2008. u 22:14 - pre 189 meseci
Citat:
mmix: Analogije radi, tockovi na vozilima postoje vec milenijumima i sluze svrsi i vrte se i bili su drasticna promena u odnosu na vucenje prikolice bez tockova (ili sa kockastim tockovima ), i radi se na tome da se naprave bolji, efikasniji, laksi, naj, naj tockovi ali niko ne pita sta posle tocka?


Zar ne bi trebali teziti ka hovercraftu?? Nisi gledao Povratak u buducnost?
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 00:00 - pre 189 meseci
Hovercraft vec postoji i zove se helikopter, pa opet nije parkiran ispred svake kuce Jeste brzi ali je i neoptimalniji i samim tim nece postati mainstream a isto ti i dalje vazi za nadolazece paradigme. Da nastavimo filozofiranje, nadji mi hovercraft koji ce vrsiti rad u toj meri da se izbori i sa gravitacijom i da mi omoguci kretanje i da to radi za manje od 5.5l ECo dizela na 100km i ja cu se prebaciti Isto vazi i za paradigmu koja ce zameniti OOP

Citat:
Nedeljko: Koliko znam, svaka sledeća paradigma je proširivala prethodne, a nije ih zamenjivala u smislu odbacivanja starih koncepata. Verovatno će tako biti i sa OOP.
Znači li ovo da se u strukturnoj paradigmi nisu mogli modelirati realni procesi ili da OOP nema nedostataka ili nešto treće?


Paradigmi ima desetine za koje sam ja cuo i verovatno jos par puta toliko paradigmi za koje nikad nisam ni cuo (iverovatno nikad ni necu), i nisu sve hirearhijski poredjane i vecina jezika koji su danas mainstream su zapravo implementacije vise paradigmi. OOP je samo jedna od njih i iako smo navikli da na OOP gledamo kao na naslednika strutkuralnog programiranja, on i nije nastao u toj formi (smalltalk nije strukturalni jezik) i uopste nije neophodno da jezik koji je OOP bude i strukturalni.
I da, u strukturnoj paradigmi nisi mogao da predstavis nikakav model, mogao si samo da odradis implementaciju (!=model), i to ne uvek i ne uvek elegantno.
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ć
 
Odgovor na temu

fresh.bm

Član broj: 162156
Poruke: 182
*.broadband.blic.net.



+1 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 08:16 - pre 189 meseci
Vidim da se ova tema svela na nabrajanje prevoznih sredstava!? Zasto prave vozove na magnetni pogon i izbacuju im tockove?

Pitanje je koji su nedostatci OOP i ima li ih uopste???
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 09:47 - pre 189 meseci
Pa ti si nastavio taj pravac razgovora a i ode u masstransit, pa jel voze ljudi magleve po ulicama?, prave ljudi i spaceshuttle koji leti bez tockova pa i dalje nije mainstream. Propustio si da uocis ono sto sam hteo da ti kazem a to je da je pitanje "koje su mane OOPa i kad ce zastareti?" isto kao i "koje su mane tocka i kad ce zastareti?"

A nedostatci OOP-a. To zavisi koga pitas, posto OOP generalno nema striktnu definicijiu, vise je neki skup slabo povezanih pravila koja se parcijalno ili u potpunosti implementiraju u odredjenim razvojnim sistemima, sto i nije losa stvar jer je fleksibilan i stalno evoluira i zbog toga i nece biti zastareo. OOP koji danas imas nije isti kao OOP koji je nastao u simuli i smalltalku 60'ih, banalno receno jednog dana je neko zakljucio da OOP nije dobar za decoupled sisteme jer obe strane moraju da imaju punu implementaciju klase i kao resenje tog problema dobili smo interfejse, itd, itd. A posto za konkretnu implementaciju koda zavisi od drugih paradigmi OOP je otvoren za bilo koji broj i kombinaciju paradigmi unutar sebe (strukturalno, kompozitno?, funkcijsko, lambda, ...).

Koliko sam do sada video protiv OOPa su se uglavnom bunili "stariji" akademski informaticari koji jos ceznu za fortranom, a razlozi su im uglavnom vezani za odredjene implementacije u specificnim jezicima. Npr, po jednom C++ ne valja jer je komplikovan, a po drugom Java ne valja zato sto oduzima programeru kontrolu nad memorijom, ko da ista od toga ima veze sa OOP-om. Generalno postoje nacini na koje mozes da napravis veoma ozbiljne bugove u OOPu kao cista posledica OOPa bez obzira na implementaciju, npr subclassing uvek povlaci za sobom subtyping sto nije uvek tacno i sa stanovista tipova i sa stanovista modelovanja realne situacije.
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ć
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 12:17 - pre 189 meseci
Ja se izvinjavam na offtopic-u, ali nisam mogao da odolim - GoTo is not dead. Koliko pre 3-4 dana sam cistio pomenuti iz aplikacije na kojoj radim (a na kojoj je ranije radio neko drugi) :(
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p6-249.bvcom.net.



+1064 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 12:37 - pre 189 meseci
OOP nema veze sa struktuiranim programiranjem
koliko je nadogradnja na proceduralno programiranje.

Dakle u pocetku je bio spageti kod pa su onda
od toga napravili struktuirane blokove.

Paralelno sa time od asembler rutina nastaju potprogrami
i na kraju procedure.
E tad se uocilo da algoritmi funkcionisu
nezavisno od tipova podataka sa kojima se radi.
Da bi se to omogucilo uoceno je da pristup
samom podatku ne sme ici neposredno nego
preko grupa f-ja koje enkapsuliraju
detalje o cemu se radi.
I nastao je OOP. Prakticno procedure koje su
uzimale kao kljucni parametar neku strukturu
pridruzili smo podatku.
Drugi deo OOP-a je polimorfizam, tj mogucnost
da se poziva odredjena verzija f-je na osnovu tipa
podatka. Na taj nacin se upotpunjava generalnost
algoritma.
Medjutim tu nastaje problem.
Vezivanje f-ja sa podatkom podrazumeva
da se dispatch radi samo na osnovu jednog parametra.
Drugo ne mozete svu f-onalnost vezati u jednu
strukturu pa tu dolazi do ogranicenja
i koliko je sam algoritam genericki jer
f-onise samo na odredjenoj klasi struktura.

E onda se pojavilo genericko programiranje
kao resenje nedostataka OOP-a.
Recimo bas kod c++-a glavna paradigma i gde
najvise ide razvoj je genericko programiranje
ne oop. STL je komplet baziran na generickom programiranju.
Zasto.
Pa genericko programiranje prakticno nudi isto
sto i oop ali ne zahteva da su f-je vezane
za odredjenu klasu podataka.
Ono sto se zahteva je da podaci imaju odredjenu
f-onalnost ali ne moraju medjusobno biti
ni u kakvoj relaciji.
Dakle ne zahteva se da protokol f-je budu
vezane za sam podatak tj da sve bude izvedeno
iz jedne bazne klase.
Dakle imamo f-ju koja generalizuje algoritam
nezavisno od tipa podatka sa time da se bas kao
i kod OOP-a moze specijalizovati slucaj za odredjene
tipove.
Recimo ocigledni nedostatak oop-a je kod generalizovanja
algoritama za kontejnere.
Sa obzirom da nema smisla smestati sav protokol u baznu
klasu dolazi do potrebe da se programiranje vraca
na proceduralni nivo tako sto bi elemente recimo liste
kastovali u izvedeni tip i onda radili sa onim sta nam
treba.
Genericka lista omogucava da se tacno zna tip koji je
smesten u listu a samim tim i interfejs.
Dakle neki put ima smisla grupisati f-je po jednom
podatku a neki put nema.
Zato volim c++ ;) a mrzim javu ;)
E sad na kraju da bi se resio problem f-ja
koje pripadaju vise klasa koje medjusobno
nemaju nikakvu zavisnost i sprecila redundantnost
koda u OOP-u su nastali paterni kao sto je visitor
i command. Tj tzv "double dispatch" i multiple dispatch.
Te probleme resava aspektno programiranje,
tj ono sto oo programeri sada moraju rucno da rade
kako bi izbegli redundantost sa obzirom da se ne moze
sve strpati u baznu klasu.
A aop ce valjda biti ugradjeno u sam jezik?


Pozdrav!
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 16:54 - pre 189 meseci
To je sve ok, samo sto su templates/generics van oop-a prilicno rudimentarni i osnovni i sve sto se sa njima moze uraditi je vec u bibliotekama kao sto je STL (ono vece, manje, jednako, +, -, , itd). I mozes da ignorises OOP dok god genericke funkcije barataju osnovnim tipovima i strukturama i dok ih samo negde slazes i preslazes. Ako hoces da radis neke kompleksnije operacije nad "instancama" tipa koji se salju u specijalizaovani generics onda neces daleko stici bez OOP-a (tj mozes, ali opet sa spageti kodom), da se ne lazemo i sam STL u velikoj meri koristi operatore a kako ces da nalepis operator na strukturu podataka ako ne preko klase (struct i class su bukvlano isto u C++ bar sto se tice OOPa tako da deklarisati nesto sa struct ne znaci izbeci OOP) da ne pominjem npr iteracije nad polimorfnim generickim listama koje se duboko zanivaju na OOPu. Dakle opet je OOP kriticna komponenta, a templates su samo jos jedna paradigma koja se koristi unutar OOP-a.

A inace, STL nije samo kolekcija template funkcija, veci deo STLa je implementiran kroz OOP i poprilicno koristi i subclassing i polimorfizam, ukljucujuci i list<T> koji pominjes:

Code:
template <class _Tp, class _Alloc = __STL_DEFAULT_ALLOCATOR(_Tp) >
class list : protected _List_base<_Tp, _Alloc> 


A template imas i u Javi (mada u malo izmenjenom obliku i zovu se generics, ali funkcionalno rade slicno), ne vidim sto je diskvalifikujes zbog toga. Sem sto pravi programeri programiraju u asemb.., ovaj, C++-u


Citat:
Shadowed: Ja se izvinjavam na offtopic-u, ali nisam mogao da odolim - GoTo is not dead. Koliko pre 3-4 dana sam cistio pomenuti iz aplikacije na kojoj radim (a na kojoj je ranije radio neko drugi)


Nije ni strukturalno programiranje mrtvo
Code:
if (a == b) return true; else return false;


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ć
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
195.222.97.*



+2790 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 20:27 - pre 189 meseci
Citat:
mmix: I da, u strukturnoj paradigmi nisi mogao da predstavis nikakav model, mogao si samo da odradis implementaciju (!=model), i to ne uvek i ne uvek elegantno.


Možeš li ovo da pojasniš.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 21:10 - pre 189 meseci
Slika govori hiljadu reci



Ovaj dijagram je u 1:1 vezi sa OOP strukturom programa sorsom i sasvim je ocigledno sta modeluje. Sama implementacija metoda moze biti strukturalna, kompozitna, funkcionalna, u C#-u, cobolu ili ruby-u, biraj, ali OOP je taj koji definise shemu entitea, procesa i asocijacija sto strukturalno programiranje ne moze samo po sebi.
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ć
Prikačeni fajlovi
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p6-102.BVCOM.NET.



+1064 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 21:11 - pre 189 meseci
Miljane nije poenta da li se genericko programiranje moze mesati sa
oo proragmiranjem nego to sto za genericko programiranje
nije neophodan oop.
U c++-u mozes definisati operator f-je
koje nisu pridruzene klasi, no naravno glupo je
sad eliminisati oop u slucajevima kad je on prirodno resenje.
Sto se tice jave dovoljno je da vidim abominaciju kao
sto je public static void main pa da mi se povraca ;)

Pozdrav!


edit: eh sad ulete ova slika.
miljane ne mozes modelovati po oo principu za funkcionalno programiranje
pogotovo ti ne treba get/set jer tu nema nista mutabilno.
U stvari ako pogledas haskell on prirodno podrzava parametrijski
polimorfizam tj genericko programiranje ali ne i oop. Drugo
u f-skom programiranju same f-je su first class sitizeni bas
kao i podaci.

edit2: eh da
struktuirnoa programiranje kao control flow ili struktuirano programiranje
u smislu proceduralno / oo?
Ti u c-u mozes bez problema da programiras kao u nekom OO jeziku
ali je pravi nightmare ;)


[Ovu poruku je menjao Branimir Maksimovic dana 12.10.2008. u 22:21 GMT+1]
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-a-1.sezampro.yu.



+395 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 21:30 - pre 189 meseci
Problem sa OOP nastaje kad se posmatra kompleksna hijerarhija izvedenih klasa
nijedna klasa iz hijerarhije ne moze se posmatrati odvojeno tj. ne moze se lako ponovo iskoristiti bez
detaljnog poznavanja ostalih klasa iz hijerarhije i metoda koja ona nasledjuje ili pozajmljuje
tako da je reusability i enkapsulacija funkcionalnosti (sto je ustvari i ideja OOP-a) na nivou jedne klase tj. objekta diskutabilan.
Da li ste nekad koristli visestruko nasledjivanje u C++-u ?
Ne bih ga preporucio ni najgorem neprijatelju :)

Viva lollapalooza
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?12.10.2008. u 21:41 - pre 189 meseci
Mislio sam na controlflow, a znam da moze C da "imitira" OOP do neke mere, dok sam svojevremeno kopao po implementacijama OOPa u C++ u i Delphi-u pravio sam svoje vTable strukture i popunjavao ih u konstruktoru cisto kao proof of concept

A dijagram je bio za Nedeljka, ne za tebe, al kad si vec odgovorio moram da priznam da se Haskell-om nisam bavio, nisam nesto lud za funkcionalnim jezicima i dovoljno mi je bilo sto sam se petljao sa Ruby-em da se naucim konceptu, kad i ako Haskell postane mainstream potrudicu se da naucim detalje (like that will ever happen ). Al ajde, daj mi primer kako bi modelovao taj dijagram u pure-functional jeziku bez oop-a i kako bi odrzavao two-way asocijaciju kad nemas state i kako bi modelovao asinhrone operacije.


Citat:
Sto se tice jave dovoljno je da vidim abominaciju kao sto je public static void main pa da mi se povraca


Da, da, razumem te potpuno, ovo dole izgleda mnogo prirodnije i citkije

Code:
_CRTIMP uintptr_t __cdecl _beginthread (_In_ void (__cdecl * _StartAddress) (void *), _In_ unsigned _StackSize, _In_opt_ void * _ArgList);

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ć
 
Odgovor na temu

[es] :: Art of Programming :: Nedostaci objektno orjenitisane metodologije, i ima li ih uopšte?

Strane: 1 2 3 4

[ Pregleda: 19774 | Odgovora: 63 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.