-
Data: 2011-08-16 20:27:55
Temat: Re: jaki wybrac jezyk?
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Aug 16, 8:27 am, Michal Kleczek <k...@p...onet.pl> wrote:
> Dobre.
> Ale nieprawdziwe :)
Sprawdziłeś?
> Java rzuci ClassCastException na pierwszym add (fakt - w runtime).
To ja mam zepsutą Javę (1.6.0), bo u mnie rzuca dopiero na drugim add.
> 1. Wymaga tego specyfikacja TreeSet.add()
Wg. dokumentacji (6) wyjątek leci "if the specified object cannot be
compared with the elements currently in this set ". Czyli jeśli zbiór
jest pusty, to ma nie lecieć.
> 2. Zweryfikowalem zrodla
W jakiej wersja Javy?
> ktorej put() w przypadku gdy mapa jest pusta probuje porownac klucz sam
> ze soba (wlasnie w celu zweryfikowania typu).
I to ma być "statyczna kontrola typów"? Porównywanie obiektu samego ze
sobą w run-time?
Ale jaja. :-D
> API _zawsze_ mozna spieprzyc
To nie jest kwestia API. TreeSet<NonComparable> jest bez sensu i w
poważnym języku można to sprawdzić *od razu*. Nawet bez dostępu do
implementacji klasy TreeSet.
Tak, właśnie np. Ada nie potrzebuje widzieć implementacji, żeby
stwierdzić, że to jest bez sensu. I to jest właśnie statyczna kontrola
typów a nie jakieś machanie rękami w run-time.
> Tak przy okazji - dlaczego w C++ wysypie sie kompilacja na _pierwszym_
> add?
Bo wtedy następuje konkretyzacja funkcji add i wtedy kompilator się
zorientuje, że nie ma jak porównać obiektów - nawet jeśli jest to w
niewykorzystanej wtedy gałęzi if.
(ale rozumiem, że już to wiesz :-) )
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 16.08.11 20:29 Adam Przybyla
- 16.08.11 21:24 m...@t...pl
- 16.08.11 21:31 m...@t...pl
- 17.08.11 04:30 Maciej Pilichowski
- 17.08.11 05:23 m...@t...pl
- 17.08.11 06:11 Michal Kleczek
- 17.08.11 08:29 Stachu 'Dozzie' K.
- 17.08.11 08:12 Artur M. Piwko
- 17.08.11 09:55 Edek
- 17.08.11 10:01 Michal Kleczek
- 17.08.11 12:12 Stachu 'Dozzie' K.
- 17.08.11 12:15 Marcin Biegan
- 17.08.11 12:41 Paweł Kierski
- 17.08.11 12:52 Michal Kleczek
- 17.08.11 12:59 Michal Kleczek
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-27 Re: Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-06-27 A co mnie to koooorwa obchodzi?
- 2024-06-28 nawigacja satelitarna
- 2024-06-28 SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- 2024-06-27 położyłem kafelki
- 2024-06-28 Łódź => International Freight Forwarder <=
- 2024-06-28 Łódź => Spedytor Międzynarodowy <=
- 2024-06-28 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-06-28 Sopot => Team Leader E-Commerce for Foreign Markets <=
- 2024-06-28 Warszawa => Senior React Native Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Software .Net Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Programista Full Stack .Net <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=