-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.chmurka.net!.POSTED!not-for-mail
From: Andrzej Jarzabek <a...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
Date: Sun, 10 Feb 2013 17:53:53 +0000
Organization: news.chmurka.net
Lines: 50
Message-ID: <kf8mrj$piq$1@somewhere.invalid>
References: <f...@g...com>
<s...@j...net>
<b...@g...com>
<s...@j...net>
<1...@g...com>
<3...@b...softax.pl>
<b...@g...com>
<k...@b...softax.pl>
<4...@g...com>
<keun5d$lsh$1@somewhere.invalid>
<f...@g...com>
<keuri4$nje$1@somewhere.invalid>
<1...@g...com>
<keuusd$ovj$1@somewhere.invalid>
<7...@g...com>
<kf1b5r$cvj$1@somewhere.invalid>
<51152b96$0$1306$65785112@news.neostrada.pl>
<3...@x...googlegroups.com>
<4...@g...com>
<kf61vl$fh0$1@somewhere.invalid>
<c...@g...com>
NNTP-Posting-Host: 5ac53cfe.bb.sky.com
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: somewhere.invalid 1360518835 26202 90.197.60.254 (10 Feb 2013 17:53:55 GMT)
X-Complaints-To: abuse-news.(at).chmurka.net
NNTP-Posting-Date: Sun, 10 Feb 2013 17:53:55 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107
Thunderbird/17.0.2
In-Reply-To: <c...@g...com>
X-Authenticated-User: ajarzabek
Xref: news-archive.icm.edu.pl pl.comp.programming:201996
[ ukryj nagłówki ]On 10/02/2013 11:12, Maciej Sobczak wrote:
>
> Moim zdaniem właśnie statyczny system typów najbardziej pokazuje
> swoje zalety właśnie wtedy, gdy należy przerobić istniejący kod -
> wszystko jedno, czy w celu refaktoryzacji czy w celu rozszerzenia
> albo zmiany funkcjonalności.
Być może jest to prawda, ale to nie znaczy, że dynamiczny system typów
nie pokazuje innych zalet, które są w takich sytuacjach przydatne.
> Statyczny system typów pozwala wyrazić
> związki między różnymi bytami w programie, dzięki czemu szybciej
> widać jaki jest zakres wprowadzanych zmian.
Pozwala, ale są inne sposoby, które też pozwalają.
> Dynamiczny system typów
> (i bardziej ogólnie: dynamiczna kultura w procesie programowania, bo
> nie chodzi tylko o typy, ale też o to, czy np. w danym pakiecie w
> ogóle istnieje jakaś funkcja, itd.) nie daje mi tu żadnej pomocy -
> mogę wywalić z projektu cały plik i udawać, że nic się nie stało. To
> prowadzi do tzw. fałszywego poczucia bezpieczeństwa.
Daje różne rzeczy, między innymi ułatwia code reuse między różnymi
typami danych, programowanie deklaratywne, loose coupling i różne inne
rzeczy.
> (Tak, słyszałem o unit testach. Znam również ich realny koszt i
> najchętniej posługuję się tą metodą, która w danej sytuacji jest
> tańsza.
Z mojego doświadczenia wynika, że w prawie każdym przypadku koszt unit
testów jest tańszy od kosztu braku (dobrych) unit testów. Również w
językach ze statycznym typowaniem.
> Przy opisie związków strukturalnych między bytami w programie
> statyczny system typów jest *znacznie* tańszy, niż unit testy.)
zależy jakich związków stukturalnych. Znane mi systemy typów słabo
wspierają związki typu "prawie to samo co...", "naczęściej jest
rodzajem...", "staje się ... w momencie ...".
> Zależnie od projektu, jedno bądź drugie ma większy sens. Granicą
> podziału wydaje się być właśnie to, czy dany projekt może być w
> przyszłości przerabiany albo refaktoryzowany. Osobiście: jeśli widzę,
> że dany projekt zajmie więcej niż jeden plik, to nie piszę go w
> języku dynamicznym.
Całkiem spore i mocno zmieniające się w czasie serwisy webowe pisze się
np. w Pythonie czy Ruby.
Następne wpisy z tego wątku
- 10.02.13 22:30 M.M.
- 10.02.13 22:36 Maciej Sobczak
- 11.02.13 00:58 Andrzej Jarzabek
- 11.02.13 01:31 Roman W
- 11.02.13 06:04 M.M.
- 11.02.13 09:07 Andrzej Jarzabek
- 11.02.13 10:49 Maciej Sobczak
- 11.02.13 17:24 M.M.
- 11.02.13 18:41 firr kenobi
- 11.02.13 18:55 M.M.
- 11.02.13 19:18 firr kenobi
- 12.02.13 00:19 Andrzej Jarzabek
- 12.02.13 00:23 Andrzej Jarzabek
- 12.02.13 00:36 Andrzej Jarzabek
- 12.02.13 01:15 M.M.
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-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO