-
Data: 2011-08-17 12:52:08
Temat: Re: jaki wybrac jezyk?
Od: Michal Kleczek <k...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 2011-08-17 14:12, Stachu 'Dozzie' K. wrote:
>>>
>>> Przepraszam, ale w poważnym języku o statycznym systemie typów taka
>>> głupota zostanie wykryta na etapie kompilacji.
>>
>> Zostaje wykryta - ja dostaje warning w 1 i 2 linijce main()
>
> Wykryte są jedynie niesprawdzone operacje rzutowania. To zdecydowanie za
> mało. Jest istotna różnica między dodaniem Integera i Stringa do
> kontenera Integerów: pierwsze powinno się powieść, drugie powinno
> wylecieć w powietrze, choćby w czasie wykonania programu przy operacji
> dodania elementu.
>
W koncu nie wiem, czy chcesz miec kontrole statyczna, czy dynamiczna.
Jesli chodzi o statyczna - to jest. Kompilator nie ma mozliwosci wykryc
zlego typu argumentu dla operacji "add" jezeli wczesniej (poprzez jawne
rzutowanie) programista mowi mu, ze kontener jest okreslonego typu.
Jesli chodzi o dynamiczna - to tez jest. Tyle ze nie w tym miejscu, w
ktorym bys chcial - to fakt.
> Poza tym ostrzeżenia nie są dla mnie satysfakcjonujące ze względu na
> sposób ich prezentacji i uciszania w sunowskim kompilatorze. Albo muszę
> usunąć wszystkie (nie zawsze w ogóle mogę ze względu na inne operacje
> użyte w programie), albo dostaję kilometry ostrzeżeń, albo ignoruję
> wszystkie jak leci.
>
Mozesz uzyc @SuppressWarnings.
>>> Java jest ewenementem, bo
>>> to język o typowaniu statycznym ale dynamicznym.
>>>
>>
>> Tzn chodzi ci o to, ze informacja o typie jest dostepna w runtime?
>
> Nie. Chodzi o to, że *mimo że* informacja o typie jest dostępna w czasie
> kompilacji, to sprawdzanie typu zostaje w większości (w kontenerach)
> zrzucone na run-time.
>
Nie rozumiem. W ogolnosci po wprowadzeniu generykow nie ma potrzeby
_explicite_ sprawdzac typu w runtime (czyli nie ma potrzeby robienia
rzutowania explicite). Niczym to sie nie rozni od dowolnego innego
jezyka bez RTTI.
TreeMap (TreeSet) jest wyjatkiem, bo jej wymagania co do kluczy
(elementow) sa takie, ze albo jest dostarczony Comparator, albo typ
elementu jest podtypem Comparable. To znowu wynika z tego, ze te klasy
powstaly przed wprowadzeniem generykow.
--
Michal
Następne wpisy z tego wątku
- 17.08.11 12:59 Michal Kleczek
- 17.08.11 13:12 Stachu 'Dozzie' K.
- 17.08.11 13:18 m...@t...pl
- 17.08.11 13:29 Marcin Biegan
- 17.08.11 13:30 Michal Kleczek
- 17.08.11 13:33 Michal Kleczek
- 17.08.11 13:39 Stachu 'Dozzie' K.
- 17.08.11 13:42 Stachu 'Dozzie' K.
- 17.08.11 13:57 Paweł Kierski
- 17.08.11 14:13 Jordan Szubert
- 17.08.11 14:16 Stachu 'Dozzie' K.
- 17.08.11 14:29 m...@t...pl
- 17.08.11 14:36 Michal Kleczek
- 17.08.11 14:38 Michal Kleczek
- 17.08.11 14:45 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 <=