-
Data: 2011-08-17 13:12:23
Temat: Re: jaki wybrac jezyk?
Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 2011-08-17, Michal Kleczek <k...@p...onet.pl> wrote:
> 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.
Chcę statyczną, ale jak się nie da (bo Java jest typowana statycznie ale
dynamicznie), to niech będzie *jakakolwiek*. A nie żeby mnie zaskakiwało
że mimo wszystko do ArrayList<Integer> da się dodać Stringa.
> Jesli chodzi o statyczna - to jest.
No właśnie niespecjalnie.
>>>> 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.
Trochę się różni. Miałeś przykład. Typowanie statyczne albo jest, albo
go nie ma. W Javie jest taka podpierdółka, więc liczy się że nie ma.
> 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.
Nieprawda. To wynika z tego, że generyki są słabą podróbką systemu
szablonów, która bazuje na cukrze składniowym.
--
Secunia non olet.
Stanislaw Klekot
Następne wpisy z tego wątku
- 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
- 17.08.11 14:50 Stachu 'Dozzie' K.
- 17.08.11 15:08 Jordan Szubert
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 <=