-
101. Data: 2014-02-22 03:28:59
Temat: Re: David West: OOP is Dead
Od: A.L. <a...@a...com>
On Fri, 21 Feb 2014 04:41:49 -0800 (PST), g...@g...com
wrote:
>W dniu czwartek, 20 lutego 2014 22:39:38 UTC+1 użytkownik A. L. napisał:
>> On Thu, 20 Feb 2014 01:27:57 -0800 (PST), g...@g...com
>> wrote:
>> >Produkowanie cyfrowej makulatura wydaje sie rzeczywiscie ciekawym
>> >zjawiskiem, jednak trudno mi pojac, jak odnosi sie to do
>> >poruszanego wczesniej tematu.
>> >
>> Hm... papier Szyperskiego to "makulatora"?... Ten akurat jest dosyc
>> czesto cytowany w kontekscie dyskusji o tym ze hermetyzacja i
>> obiektowosc to zupelnie niezalezne koncepcje. Proponuje jednak
>> przeczytac
>
>Po pierwsze, nigdy nie twierdzilem, ze hermetyzacja i obiektowosc
>to sa koncepcje, ktore w jakis sposob od siebie zaleza. Twierdzilem
>raczej (gwoli scislosci), ze hermetyzacja jest w jakims sensie
>skladnikiem pewnej idei, ktora wiele osob nazywa "programowaniem
>zorientowanym obiektowo".
Niektore jezyki "zorientowane obiektowo" maja hermetyzacje, a inne
jezyki "zorientowane obiektowo" nei maja. Nie ma na przykald Smalltalk
i oryginalna Simula
Niektore jezyki "nie zorientowane obiektowo" maja hermetyzacje, a
niektore jezyki "nie zorientowane obiektowo" hermetyzacji beu maja.
Hermetyzacja nic nei ma wspolnego z obiektowoscia
>
>Jezeli zas idzie o Szyperskiego, to przejrzalem go dosc pobieznie
>i choc moze mial nawet bardzo duze znaczenie historyczne, to
>jednak jest dosc mocno uwiklany w kontekst swojego powstawania
>(tj. brak systemu modulow w jezykach Eiffel i Smalltalk), zas
>kwestie, ktore podejmuje, podejmuje w sposob jednostronny.
>Mianowicie postuluje koniecznosc dodania systemu modulow
>do jezykow wspierajacych klasy, lecz w ogole nie rozwaza
>sytuacji przeciwnej, tj. koniecznosci rozszerzania jezykow
>wspierajacych moduly o system klas. To, co by mnie interesowalo,
>to kwestia, czy jezeli moduly maja w jakims jezyku status
>"first-class", to czy bylby to dostateczny srodek wyrazu
>do tego, zeby zbudowac w oparciu o nie system klas.
>
Dlatego, ze jak pisalem poprzednio, jedn z drugim nei ma nic
wspolbego. Jezyki posiadajace moduly zostawy wyposazone w klasy, na
przykald jezyk Ada czy Oberon, nie mowiac o popularnym Delphi.
Zas jak idzie o Szyperskiego, proponuje poczytac jego najnowsze
parce,a zwlaszcza ksiazki. Dla Pana wygody podaje tytul
Clemens Szyperski
(with Dominik Gruntz and Stephan Murer)
Component Software - Beyond Object-Oriented Programming - Second
Edition
Addison-Wesley / ACM Press, 2002 (608 pages)
ISBN 0-201-74572-0
Prosze zwrocic uwage na podtytul: "Beyond Obejct Oriented
programming". To wlasnei rozwineicie tego papieru ktury Panu
podeslalem. NA 700 stronach
Proponuje sie zainteresowac
>> Jakis czas temu MIT zrezygnowalo z uzywania tej ksiazki jako
>> podrecznika i Scheme jako pierwszego jezyka programwoania; pzresadzili
>> sie na Pythona.
>
>Pozwoli Pan, ze sie posluze Panskimi slowami: a co to ma do rzeczy?
Dlatego MIT zrezygnowal, bo uznal ze zarowno jezyk jak i ksiazka sa
niewspolczesne
A.L.
-
102. Data: 2014-02-22 03:30:50
Temat: Re: David West: OOP is Dead
Od: A.L. <a...@a...com>
On Fri, 21 Feb 2014 00:48:34 -0800 (PST), Maciej Sobczak
<s...@g...com> wrote:
>W dniu czwartek, 20 lutego 2014 22:43:50 UTC+1 użytkownik A. L. napisał:
>
>> Definicja obiektu minilanla to "struktura posiadajaca tozsamosc, stan
>> i zachowanie(behavior)". Niczego wiecej od obiektowosci sie nei
>> wymaga.
>
>Już kiedyś o tym tutaj dyskutowaliśmy.
>Jeszcze raz: powyższe warunki spełniają np. rejestry w asemblerze. Zmienne w Basicu
też te warunki spełniają. Z tego by wynikało, że zarówno asembler jak i Basic są
obiektowe.
Niech Pan przez chilw pomysli aby dojsc do wniosku ze plecia Pan
banialuki
>
>Takie definicje nie pozwalają na rozróżnianie od siebie różnych rzeczy a przez to są
po prostu bezużyteczne - w szczególności nie pozwalają odpowiedzieć sensownie na
pytanie, czym różni się programowanie obiektowe od innych.
>Napinasz się, że Wikipedia pisze bzdury a podajesz bezużyteczne definicje jako
lepszą i bardziej autorytatywną alternatywę? I jednocześnie piszesz, że czasy się
zmieniają, to i owo się w programowaniu zmienia a i tak trzymasz się na siłę
uproszczonej definicji, która w swojej bezużyteczności jest ponadczasowa i tak samo
bezużyteczna mogła być też 30 lat temu?
>
>E tam.
Przy okazji" czy mzoe Pan pisac tak zeby Panski post nie by lciurkiem
7 tysiecy znakow?
A.L.
-
103. Data: 2014-02-22 03:36:56
Temat: Re: David West: OOP is Dead
Od: A.L. <a...@a...com>
On Fri, 21 Feb 2014 03:00:40 -0800 (PST), g...@g...com
wrote:
>
>A moze jest wlasnie na odwrot -- moze o obiektowosci pisze z sensem,
>a o polimorfizmie belkoce?
>
Prosze Pana, Wikipedia nei jest jedynym zrodlem informacji o
poliformizmie.
>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)
Maja na nmysli p[zrewaznie Java i C++, bo nie znaja niczego innego
>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 (...)
>
kazdy ma parwo tak ywierdzic.
>
>
>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.
>
Pan pisal o "zastepowaniu klas"
>
>a pozniej uznal moje wyjasnienie heurystyki budowania
>programow w logice w oparciu o programy funkcyjne za
>"kompletna bzdure", choc nadal nie dowiedzialem sie, dlaczego)
Dlatego ze to co Pan zdefiniwal jako "program w logice" nic wspolnego
z programwoaniem w logice wspolnego nie mialo
Nei chce mi sie szukac cytatow i wracac do tematu.
A.L.
-
104. Data: 2014-02-22 03:41:49
Temat: Re: David West: OOP is Dead
Od: A.L. <a...@a...com>
On Fri, 21 Feb 2014 07:51:43 +0000 (UTC), toslaw <s...@n...4u.pl>
wrote:
>
>Więc po co twierdzić, że OOP się do tego nie nadaje, skoro żaden się nie nadaje?
>
>Pominę zupełnie fakt, że 'żaden' to żadna odpowiedź. Niektóre rozwiązania mogą być
lepsze, niektóre gorsze. Pytam o najlepsze aktualnie dostępne, takie musi istnieć,
nawet gdyby było dostępne tylko jedno rozwiązanie.
>
Lepsze w sensic CZEGO?
.
>
>Pytałem o połączenie serializacji (lub innej techniki implementującej persystencję)
i języka, które wg. Ciebie ma sens.
>
A, tego to ja nie rozumiem. java ma serializacje, Smalltalk ma
serializacje. Serialziacja jest polaczona z jezykiem
Wiec co ma byc polaczone z czym?
>Teraz ja Cię z kolei nie rozumiem.
>
>1) Piszesz o tym, że OOP i Serializacja to złe połączenie.
Gdzie tak napisalem? Ja pisalem ze model obiektowy i relacyjny to nei
najlepsze polaczenie. Nic nei pisalem o serializacji
>2) Pytam Cię, jakie jest dobre połączenie.
>3) Mówisz mi, że Java i interfejs Serializacji ze sobą współpracują.
Gdzie ja tak napisalem? JA napisalem ze model oboektowy i re;acyjny
zle wspolparcuja. Co zreszta, slusznie, mowil West od ktorego wykladu
sie zaczelo.
Java doskonale wspolparcuje ze swoaj wlasna serializacja
A.L.
>
>Java to OOP. Twoje posty są ze sobą sprzeczne!
-
105. Data: 2014-02-22 03:42:42
Temat: Re: David West: OOP is Dead
Od: A.L. <a...@a...com>
On Fri, 21 Feb 2014 06:32:02 -0800 (PST), g...@g...com
wrote:
>W dniu czwartek, 20 lutego 2014 22:47:53 UTC+1 użytkownik A. L. napisał:
>> On Wed, 19 Feb 2014 22:58:54 -0800 (PST), g...@g...com
>> wrote:
>>
>> >W dniu czwartek, 20 lutego 2014 04:30:11 UTC+1 użytkownik A. L. napisał:
>> >> On Wed, 19 Feb 2014 01:58:35 -0800 (PST), g...@g...com
>> >> wrote:
>> >>
>> >> >(A i tak zawsze bedzie mniej elastyczny niz wowczas,
>> >> >gdy po prostu udostepni sie dobrze napisany kod zrodlowy
>> >> >-- bo jego elastycznosc bedzie tylko tak duza, na ile
>> >> >pozwolila wyobraznia jego tworcow)
>> >>
>> >> Szczegolnie dobrze sie ten postulat realizuje gdy w grupie jest 20
>> >> programistow a system ma 5 milionow linii kodu
>> >
>> >*Szczegolnie* dobrze sie ten postulat realizuje, gdy w grupie jest 1100+
>> >programistow, a system ma 15 milionow linii kodu
>> >
>> >http://news.cnet.com/8301-1035_3-57603216-94/linux-
development-by-the-numbers-big-and-getting-bigger/
>>
>> A co to ma wspolnego z tym co napisalem i o czym szla dyskusja?
>
>Duzo. Na samym poziomie leksykalnym ma to wspolnych 17 z 19 slow,
>zas ich kolejnosc w obu zdaniach -- Panskim i moim -- jest identyczna,
>co wskazywaloby, ze odniesienie moich slow do Panskich jest bezposrednie.
>(zrodlo podalem tylko po to, zeby uwydatnic kontekst).
>
>Jezeli zas idzie o odniesienie merytoryczne, to ono zalezy wylacznie
>od Panskiej pierwotnej intencji. Jezeli miala ona byc sarkastyczna
>(tak jak mi sie zdalo), to jest to kontrargument na rzecz owego sarkazmu.
>Jezeli zas byla prosta, to jest to wyraz tego, ze sie zgadzamy co do tego,
>ze jakosc i dostepnosc kodu zrodlowego jest wazniejsza od tego, zeby
>interfejsy aplikacji byly od razu dobrze zaprojektowane.
Oglaszam koniec dyskusji
A.L.
-
106. Data: 2014-02-22 03:43:37
Temat: Re: David West: OOP is Dead
Od: A.L. <a...@a...com>
On Fri, 21 Feb 2014 22:54:00 +0000, Roman W
<b...@g...pl> wrote:
>On Wed, 19 Feb 2014 21:27:59 -0600, A.L. <a...@a...com> wrote:
>> Obiekty neispecjalnie dobzre realizujaten koncept - wymagaja
>> serializacji oarz pzreksztalcenia do rozmatu dododnego dla bazy
>danych
>> (relacyjnego). Model obiektowy i relacyjny nei bardzo do siebie
>> pasuja, i realizacja "persistency" najezona jest trudnosciami. OO
>> wcale nie jest do tego najlepsze
>
>Może sie mylę, ale chyba serializacja nie wymaga stosowania
>relacyjnej bazy danych?
>
>RW
Nie wymaga.
A.L.
-
107. Data: 2014-02-22 10:47:32
Temat: Re: David West: OOP is Dead
Od: g...@g...com
W dniu sobota, 22 lutego 2014 03:28:59 UTC+1 użytkownik A. L. napisał:
> On Fri, 21 Feb 2014 04:41:49 -0800 (PST), g...@g...com
> wrote:
> >W dniu czwartek, 20 lutego 2014 22:39:38 UTC+1 użytkownik A. L. napisał:
> >> Jakis czas temu MIT zrezygnowalo z uzywania tej ksiazki jako
> >> podrecznika i Scheme jako pierwszego jezyka programwoania; pzresadzili
> >> sie na Pythona.
> >
> >Pozwoli Pan, ze sie posluze Panskimi slowami: a co to ma do rzeczy?
>
> Dlatego MIT zrezygnowal, bo uznal ze zarowno jezyk jak i ksiazka sa
> niewspolczesne
Skad taki pomysl?
Gerald Sussman uzasadnial te decyzje nastepujaco:
Understanding the principles is not essential
for an introduction to the subject matter anymore,
it matters more that you can develop a mental map
of systems and make things work for you which is
what dealing with the robots in 6.01 will make you do.
To stwierdzenie dotyczy kursu i biezacego zapotrzebowania
na rynku. W zadnej mierze nie dotyczy ani ksiazki,
ani jezyka.
PS Zapomnial Pan odpowiedziec, jakie rzeczy sposrod tych
omawianych przez SICP zmienily sie w ciagu ostatnich 30 lat.
-
108. Data: 2014-02-22 12:39:33
Temat: Re: David West: OOP is Dead
Od: g...@g...com
W dniu sobota, 22 lutego 2014 03:36:56 UTC+1 użytkownik A. L. napisał:
> >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.
> >
> Pan pisal o "zastepowaniu klas"
Nie. Pisalem o "zastepowalnosci klas w kontekscie uzycia"
(a pozniej sie poprawilem, ze chodzi o zastepowalnosc
instancji tych klas). Jezeli odniesc sie do Panskiego
przykladu z Pascala, to zalozmy, ze mamy interfejs
"dodawanie" okreslony dla par liczb calkowitych oraz
dla par liczb rzeczywistych.
Oznacza to, ze jezeli gdzies w programie wystepuje
wyrazenie
x + y
w ktorym x i y liczbami naturalymi, to mozemy je
zastapic liczbami rzeczywistymi, a program sie nie zmieni
pod wzgledem poprawnosci (rozumianej w ten sposob, ze
bedzie w dalszym ciagu posiadal interpretacje w jezyku).
> >a pozniej uznal moje wyjasnienie heurystyki budowania
> >programow w logice w oparciu o programy funkcyjne za
> >"kompletna bzdure", choc nadal nie dowiedzialem sie, dlaczego)
>
> Dlatego ze to co Pan zdefiniwal jako "program w logice" nic wspolnego
> z programwoaniem w logice wspolnego nie mialo
Tylko ze ja nigdzie nie definiowalem "programu w logice".
> Nei chce mi sie szukac cytatow i wracac do tematu.
Jakos mnie to specjalnie nie zaskakuje. Zdazylem juz zauwazyc,
ze o ile bardzo Pan lubi wyglaszac opinie z pozycji autorytetu,
to nieszczegolnie sie Pan kwapi do ich uzasadniania.
(Ewentualnie jako "ostateczne uzasadnienie" przywolywuje ilosc
projektow, w ktorych uczestniczyl, albo linii kodu, ktore
napisal.)
-
109. Data: 2014-02-23 11:45:08
Temat: Re: David West: OOP is Dead
Od: Roman W <b...@g...pl>
On Sat, 22 Feb 2014 01:47:32 -0800 (PST), g...@g...com
wrote:
> Understanding the principles is not essential
> for an introduction to the subject matter anymore,
> it matters more that you can develop a mental map
> of systems and make things work for you which is
> what dealing with the robots in 6.01 will make you do.
To brzmi tak jakby po prostu postanowili obniżyć studentom
poprzeczkę. SICP transit gloria mundi.
RW
-
110. Data: 2014-02-24 14:59:05
Temat: Re: David West: OOP is Dead
Od: g...@g...com
W dniu sobota, 22 lutego 2014 03:42:42 UTC+1 użytkownik A. L. napisał:
> Oglaszam koniec dyskusji
Mimo wszystko prosilbym Pana, zeby powiedzial Pan, ktore sposrod
rzeczy, o ktorych jest mowa w SICP, sa przestarzale. (Majac na
wzgledzie lekture, ktora mi Pan polecil, moge jedynie wnioskowac, ze
nie tylko nie przeczytal Pan SICP, ale nawet nie przeczytal Pan jej
spisu tresci)