-
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
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-13 256 świadków nie ma racji
- 2024-07-11 Tokarze CNC czyli ciężkie życie prototypiarza
- 2024-07-12 Zgody na przetwarzanie danych
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual: Installation Guide
- 2024-07-12 stare graty młode kozy
- 2024-07-11 8080
- 2024-07-13 Przyłącze dolne grzejnika
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual Overview
- 2024-07-12 Czym wykonać otwór fi 100 w betonie komórkowym?
- 2024-07-12 Warszawa => Senior Rust Software Engineer <=
- 2024-07-12 Warszawa => Business Unit Manager (Recruitment Business) <=
- 2024-07-12 Warszawa => Head of WMS Competence Center for IT&D Contract Logistics
- 2024-07-12 Warszawa => Head od WMS Competence Center dla IT&D (Blue Yonder) <=
- 2024-07-12 Kraków => Ruby Backend Developer <=
- 2024-07-12 Warszawa => UX/UI Designer <=