-
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-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=