-
Data: 2018-11-24 21:20:36
Temat: Re: Niezmienniki pętli
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> > Dlaczego? Jest konsekwentny. W odróżnieniu np. od Javy, gdzie int jest
wartościowy
> > ale Integer nie jest, albo nie da się zrobić List<int>, albo gdzie wskaźniki
> > nazywane dla zmyłki referencjami są jednak wartościowe, itd.
>
> Kazdy Javowiec dobrze wie dlaczego jest ta dwoistosc (ze wzgledow
> wydajnosciowych dla typow prostych).
Nie zgadzam się. Nie ma żadnego powodu robić takiej dwoistości, żeby uzyskać
wydajność. W szczególności wydajność nie jest powodem, dla którego List<int> nie
działa. Jakoś w innych językach działa i nikt tym językom nie zarzuca braku
wydajności. To, że w Javie nie działa List<int> wynika z tego, że projektanci Javy
nie mieli jaj, żeby od początku zrobić prawdziwe generyki, zamiast tego zrobili jakąś
cienką nakładkę na referencyjno-obiektowy system pod spodem. Dlatego musi być
List<Integer> - bo akurat to da się *łatwo* zaimplementować przez tzw. wymazywanie
typów ("type erasure" dla poliglotów) tak, żeby wyszło z tego List<Object>, bo to już
umieli wcześniej. Tymczasem zarówno Ada jak i C++ potrafią zrobić kontener z
elementami typu prostego tak samo, jak kontener z elementami referencyjnymi i w obu
przypadkach jest tak samo (tzn. maksymalnie) wydajnie.
Nie gloryfikuj amatorszczyzny. Schizofrenia Javowego systemu typów nie ma żadnego
związku z wydajnością.
> Jest jednak zawsze alternatywa int:Integer
Ale właśnie ta alternatywa jest kompletnie po nic. To nie jest ficzer, to jest
właśnie defekt, bo nie ma powodu, żeby liczbę naturalną wyrażać na więcej, niż jeden
sposób. To jest ten moment, kiedy patrzysz w popękane lustro i cieszysz się, że jest
Ciebie tak wielu. Nie, masz po prostu popsute lutro.
> i w zaleznosci od potrzeb
Potrzeba jest zawsze jedna. To język zmusza programistę do myślenia na dwa sposoby o
tym samym. To jest właśnie defekt (popsute lustro).
> W C++ nie ma żadnej (a to "podobno" obiektowy jezyk:).
Nie ma żadnego problemu, żeby zrobić list<shared_ptr<int> >. Ale taka "alternatywa"
nie ma związku z obiektowością. Zwłaszcza, że lista liczb to w ogóle nie jest problem
obiektowy.
Nie mieszaj pojęć.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 26.11.18 11:01 Wojciech Muła
- 29.11.18 09:08 Maciej Sobczak
- 01.12.18 15:15 Borneq
- 01.12.18 20:50 Wojciech Muła
- 02.12.18 13:52 Borneq
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-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem