eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingpblog › Re: pblog
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!p
    ostnews.google.com!g6g2000vbr.googlegroups.com!not-for-mail
    From: xuesheng <p...@e...fi>
    Newsgroups: pl.comp.programming
    Subject: Re: pblog
    Date: Sat, 3 Oct 2009 17:37:29 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 57
    Message-ID: <1...@g...googlegroups.com>
    References: <b...@3...googlegroups.com>
    <ha88hs$hol$1@mx1.internetia.pl>
    NNTP-Posting-Host: 88.114.149.37
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1254616649 9807 127.0.0.1 (4 Oct 2009 00:37:29 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Sun, 4 Oct 2009 00:37:29 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: g6g2000vbr.googlegroups.com; posting-host=88.114.149.37;
    posting-account=zOpWhAoAAABF9bK4ExUIKsZM8vPTSKQp
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.14)
    Gecko/2009090905 Fedora/3.0.14-1.fc10
    Firefox/3.0.14,gzip(gfe),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:183743
    [ ukryj nagłówki ]

    On 3 Paź, 22:26, Michal Kleczek <k...@g...com> wrote:
    [...]
    >
    > Bylem jednym z krytykow dziedziczenia liniowego. Na temat "posredniej
    > denotacji klas" nie wypowiem sie, bo ni diabla nic z tego nie rozumiem.
    >
    > --
    > Michal

    Ups. Źle musiałem wyjaśnić. Powiem tak - C++ każe mi dla każdej klasy
    utworzyć i używać (np. przy tworzeniu instancji) odrębnej nazwy. A ja
    się buntuję. Mówię - nazwę utworzę, proszę bardzo. Ale używał będę -
    tylko do tych kilku klas - nazw "pośrednich", składających się z par
    dwóch wartości. Te nazwy pośrednie będą opisowe, (w tym wypadku będą
    mówiły jaki byt klasa opisuje i jak to robi). Mógłbym oczywiście
    wiedzę o tym, co klasa robi umieścić w identyfikatorze, jak każą dobre
    obyczaje (w końcu kto nazywa klasę X12345). Ale to mi nie wystarcza.
    Identyfikator jest "niszczony" na poziomie analizy leksykalnej, dla
    kompilatora nie ma znaczenia. Chcę, żeby wiedza o tym, co klasa robi,
    była dostępna i dla kompilatora. I jestem gotów płacić cenę bardziej
    złożonych nazw. Te moje template'y są w sensie logicznym funkcjami -
    przyporządkowują parom wartości całkowitych rzeczywiście istniejące
    klasy. Ja zamiast mówić "klasa maze_physical" mówię "ta klasa, która
    opisuje labirynt jako zbiór przeszkód". I kiedy utworzę np. nowy byt -
    dajmy na to jakąś rodzinę obiektów (powiedzmy "zwierciadeł") w moim
    labiryncie, zechcę użyć nazwy pośredniej
    CHRZASZCZ::representation<UNIT::MIRROR>, wówczas stanie się "cud":
    kompilator powie: błąd, nie ma "klasy, KTÓRA opisuje zwierciadło w
    sensie logicznym", "klasy, KTÓRA opisuje zwierciadło jako przeszkodę",
    itd. Zacznie używać moich pośrednich nazw, zupełnie tak, jakby
    rozumiał, co one znaczą. Może to nie jest wiele, ale bardzo wierzę w
    sens dawania kompilatorowi (czy też w ogóle, komputerowi) jak
    największej ilości wiedzy. Rezerwowanie jej do zrozumiałej tylko dla
    człowieka systematyki identyfikatorów jest złe.

    Bardzo się starałem wytłumaczyć. Mogę tylko zapewnić, że nie próbuję
    narobić szumu z jakichś względów - prestiżowych, czy innych. Naprawdę
    wierzę w to podejście.

    Paweł Biernacki


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: