-
Data: 2013-02-10 18:53:53
Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=