eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingAlgorytm hex,dec<->liczba › Re: Algorytm hex,dec<->liczba
  • X-Received: by 10.36.124.10 with SMTP id a10mr746544itd.6.1499805026723; Tue, 11 Jul
    2017 13:30:26 -0700 (PDT)
    X-Received: by 10.36.124.10 with SMTP id a10mr746544itd.6.1499805026723; Tue, 11 Jul
    2017 13:30:26 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
    188no2637249itx.0!news-out.google.com!f200ni3900itc.0!nntp.google.com!188no2637
    238itx.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Tue, 11 Jul 2017 13:30:26 -0700 (PDT)
    In-Reply-To: <a...@n...v.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.46.112;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 77.254.46.112
    References: <ojbd2k$m8a$1@node1.news.atman.pl> <ojdmh3$1u2$3@node2.news.atman.pl>
    <6...@g...com>
    <oje1q0$cv5$1@node2.news.atman.pl>
    <c...@g...com>
    <ojghmi$no5$1@node2.news.atman.pl>
    <d...@g...com>
    <ojgj5c$oul$1@node2.news.atman.pl> <ojgjjo$pam$1@node2.news.atman.pl>
    <f...@g...com>
    <ojgmpg$riu$1@node1.news.atman.pl>
    <b...@g...com>
    <ojgnpv$ses$1@node1.news.atman.pl>
    <f...@g...com>
    <ojj04l$2q6$3@node1.news.atman.pl>
    <7...@g...com>
    <ojmhb1$ie7$1@node1.news.atman.pl>
    <a...@g...com>
    <ojoq0n$cv4$1@node2.news.atman.pl>
    <3...@g...com>
    <5...@g...com>
    <2...@g...com>
    <1...@g...com>
    <a...@n...v.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <c...@g...com>
    Subject: Re: Algorytm hex,dec<->liczba
    From: "M.M." <m...@g...com>
    Injection-Date: Tue, 11 Jul 2017 20:30:26 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:210709
    [ ukryj nagłówki ]

    On Tuesday, July 11, 2017 at 7:16:07 PM UTC+2, slawek wrote:
    > On Tue, 11 Jul 2017 09:25:48 -0700 (PDT), s...@g...com wrote:
    > > > Poza tym ma największe możliwości z pośród dost=
    > > ępnych języków programowania: szablony, wielodziedziczenie, =
    > > przeładowywanie operatorów.
    >
    > No, no.
    >
    > A ma monady? Nie ma? O to wuj!
    >
    > Tak na marginesie: redefiniowanie operatorów to nie jest tak dobry
    > pomysł jak się wydawało w latach 90-tych.
    Gdy normalnie programuję, to są dwie możliwości. Albo robię klasę
    obudowującą (niemal dosłownie) jednego inta i dla niej operatory
    dodawania, odejmowania są tak naturalne, że sam nie wiem kiedy
    te operatory przedefiniuję. Albo... w ogóle nigdy nie przedefiniowuję
    operatorów. Gdy nie programuję normalnie, tylko bardzo, bardzo
    starannie i dam sobie dużo czasu na przemyślenie, to wtedy czasami w
    minimalnym stopniu używam przedefiniowania. Podsumowując, gdy się
    pisze w pośpiechu, to funkcja jednak jest tworem w jakimś minimalnym
    stopniu samodokumentującym się.


    > Dziedziczenie
    > wielobazowe... no cóż ma to zalety seksu grupowego:
    Nie. Ma to takie zalety, (rzecz jasna chodzi o zalety względem
    konkurencyjnego rozwiązania jakim jest agregacja wielu obiektów
    wewnątrz klasy bazowej) że nie trzeba przeklepywać nazw funkcji, a
    gdy nazwy takie same (potencjalny konflikt) to można użyć
    operatora :: i wskazać o którą bazową klasę chodzi. Bez dziedziczenia
    wielobazowego nie masz od razu dostępu do wszystkich metod w klasach
    bazowych.


    > wiele możliwości, ale nie każdy w tym się odnajdzie, potem nie
    > wiadomo co jest odziedziczone po kim, drzewo klas przypomina
    > zasieki spod Verdun.
    Tak, gdy nadużywałem, to miałem właśnie takie problemy. Przyznaję
    rację, że łatwo o nadużycia. Niejeden programista, w tym ja sam
    tak robiłem, stosuje wielodziedziczenie np. po to aby zabłysnąć
    że opanował ten mechanizm.


    > Koparka jest dzieckiem silnika i łyżki oraz gąsienicy.
    Bez względu na to, czy przekonałeś mnie tym przykładem, czy nie, powiedz,
    co proponujesz w zamian dziedziczenia wielobazowego? Proponujesz
    agregację? Zgadłem? Jeśli zgadłem, to powiedz mi, co zabrania stosowania
    agregacji w C++? Otóż nic tego nie zabrania. A że ludzie nadużywają...
    cóż mam powiedzieć, sam nadużywałem.



    > A może jednak
    > ma silnik, łyżkę i gąsienicę? Szablony?
    To już było powyżej.


    > Po co komu szablony jak ma
    > kaczyzm typowania? Szablony to tylko próba, co prawda heroiczna,
    > obejścia dyscypliny w typach.
    Owszem. Elegancki kaczyzm w C++ to metody wirtualne. Rozwiązania na
    metodach wirtualnych (lub jakiś wskaźnikach na funkcje) są moim
    zdaniem bardziej przejrzyste. Poza tym składnia szablonów jest
    brzydka, ale z tego co wiem, szukano składni alternatywnej i
    nic fajnego nie znaleziono. Szablony od jakiegoś czasu dają kompilatorowi
    szansę na wygenerowanie bardziej efektywnego kodu, skrojonego na konkretny
    typ. Dają też szansę na wychwycenie niektórych błędów.

    Pozdrawiam

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: