-
X-Received: by 10.140.102.35 with SMTP id v32mr256qge.26.1392980441191; Fri, 21 Feb
2014 03:00:41 -0800 (PST)
X-Received: by 10.140.102.35 with SMTP id v32mr256qge.26.1392980441191; Fri, 21 Feb
2014 03:00:41 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin1!goblin.stu.neva.ru!s7no11935371lbd.0!news-out.google.com!ow6ni
19456lbb.1!nntp.google.com!w7no12019907lbi.1!postnews.google.com!glegroupsg2000
goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 21 Feb 2014 03:00:40 -0800 (PST)
In-Reply-To: <e...@4...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.67.189.218;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 89.67.189.218
References: <d...@g...com>
<e...@g...com>
<le0d01$46k$1@dont-email.me>
<b...@g...com>
<le1kk8$flv$1@dont-email.me>
<4...@g...com>
<b...@g...com>
<p...@4...com>
<f...@g...com>
<e...@4...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9...@g...com>
Subject: Re: David West: OOP is Dead
From: g...@g...com
Injection-Date: Fri, 21 Feb 2014 11:00:41 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:205226
[ ukryj nagłówki ]W dniu czwartek, 20 lutego 2014 22:43:50 UTC+1 użytkownik A. L. napisał:
> >W dniu czwartek, 20 lutego 2014 04:19:30 UTC+1 użytkownik A. L. napisał:
> >> On Wed, 19 Feb 2014 01:58:35 -0800 (PST), g...@g...com
> >> wrote:
> >>
> >> Zarowno hermetyzacja jai i polimorfizm nic nie maja ze soba wspolnego
> >> ani nic nie maja wspolnego z obiektowoscia.
> >
> >Przepraszam, ze sie powolam na to zrodlo, ale wydaje mi sie, ze
> >ono dosc dobrze reprezentuje "powszechne mniemanie" (i ma te zalete,
> >ze jezeli uwazasz, ze jest pelne glupot, a Ty wiesz lepiej, to
> >mozesz samemu to poprawic):
> >http://en.wikipedia.org/wiki/Object-oriented_progra
mming,
> >tamze:
> >
> >An object is an abstract data type with the addition
> >of polymorphism and inheritance.
> >
> >i dalej:
> >
> >Object orientation eases maintenance by the use of
> >encapsulation and information hiding.
> >
>
> To ze Wikipedia tak sobei uwaza, to nei znaczy ze to ejst prawda.
>
> Definicja obiektu minilanla to "struktura posiadajaca tozsamosc, stan
> i zachowanie(behavior)". Niczego wiecej od obiektowosci sie nei
> wymaga.
>
> Hermetyzacja, polimorfizm i subtyping sa zupelnie neizaleznymi
> pojecia,i, ktore i owszem, mozna w OO wykorzystywac. Ale nie ma takiej
> koniecznosci.
>
> Posumowujac: akurat w tej dziedzinei Wikipediapisze bzdury
>
> >> Polimorfizm mowi z grubsza o operacjach ktore moba byc zaaplikowane do
> >> zmiennych roznych typow, przy czym wlasciwa implementacja wybierana
> >> jest automatycznie, stosownie do tych typow.
> >[...]
> >>
> >> Polimorfizm nic nie mowi o "zastepowaniu klas".
> >
> >Moze tutaj rzeczywiscie wyrazilem sie dosc niefortunnie.
> >Chodzilo mi o zastapienie obiektu jednej klasy obiektem
> >innej, implementujacej ten sam interfejs. Byl to skrot
> >myslowy, ale przyznam, ze nie widze jak inaczej mozna by
> >go sensownie interpretowac.
> >
>
> To tez nie jest polimorfizm. Proponuje pzreczytac to co napisalem i
> sie zastanowic. Zajzrec tez do Wikipedii. Akurat o polimorfizmie
> Wikipedia pisze z sensem.
A moze jest wlasnie na odwrot -- moze o obiektowosci pisze z sensem,
a o polimorfizmie belkoce?
Z wikipedia jako "zrodlem wiedzy" jest pare problemow,
a jednym z najwiekszych jest to, ze nie ogranicza sie do
opisywania rzeczywistosci, ale rowniez ja ksztaltuje
(i jest to nieuniknione). Problem ten jest jednak problemem
tylko wtedy, gdy chcemy traktowac wikipedie jako zrodlo
wiedzy o rzeczach; znika natomiast wowczas, gdy potraktujemy
ja jako zrodlo wiedzy o ludziach (tych, ktorzy ja pisza
i czytaja) i ich mniemaniach.
Oczywiscie ma Pan racje, ze polimorfizm, hermetyzacja,
dziedziczenie i obiektowosc to sa rozlaczne pojecia,
i przynajmniej dwa pierwsze mozna rozwazac w calkowitym
oderwaniu od pojecia obiektu [w sensie okreslonym powyzej
przez Pana, tj. tozsamosc+stan+zachowanie]. Jednak kiedy
ludzie mowia o "programowaniu zorientowanym obiektowo",
czesto nie maja po prostu na mysli programowania, w ktorym
uzywa sie obiektow, ale pewien calosciowy pomysl (czy moze
religie) dotyczacy tego, jak tworzyc dobre oprogramowanie,
zas wsrod kluczowych idei znajduja sie te tutaj przytoczone.
Zeby nie byc goloslownym, ale i nie szukac za daleko:
http://en.wikipedia.org/wiki/Object-oriented_design#
Object-oriented_concepts
The five basic concepts of object-oriented design (...):
- Object/Class (...)
- Information hiding (...)
- Inheritance (...)
- Interface (object-oriented programming) (...)
- Polymorphism (...)
Choc posluzylem sie poreczna wikipedia, zapewniam, ze takich
kolokacji mozna znalezc duzo wiecej. (Byc moze ma to swoje
zrodlo u Stroustrupa, a moze jeszcze wczesniej). Jezeli uwaza
Pan, ze to nieprawda, albo co wiecej -- ze ta nieprawda moze
byc szkodliwa, to moze Pan poswiecic swoja energie na to, zeby
te "bzdury" zniknely z wikipedii, bo ona niestety promieniuje,
stajac sie tym klamstwem, ktore zostaje powtorzone dostatecznie
wiele razy.
Co do tematu polimorfizmu, to wikipedia wydaje sie calkowicie
zgadzac z tym, co napisalem: "polymorphism is the provision
of a single interface to entities of different types". Nie
widze istotnej roznicy pomiedzy tym sformulowaniem, a moim.
> >> Tak na marginesie, interfejs nei okrecla calkowicie zachowanai modulu;
> >> moduly o identycznych interfejsach nie musza byc identyczne
> >
> >To chyba dosc oczywiste?
>
> No, nie sie wydawalo ze Pan postuluje wlasnei to. Nei chce mi sie
> szukac ytatu
Od dluzszego czasu odnosze wrazenie, ze odnosi sie Pan raczej
do tego, co sie Panu wydaje, ze napisalem, niz do tego, co
rzeczywiscie napisalem. Byc moze w jakiejs mierze wynika to
z mojej nieudolnosci w wypowiadaniu sie, jednak przyznam,
ze prezentowana przez Pana postawa, polegajaca na tym,
ze raczej jest Pan sklonny wyrazic oderwane od wszelkiej
merytoryki lekcewazenie wobec jakiejs wlasnej interpretacji
moich slow, niz wypytac, o co rzeczywiscie moglo mi chodzic,
nie ulatwia porozumienia.
(Wczesniejszym razem z jakichs niepojetych dla mnie wzgledow
uznal Pan, ze jestem przeciwnikiem statycznej kontroli typow,
a pozniej uznal moje wyjasnienie heurystyki budowania
programow w logice w oparciu o programy funkcyjne za
"kompletna bzdure", choc nadal nie dowiedzialem sie, dlaczego)
Następne wpisy z tego wątku
- 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
- 21.02.14 23:54 Roman W
- 22.02.14 03:28 A.L.
- 22.02.14 03:30 A.L.
- 22.02.14 03:36 A.L.
- 22.02.14 03:41 A.L.
- 22.02.14 03:42 A.L.
- 22.02.14 03:43 A.L.
- 22.02.14 10:47 g...@g...com
- 22.02.14 12:39 g...@g...com
- 23.02.14 11:45 Roman W
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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??
Najnowsze wątki
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=
- 2025-02-10 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-02-10 Dlaczego takie preferencje banków?
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-10 Białystok => System Architect (Java background) <=
- 2025-02-10 Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- 2025-02-10 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=