-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for
-mail
From: Michal Kleczek <k...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: jaki wybrac jezyk?
Date: Wed, 17 Aug 2011 14:52:08 +0200
Organization: http://onet.pl
Lines: 54
Message-ID: <j2gdhq$oa$1@news.onet.pl>
References: <2...@v...googlegroups.com>
<5...@n...onet.pl>
<a...@e...googlegroups.com>
<op.vz9ot2qr8x7o78@notebook>
<3...@h...googlegroups.com>
<j2d2k9$q10$1@news.onet.pl>
<3...@m...googlegroups.com>
<j2fm3d$q1a$1@news.onet.pl> <s...@j...net>
<j2g3i0$j3j$1@news.onet.pl> <s...@j...net>
NNTP-Posting-Host: 77-252-124-164.ip.netia.com.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1313585530 778 77.252.124.164 (17 Aug 2011 12:52:10 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Wed, 17 Aug 2011 12:52:10 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624
Thunderbird/5.0
In-Reply-To: <s...@j...net>
Xref: news-archive.icm.edu.pl pl.comp.programming:191957
[ ukryj 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
- 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-18 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-18 Gliwice => IT Expert (Network Systems area) <=
- 2024-12-18 Wrocław => Application Security Engineer <=
- 2024-12-18 Warszawa => Key Account Manager <=
- 2024-12-18 Alternatywny nośnik do monitoringu zamiast HDD?
- 2024-12-17 Rodzaj przekładni planetarnej z
- 2024-12-17 Z instrukcji do kitu
- 2024-12-17 Re: W telefonie brak szufladki na drugą kartę SIM
- 2024-12-17 nie wyrzucaj starych opon
- 2024-12-17 znów elektryk:P
- 2024-12-17 "Ręczny" a przegląd.
- 2024-12-17 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-12-17 Warszawa => Fullstack Developer <=
- 2024-12-17 Warszawa => Starszy Konsultant AWS <=
- 2024-12-17 Kraków => Full Stack .Net Engineer <=