-
Data: 2017-07-11 22:30:26
Temat: Re: Algorytm hex,dec<->liczba
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 11.07.17 23:53 slawek
- 12.07.17 01:00 M.M.
- 12.07.17 08:21 slawek
- 12.07.17 11:43 Roman Tyczka
- 12.07.17 14:05 slawek
- 12.07.17 15:24 M.M.
- 12.07.17 20:44 AK
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-04 Kraków => Spedytor międzynarodowy <=
- 2024-06-04 Re: Mało? Dużo?
- 2024-06-04 Re: Mało? Dużo?
- 2024-06-03 dziękuję nie tankuję
- 2024-06-03 Bo konie to ...
- 2024-06-03 narząd nieużywany zanika
- 2024-06-02 Restart PC-ta
- 2024-06-03 polskie miasta są małe
- 2024-06-04 Wrocław => Senior React Native Developer <=
- 2024-06-04 Warszawa => Sales Executive <=
- 2024-06-04 Białystok => ERP Implementer <=
- 2024-06-03 Zielona Góra => Engineer R&D Mechanic <=
- 2024-06-03 Kielce => UX/UI Designer <=
- 2024-06-03 Białystok => Inżynier DevOps Conexa First (Kontraktor) <=
- 2024-06-03 Warszawa => Technical Leader (Java Background) <=