-
Data: 2011-08-17 13:30:32
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 15:12, Stachu 'Dozzie' K. wrote:
> On 2011-08-17, Michal Kleczek<k...@p...onet.pl> wrote:
>>
>> 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.
>
No przeciez sie nie da - tu dostaniesz blad kompilacji:
void funkcja(ArrayList<Integer> lista) {
lista.add("string");
}
>> Jesli chodzi o statyczna - to jest.
>
> No właśnie niespecjalnie.
>
Bo mozna zrobic rzutowanie? (Zreszta z ostrzezeniem kompilatora).
>>
>> 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.
>
Przy takim podejsciu to zaden jezyk nie ma, bo chyba (tutaj - fakt -
potrzebuje wsparcia mocniejszych teoretykow) nie da sie zrobic jezyka
"turing complete" bez operacji "unsafe" czyli nieweryfikowalnych
statycznie (takich jak rzutowanie).
>> 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.
>
Nie rozumiem tego zdania.
Pokazalem w innym poscie przyklad jak mozna to zrobic w sposob
statycznie weryfikowalny.
--
Michal
Następne wpisy z tego wątku
- 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
- 17.08.11 15:11 Maciej Sobczak
- 17.08.11 15:29 Michal Kleczek
- 17.08.11 15:32 Michal Kleczek
Najnowsze wątki z tej grupy
- 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??
- 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
Najnowsze wątki
- 2024-12-02 Akumulatorki Ni-MH AA i AAA Green Cell
- 2024-12-02 Usiłowanie zabójstwa
- 2024-12-01 Rambo 2024. Co z radio-stopem
- 2024-12-01 Pijani kierowcy
- 2024-12-01 "Chciałem zamówić kurs tym"
- 2024-11-30 Windykatorzy ścigają spadkobierców z mandat nieboszczyka za przekroczenie prędkości???
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=
- 2024-11-30 Warszawa => Mid IT Recruiter <=
- 2024-11-30 Warszawa => Fullstack Developer <=