-
X-Received: by 10.49.128.166 with SMTP id np6mr767084qeb.31.1360494724893; Sun, 10
Feb 2013 03:12:04 -0800 (PST)
X-Received: by 10.49.128.166 with SMTP id np6mr767084qeb.31.1360494724893; Sun, 10
Feb 2013 03:12:04 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!p13no8421714qai.0!news-out.g
oogle.com!k2ni21154qap.0!nntp.google.com!p13no7178461qai.0!postnews.google.com!
glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 10 Feb 2013 03:12:04 -0800 (PST)
In-Reply-To: <kf61vl$fh0$1@somewhere.invalid>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.171.80.166;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 46.171.80.166
References: <f...@g...com>
<5...@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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c...@g...com>
Subject: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
From: Maciej Sobczak <s...@g...com>
Injection-Date: Sun, 10 Feb 2013 11:12:04 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:201987
[ ukryj nagłówki ]W dniu sobota, 9 lutego 2013 18:45:20 UTC+1 użytkownik Andrzej Jarzabek napisał:
> > Moim zdaniem jest to kwestia szczęścia. Jeśli nie odgadniemy jak
> > projekt w przyszłości będzie się rozwijał, to w każdym języku
> > nakład pracy) refaktoryzacja staje się koszmarem.
> Przecież nie mówimy o przerabianiu programu do wyceny instrumentów
> fianasowych na program do sterowania samolotem.
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. 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.
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.
(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. Przy opisie związków
strukturalnych między bytami w programie statyczny system typów jest *znacznie*
tańszy, niż unit testy.)
Natomiast dynamiczny system typów (i bardziej ogólnie: ...) wydaje się być
spektakularny zanim dojdzie do fazy przerabiania czegokolwiek, bo można wykazać się
postrzegalnie wysoką produktywnością.
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.
> Można przewidzieć, że
> przerabianie programu do wyceny instrumentów finansowych
Zdaje się, że takie coś zajmuje zwykle więcej, niż jeden plik.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 10.02.13 15:25 Andrzej Jarzabek
- 10.02.13 18:53 Andrzej Jarzabek
- 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
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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
Najnowsze wątki
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją