-
21. Data: 2011-05-24 21:12:22
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: A.L. <l...@a...com>
On Tue, 24 May 2011 22:07:57 +0100, Andrzej Jarzabek
<a...@g...com> wrote:
>On 24/05/2011 21:53, A.L. wrote:
>>
>> Oczywiscie ze Kolega nie musi. Przymusu nie ma. Ale po odpowiedzi na
>> moje oryginalne pytanie dotyczace modellu obiektowosci, wnosze ze
>> Kolaga ma takie sobie pojecie o Smalltalku i Objective-C.
>>
>> Prawda jest bowiem ze syntaks i ogolnie styl programowania w
>> Objective-C jest zblizony do Smalltalkowego, to zarowno Smalltalk jaki
>> i C++ posiadaja dokladnie taki sam model obiektowosci, a konkretnie
>> taki jaki ma jezyk Simula-67. Czyli opaerty o klasy. Simula bowiem
>> byla prototypem zarowno dla C++ jak i Smalltalka.
>
>Rozumiem że to, że różnica taka, że tu się przekazuje komunikaty do
>obiektów a tam się woła metody to nie jest część "modelu obiektowości"
>tylko czegośtam. Przepraszam w związku z tym za niepoprawne użycie
>terminu "model obiektowości", chodziło mi o to drugie, co nie wiem jak
>się nazywa, bo to ma być dopiero na czwartym semestrze.
>
>Chodziło mi mianowicie o to, o czym autor w wikipedii pisze tak:
>"In Objective-C one does not call a method; one sends a message. This is
>unlike the Simula-style programming model used by C++."
>
>Nie ma on racji? Możliwe, że nie ma, ja się nie będę kłócił. I przyznam
>się bez bicia, że się na Objective-C ani na Smalltalku jakoś bardzo nie
>znam, jak i nie mam chyba szczególnych powodów, żeby się poznawać.
Owszem. Jak sie programuje w Smalltalku to sie mowi "I am sending a
message". Ale to sie tylko tak mowi. W rzeczywistosci to jest takie
samo wolanie funkcji jak kazde inne tylko zapisuje sie inaczej.
Zreszta, z cytatu powyzej "This is unlike the Simula-style
programming model used by C++."
Wyraznie mowia o PROGRAMMING STYLE
A.L.
-
22. Data: 2011-05-24 21:26:23
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: " " <f...@N...gazeta.pl>
A.L. <l...@a...com> napisał(a):
> On Tue, 24 May 2011 21:43:41 +0100, Andrzej Jarzabek
> <a...@g...com> wrote:
>
> >On 24/05/2011 21:29, A.L. wrote:
> >> On Tue, 24 May 2011 20:33:14 +0100, Andrzej Jarzabek
> >>>
> >>> Jeśli kolega nie wie, to mnie się nie chce tłumaczyć. Niech sobie kolega
> >>> przeczyta jakąś książkę.
> >>
> >> Z cala pewnoscia wnioskuje ze jezeli ktos tu cos musi poczytac, to
> >> wlasnie Kolega. Zwlaszcza o Smalltalku. A moze i o Objective-C
> >
> >Ale dlaczego "muszę"?
>
> Oczywiscie ze Kolega nie musi. Przymusu nie ma. Ale po odpowiedzi na
> moje oryginalne pytanie dotyczace modellu obiektowosci, wnosze ze
> Kolaga ma takie sobie pojecie o Smalltalku i Objective-C.
>
> Prawda jest bowiem ze syntaks i ogolnie styl programowania w
> Objective-C jest zblizony do Smalltalkowego, to zarowno Smalltalk jaki
> i C++ posiadaja dokladnie taki sam model obiektowosci, a konkretnie
> taki jaki ma jezyk Simula-67. Czyli opaerty o klasy. Simula bowiem
> byla prototypem zarowno dla C++ jak i Smalltalka.
>
> A.L.
sa pewne roznice, np w obj-c nie ma destruktora ktory wywolywalby sie
po wyjsciu z zasiegu, uzywa sie tam jawnie wywolywanych 'release' i
paru zasad co do ich wywolywan - samo to robi spore roznice jak mysle
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
23. Data: 2011-05-24 21:26:26
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: Andrzej Jarzabek <a...@g...com>
On 24/05/2011 22:12, A.L. wrote:
> On Tue, 24 May 2011 22:07:57 +0100, Andrzej Jarzabek
> <a...@g...com> wrote:
>
> Zreszta, z cytatu powyzej "This is unlike the Simula-style
> programming model used by C++."
>
> Wyraznie mowia o PROGRAMMING STYLE
Jest mowa o "Simula-style programming model". Nie wiem jak jest w slangu
z twojej dzielnicy, ale w angielskim, z którym się spotykałem do tej
pory (również w amerykańskiej literaturze, żeby nie było), "Simula-style
model" znaczy mniej więcej tyle, co "model jak w Simuli".
-
24. Data: 2011-05-24 21:42:40
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: A.L. <l...@a...com>
On Tue, 24 May 2011 22:26:26 +0100, Andrzej Jarzabek
<a...@g...com> wrote:
>On 24/05/2011 22:12, A.L. wrote:
>> On Tue, 24 May 2011 22:07:57 +0100, Andrzej Jarzabek
>> <a...@g...com> wrote:
>>
>> Zreszta, z cytatu powyzej "This is unlike the Simula-style
>> programming model used by C++."
>>
>> Wyraznie mowia o PROGRAMMING STYLE
>
>Jest mowa o "Simula-style programming model". Nie wiem jak jest w slangu
>z twojej dzielnicy, ale w angielskim, z którym się spotykałem do tej
>pory (również w amerykańskiej literaturze, żeby nie było), "Simula-style
>model" znaczy mniej więcej tyle, co "model jak w Simuli".
"model" czego?...
Obiektowosc w Simuli, Smalltalku, C++ i Objective-C oparta jest na
klasach. To jest "object model". Programowanie obiektowe wcale na
klasach oparte byc nie musi. Dlatego tez jak sie mowi "model obiektowy
Simuli" to sie wlasnie ma na mysli klasy.
Reszta to "programming model", czyli w gruncie rzeczy to co sie
okreslajako "syntactic sugar" - przy pomocy jakiej konwencji zapisuje
sie program. Podobnei sprawa dynamicznego czy nei dynamicznego
typowania to "type model" nic nie majacy wspolnego z "object model". I
znow, "model simuli" to nie zadne "messages" a wolania funkcji. Ale to
model programowania, a nie model obiektowosci.
Rzeczywiscie, tworcy Objective-C (Brad Cox, scisle rzec biorac) byli
pod wrazemiem jezyka Smalltalk to i takie mechanizmy zaprojektowali w
jezyku. Ale latwo sprawdzic (na przyklad ogladajac wynik dzialania
preprocesora wczesnych wersji Obejctive-C) ze owe "messages" byly
szybko i skutecznie tlumaczone na wolania funkcji w C. Co zreszta, o
ile sobie przypominam, napisane jest w ksiazce Brada Coxa.
A.L.
-
25. Data: 2011-05-24 21:56:29
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: Zbigniew Malec <a...@i...invalid>
On Tue, 24 May 2011 22:26:26 +0100, Andrzej Jarzabek wrote:
> Jest mowa o "Simula-style programming model". Nie wiem jak jest w slangu
> z twojej dzielnicy, ale w angielskim, z którym się spotykałem do tej
> pory (również w amerykańskiej literaturze, żeby nie było), "Simula-style
> model" znaczy mniej więcej tyle, co "model jak w Simuli".
Koledze A.L. chodzi o to, że w Wiki jest napisane o stylu programowania, a
nie modelu obiektowości.
--
Pozdrawiam
Zbyszek Malec
-
26. Data: 2011-05-24 21:57:29
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: Andrzej Jarzabek <a...@g...com>
On 24/05/2011 22:42, A.L. wrote:
>
> Obiektowosc w Simuli, Smalltalku, C++ i Objective-C oparta jest na
> klasach. To jest "object model". Programowanie obiektowe wcale na
> klasach oparte byc nie musi. Dlatego tez jak sie mowi "model obiektowy
> Simuli" to sie wlasnie ma na mysli klasy.
>
> Reszta to "programming model", czyli w gruncie rzeczy to co sie
> okreslajako "syntactic sugar" - przy pomocy jakiej konwencji zapisuje
> sie program. Podobnei sprawa dynamicznego czy nei dynamicznego
> typowania to "type model" nic nie majacy wspolnego z "object model". I
> znow, "model simuli" to nie zadne "messages" a wolania funkcji. Ale to
> model programowania, a nie model obiektowosci.
>
> Rzeczywiscie, tworcy Objective-C (Brad Cox, scisle rzec biorac) byli
> pod wrazemiem jezyka Smalltalk to i takie mechanizmy zaprojektowali w
> jezyku. Ale latwo sprawdzic (na przyklad ogladajac wynik dzialania
> preprocesora wczesnych wersji Obejctive-C) ze owe "messages" byly
> szybko i skutecznie tlumaczone na wolania funkcji w C. Co zreszta, o
> ile sobie przypominam, napisane jest w ksiazce Brada Coxa.
Nie będę się kłócił, ale spytam z ciekawości: te komunikaty nie są
dynamicznie dispatchowane?
-
27. Data: 2011-05-24 21:59:48
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: A.L. <l...@a...com>
On Tue, 24 May 2011 22:57:29 +0100, Andrzej Jarzabek
<a...@g...com> wrote:
>On 24/05/2011 22:42, A.L. wrote:
>>
>> Obiektowosc w Simuli, Smalltalku, C++ i Objective-C oparta jest na
>> klasach. To jest "object model". Programowanie obiektowe wcale na
>> klasach oparte byc nie musi. Dlatego tez jak sie mowi "model obiektowy
>> Simuli" to sie wlasnie ma na mysli klasy.
>>
>> Reszta to "programming model", czyli w gruncie rzeczy to co sie
>> okreslajako "syntactic sugar" - przy pomocy jakiej konwencji zapisuje
>> sie program. Podobnei sprawa dynamicznego czy nei dynamicznego
>> typowania to "type model" nic nie majacy wspolnego z "object model". I
>> znow, "model simuli" to nie zadne "messages" a wolania funkcji. Ale to
>> model programowania, a nie model obiektowosci.
>>
>> Rzeczywiscie, tworcy Objective-C (Brad Cox, scisle rzec biorac) byli
>> pod wrazemiem jezyka Smalltalk to i takie mechanizmy zaprojektowali w
>> jezyku. Ale latwo sprawdzic (na przyklad ogladajac wynik dzialania
>> preprocesora wczesnych wersji Obejctive-C) ze owe "messages" byly
>> szybko i skutecznie tlumaczone na wolania funkcji w C. Co zreszta, o
>> ile sobie przypominam, napisane jest w ksiazce Brada Coxa.
>
>Nie będę się kłócił, ale spytam z ciekawości: te komunikaty nie są
>dynamicznie dispatchowane?
W Smalltalku i owszem. A w Objective-C mozna bylo tak i tak. Ale nie
wiem jak teraz jest, bo Objectiwe-C uzywalem w latach 1985 - 1988 i
mam wiadomosci neiswieze.
A.L.
-
28. Data: 2011-05-24 22:05:08
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: Andrzej Jarzabek <a...@g...com>
On 24/05/2011 22:56, Zbigniew Malec wrote:
> On Tue, 24 May 2011 22:26:26 +0100, Andrzej Jarzabek wrote:
>
>> Jest mowa o "Simula-style programming model". Nie wiem jak jest w slangu
>> z twojej dzielnicy, ale w angielskim, z którym się spotykałem do tej
>> pory (również w amerykańskiej literaturze, żeby nie było), "Simula-style
>> model" znaczy mniej więcej tyle, co "model jak w Simuli".
>
> Koledze A.L. chodzi o to, że w Wiki jest napisane o stylu programowania, a
> nie modelu obiektowości.
Jest w szczególności napisane "model of object-oriented programming". Ja
rozumiem, że istnieje poprawna terminologicznie definicja modelu
obiektowości ustandaryzowana w ISO ileśtam. I jak ktoś ją zeche podać,
to chętnie przeczytam.
Ale ja akurat używałem takiego nieprecyzyjnego, potocznego znaczenia,
które obejmuje też "model of object-oriented programming". Możemy na tym
zakończyć?
-
29. Data: 2011-05-24 22:08:30
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: A.L. <l...@a...com>
On Tue, 24 May 2011 22:57:29 +0100, Andrzej Jarzabek
<a...@g...com> wrote:
>On 24/05/2011 22:42, A.L. wrote:
>>
>> Obiektowosc w Simuli, Smalltalku, C++ i Objective-C oparta jest na
>> klasach. To jest "object model". Programowanie obiektowe wcale na
>> klasach oparte byc nie musi. Dlatego tez jak sie mowi "model obiektowy
>> Simuli" to sie wlasnie ma na mysli klasy.
>>
>> Reszta to "programming model", czyli w gruncie rzeczy to co sie
>> okreslajako "syntactic sugar" - przy pomocy jakiej konwencji zapisuje
>> sie program. Podobnei sprawa dynamicznego czy nei dynamicznego
>> typowania to "type model" nic nie majacy wspolnego z "object model". I
>> znow, "model simuli" to nie zadne "messages" a wolania funkcji. Ale to
>> model programowania, a nie model obiektowosci.
>>
>> Rzeczywiscie, tworcy Objective-C (Brad Cox, scisle rzec biorac) byli
>> pod wrazemiem jezyka Smalltalk to i takie mechanizmy zaprojektowali w
>> jezyku. Ale latwo sprawdzic (na przyklad ogladajac wynik dzialania
>> preprocesora wczesnych wersji Obejctive-C) ze owe "messages" byly
>> szybko i skutecznie tlumaczone na wolania funkcji w C. Co zreszta, o
>> ile sobie przypominam, napisane jest w ksiazce Brada Coxa.
>
>Nie będę się kłócił, ale spytam z ciekawości: te komunikaty nie są
>dynamicznie dispatchowane?
Dokladny opis jak to sie robilo we wczesnych wersjach Obejctive-C jest
tutaj
The object oriented pre-compiler: programming Smalltalk 80 methods in
C language
Brad L. Cox ITT Programming Technology Center, Stratford,
Connecticut
ACM SIGPLAN Notices
Volume 18 Issue 1, January 1983
A.L.
-
30. Data: 2011-05-24 22:14:51
Temat: Re: Co ma Objective-C czego nie ma C++?
Od: Andrzej Jarzabek <a...@g...com>
On 24/05/2011 22:59, A.L. wrote:
> On Tue, 24 May 2011 22:57:29 +0100, Andrzej Jarzabek
> <a...@g...com> wrote:
>
>> Nie będę się kłócił, ale spytam z ciekawości: te komunikaty nie są
>> dynamicznie dispatchowane?
>
> W Smalltalku i owszem. A w Objective-C mozna bylo tak i tak. Ale nie
> wiem jak teraz jest, bo Objectiwe-C uzywalem w latach 1985 - 1988 i
> mam wiadomosci neiswieze.
W Wikipedii jest napisane tak:
"In Smalltalk and Objective-C, the target of a message is resolved at
runtime, with the receiving object itself interpreting the message. A
method is identified by a selector or SEL -- a NULL-terminated string
representing its name -- and resolved to a C method pointer implementing
it: an IMP.[5] A consequence of this is that the message passing system
has no type checking. The object to which the message is directed -- the
receiver -- is not guaranteed to respond to a message, and if it does
not, it simply raises an exception."
Z tego opisu wynika, że różni się to dość znacznie od tego, co jest w
Simuli, obiektowym Pascalu czy C++. Ja sam nie znam się na tyle, żeby
mieć jakieś zdanie na temat, czy tak jest rzeczywiście, czy nie.