-
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
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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??
Najnowsze wątki
- 2025-03-13 Raspberry Pi 3 Model B+
- 2025-03-13 Kuchenka elektryczna
- 2025-03-12 test
- 2025-03-13 własny ekran startowy
- 2025-03-13 Błonie => IT System Administrator <=
- 2025-03-13 Częstochowa => Manager ds. produktu <=
- 2025-03-13 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-03-13 Chiny-Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju pr
- 2025-03-13 Warszawa => Analityk biznesowo-systemowy <=
- 2025-03-13 Warszawa => Business Systems Analyst <=
- 2025-03-13 Żerniki => NodeJS Developer <=
- 2025-03-13 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-13 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-13 Kraków => Business Development Manager - Network and Network Security
- 2025-03-13 Warszawa => Konsultant ds. sprzedaży <=