-
Data: 2014-02-20 10:30:21
Temat: Re: David West: OOP is Dead
Od: firr <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]dla mnie tez dziedziczenie/polimorfizm [co ja sam wolalbym nazwaz programowaniem na
ogolnikach - tj takie programowanie gdzie zastepujesz konkretny typ pewna klasa
typów] jest innym paradygmatem niz czyste oo - zobacz np ten przyklad podany przez
uzytkownika toslaw, wlasnie wycialem stamtad elementy dziedziczenia po to zeby
uproscic sprawe a nadal jest to przyklad na oop
sam bardzo rozbudowalem i niejako zunifikowałem system modułowy (napisałem o tym pare
postów),
dodalem m.in. mozliwosc instancjonowania modułow
i jesli wybrac sposród tego niektóre charakterystyczne elementy to mozna powiedziec
ze niektore (te lepsze) elementy oop 'wtopiły sie' w to [w tym ze bylbym badzo
obrazony gdyby mowic ze
cos tu zostalo przejete od oop, bo dla mnie oop
(taki jaki znam z javy albo c++) to niesamowita chała której szczerze niecierpie,
raczej po prostu
pewne czesci mojego systemu (który jest 'generalny')
pozwalaja wyrazić lepiej to co w oop jest umieszczone w kontekscie pewnego koszmaru)
specjalny opopodobny przykład z mojego systemu modułowego*
main()
{
Int x;
Int y;
Int z;
x.add(y);
y.add(z);
z.add(x);
Monitor m1, m2, m3;
x.add(m1);
x.add(m2);
x.add(m3);
x.run();
}
Int jest tutaj modułem który jest instancjonowany
3 razy do encji x y z
przez te linijki z add zakladam pewien taki łancuch
kółeczko encji x->y->z->(x->) (w opopodobny sposób
tj przez fizyczny wskaznik) tak by np dzialalo to jak trzy fabryki x produkuje cos i
uruchamia y ktore
produkuje cos i uruchamia z ktore wtedy produkuje cos i uruchamia z
na przyklad
x produkuje "1111" (**mozna w x napisac parolinijkowa funkcje ktora to bedzie
robic:)
y produkuje z tego "2222"
z produkuje z tego "3333"
x produkuje z tego "4444"
do x y i z podpiałem trzy encja monitora tak ze na
monitor jeden bedzie szedł napis "1111" "4444" "7777" na drugi "2222" "5555" itd
[* specjalnie zostawilem to oznaczenie z kropka zeby wykazac podobieństwo
gdy normalnie w moim systemi emodulowym bardziej
naturalne sa wywolania "x add(y)" dla zwykłych funkcji (ew "x add y" dla operatorów)]
[**
Int.c:
module Int uses Monitor&
unsigned data[4];
Int& consumer;
Monitor& monitor;
void produce()
{
data[0]++;
data[1]++;
data[2]++;
data[3]++;
}
external void add(Int consumer){
consumer& = &consumer;
}
external void add(Monitor m){
monitor& = &monitor;
}
external void run()
{
produce();
monitor& show();
consumer& run();
}
Monitor.c (skip)
specjalnie wypichcony obiektowopodobny kawałek
tj komunikacja za pomoca fizycznych referencji
(w nieco przypadkowej składni), sa tu ze
cztery czy piec ciekawych tematow m.in
ciekawe dla mnie jest to ze jak sie raz "sklei"
Inta z monitorem
Int add(monitor)
to pozniej nie trzeba przekazywac metodom
miedzy monitorem a intem argumentów bo
sa one widzialne wewnetrzeni wzajemnie
przez ten wskaznik (jest to interesujace)
innym ubocznym tematem przy okazji pisanie tego
byloby dla mnie zastanawianie sie czy trzeba pisac
asserty dla nieustawionych referencji (lepiej nie
pisac by obsluzyl je system ale czy system w runtime bedzie w stanie bezstratnie
podac informacje ktora
referencja jest pusta.. pewnie da sie zrobic
jeszcze innym tematem jest zastanowienie sie co jest podobnie jak w kaszaniastym
pozatym oop a co jest jednak inaczej.. itd
Następne wpisy z tego wątku
- 20.02.14 10:43 firr
- 20.02.14 11:00 firr
- 20.02.14 22:39 A.L.
- 20.02.14 22:43 A.L.
- 20.02.14 22:46 A.L.
- 20.02.14 22:47 A.L.
- 21.02.14 08:51 toslaw
- 21.02.14 09:48 Maciej Sobczak
- 21.02.14 11:04 firr
- 21.02.14 12:00 g...@g...com
- 21.02.14 13:41 g...@g...com
- 21.02.14 13:53 g...@g...com
- 21.02.14 14:11 firr
- 21.02.14 15:32 g...@g...com
- 21.02.14 16:02 firr
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-30 Gdańsk => Software .Net Developer <=
- 2024-12-30 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-12-30 Białystok => Programista Full Stack (.Net Core) <=
- 2024-12-30 Moduł BT BLE 5.0
- 2024-12-30 Łódź => Application Security Engineer <=
- 2024-12-30 Lublin => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-30 Nowy Outlander PHEV w PL
- 2024-12-30 Warszawa => Key Account Manager <=
- 2024-12-30 Katowice => Key Account Manager (ERP) <=
- 2024-12-28 Śmiechu KOOOOOOPA ;-)
- 2024-12-29 Pomiar amplitudy w zegarku mechanicznym
- 2024-12-28 Antyradar
- 2024-12-28 Deweloper przegral w sadzie musi zwrócic pieniądze Posypia sie kolejne pozwy?
- 2024-12-28 Warszawa => Full Stack .Net Engineer <=
- 2024-12-28 Warszawa => Sales Assistant <=