eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCo ma Objective-C czego nie ma C++?
Ilość wypowiedzi w tym wątku: 38

  • 31. Data: 2011-05-24 22:17:48
    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 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.

    zamiast

    "call_method(arguments)" jak w c,
    czy

    "call_mehod(&object, arguments)" jak w c++

    jest

    call_method(&object, "method name", arguments)

    gdzie pierwsze pole pod &object ("isa") ma wskaznik na slownik nazw ("SEL")
    i wskaznikow ("IMP") - odszukuje sie i dopiero odpala - doskonale prosto
    i jasno jest to opisne w podanym przeze mnie ebooku "obj-c internals"




    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 32. Data: 2011-05-24 22:19:02
    Temat: Re: Co ma Objective-C czego nie ma C++?
    Od: Zbigniew Malec <a...@i...invalid>

    On Tue, 24 May 2011 23:05:08 +0100, Andrzej Jarzabek wrote:

    > 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ć?

    No jasne, że możemy. Pisałem tego posta równolegle z innym postem A.L, stąd
    taka redundancja.

    --
    Pozdrawiam
    Zbyszek Malec


  • 33. Data: 2011-05-24 22:36:08
    Temat: Re: Co ma Objective-C czego nie ma C++?
    Od: " " <f...@N...gazeta.pl>


    >
    > zamiast
    > "call_method(arguments)" jak w c,
    > czy
    > "call_mehod(&object, arguments)" jak w c++
    > jest
    > call_method(&object, "method name", arguments)

    zamiast tego ostatniego powinienem raczej napisac

    universal_call(&object, "method name", arguments)

    bo to jest jedna funkcja przez ktora 'wszysko przechodzi'

    choc nie wiem jak to wyglada w asmie - bez przerwy wywolania
    tej jednej funkcji dla roznych wskaznikow na stingi?

    wygodne w dezasemblacji by bylo bo latwo sprawdzic nazwe kazdej
    funkcji,

    widac ze to spora warstwa nadbudwy bo jest to na kazde wywolanie
    - mozna robic refleksje czyli manipulowac w runtime danymi w
    tych slownikach SEL-IMP ale do czego powznego moze o sluzyc to
    do koncanie wiem

    tak samo mozna sprawdzic z asma w runtime, nazwe i
    wylistowac metody kazdej instancji - ta rtti juz bardziej
    moze sie przydac ale tez tak do konca nie wiem




    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 34. Data: 2011-05-25 03:22:05
    Temat: Re: Co ma Objective-C czego nie ma C++?
    Od: A.L. <l...@a...com>

    On Tue, 24 May 2011 23:14:51 +0100, Andrzej Jarzabek
    <a...@g...com> wrote:

    >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.

    O ile sobie przypominam, to nawet w 1988 roku mozna bylo robic tak jak
    powyzej, czyli dynamicznie, albo statycznie. Ale nie pamietam jak. A
    nie chce mi sie szuakc manuala w piwnicy...

    A.L.


  • 35. Data: 2011-05-25 05:46:55
    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 23:14:51 +0100, Andrzej Jarzabek
    > <a...@g...com> wrote:
    >
    > >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.
    >
    > O ile sobie przypominam, to nawet w 1988 roku mozna bylo robic tak jak
    > powyzej, czyli dynamicznie, albo statycznie. Ale nie pamietam jak. A
    > nie chce mi sie szuakc manuala w piwnicy...
    >
    > A.L.

    mozna pobrac sobie IMP'a (ktory jest zwyklym adresem/wskaznikiem na
    docelowa funkcje) i uzywac go bezposrednio - ale to jest traktowane
    jako szuczka optymalizacyjna, normalnie wszystkie wywolania ida przez
    te 'slowniki'

    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 36. Data: 2011-05-25 08:20:48
    Temat: Re: Co ma Objective-C czego nie ma C++?
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2011-05-24, A.L <l...@a...com> wrote:
    [...]
    > No dobrze, ale co ma to wspolnego z MODELEM OBIEKTOWOSCI?...

    A.L., podaj po prostu przykład języka o innym modelu obiektowości niż
    pochodzący z Simuli. Wtedy twoi rozmówcy będą widzieli o czym mówisz.

    --
    Secunia non olet.
    Stanislaw Klekot


  • 37. Data: 2011-05-25 09:30:29
    Temat: Re: Co ma Objective-C czego nie ma C++?
    Od: Piotr Chamera <p...@p...onet.pl>

    W dniu 2011-05-25 10:20, Stachu 'Dozzie' K. pisze:
    > On 2011-05-24, A.L<l...@a...com> wrote:
    > [...]
    >> No dobrze, ale co ma to wspolnego z MODELEM OBIEKTOWOSCI?...
    >
    > A.L., podaj po prostu przykład języka o innym modelu obiektowości niż
    > pochodzący z Simuli. Wtedy twoi rozmówcy będą widzieli o czym mówisz.
    >

    Javascript?


  • 38. Data: 2011-05-25 14:03:12
    Temat: Re: Co ma Objective-C czego nie ma C++?
    Od: A.L. <l...@a...com>

    On Wed, 25 May 2011 08:20:48 +0000 (UTC), "Stachu 'Dozzie' K."
    <d...@g...eat.some.screws.spammer.invalid> wrote:

    >On 2011-05-24, A.L <l...@a...com> wrote:
    >[...]
    >> No dobrze, ale co ma to wspolnego z MODELEM OBIEKTOWOSCI?...
    >
    >A.L., podaj po prostu przykład języka o innym modelu obiektowości niż
    >pochodzący z Simuli. Wtedy twoi rozmówcy będą widzieli o czym mówisz.

    Prosze bardzo. Ada na przyklad. Ackolwiek specyfikacja jezyka mowi o
    "class", nei sa to klasy w sensie Simuli:

    A programmer studying the object-oriented features of
    Ada 9X [5], maybe astonished by the use of the term class,
    i.e. a set of types sharing common properties and closed
    under derivation, and by the lack of a syntactic constmct
    called class or object.

    Moreover, whereas classes, types and modules share the
    same syntactic construct in the Simula-based object-oriented
    languages (like Eiffel) or extensions (like C++),
    Ada 9X makes a point of keeping the package as basic construct
    for modularity and encapsulation, and the type as construct
    for describing the properties of objects. It would have
    been misleading to introduce class types or typed packzzges,
    since both of these extensions would have introduced adhoc
    and redundant constructs in the language.

    Ada is not the only language to keep this distinction. Other
    modern programming languages such as Modula-3 [9] and
    Oberon-2 [23] incorporate the same design choice. However,
    whereas these programming languages are built on flat
    namespaces, Ada is the only language to have enhanced the
    concept of modularity to take object-oriented systems into
    account for the management of the namespace with hierarchical
    libraries.
    ...
    Ada 9X refines the type derivation
    mechanism by introducing tagged types and type extension.
    A tagged type is a record type the derivatives of which
    can be extended with additional components.

    Working with Ada 9X classes

    Author: Stéphane Barbey Swiss Federal Institute of Technology in
    Lausanne, Software Engineering Laboratory, EPFL-DI-LGL, CH-1015
    Lausanne, Switzerland

    ? Proceeding
    TRI-Ada '94 Proceedings of the conference on TRI-Ada '94
    ACM New York, NY, USA (C)1994

    Podobnie jezyk Oberon (ten od Wirtha) ma obiektowosc oparta o "derived
    types" i "tpe extension". Artykul jest tutaj

    http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1
    .1.93.6273

    Zrwszta, model Ady zostal wziety z idei Wirtha

    Inny model to model oparty o prototypy, a najbardziej znanym
    reprezentatnem ejst jezyk Self

    http://labs.oracle.com/self/

    http://labs.oracle.com/self/papers/self-power.html

    A.L.




strony : 1 ... 3 . [ 4 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: