-
Data: 2011-08-17 14:29:34
Temat: Re: jaki wybrac jezyk?
Od: m...@t...pl szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
> Tylko że nie wykryją wszystkiego, bo 1) najpierw funkcja się musi
> uruchomić i 2) jak już się uruchomi, to musi zajść sytuacja że funkcja
> dostała niezgodny typ. To w języku dynamicznym może zależec od ścieżki,
> którą pójdzie program. Trochę do dupy twój pomysł z zastępowaniem
> statycznego typowania testami.
Wniosek jest prosty, ani statyczne typowanie, ani testy automatycznie
generowane w runtimie nie zastępują uważności (jest takie słowo?)
programisty. Tyle że jak w C++ statycznie zadeklaruje tablicę i dojdzie
do przepełnienia zakresów, to program może długo działać bez wyraźnych
objawów tego przepełnienia. Oczywiście w C++ można tablice tworzyć
tylko przez new i jeszcze można zaimplementować testy zakresów. Tyle
że w takim przypadku składnia Javy wydaje się przyjemniejsza.
Apropo testów przytoczę jeden z moich przypadków który chyba daje
dużo do myślenia. Kiedyś wprowadziłem kilka poprawek do generatora
posunięć w szachach. Pech chciał że miałem ważną robotę i nad
szachami nie mogłem dalej pracować. Niemniej generator posunięć był
kompletny i stał wolny komputer z sześcioma rdzeniami. Odpaliłem
walidacje krzyżową dwóch programów na tych sześciu rdzeniach.
Zgromadziłem mnóstwo gier, gry zapisałem do plików, programy
wybierały losowo grę i przeszukiwały drzewo gry na określoną głębokość.
Taki test ma nawet swoją nazwę, zwie się testem perft. No i
co to daje do myślenia? Sytuacja w której dwa programy dały
inny wynik dla tych samych danych wejściowych pojawiła się
pierwszy raz dopiero po dwóch tygodniach ciągłych obliczeń na
tych sześciu rdzeniach. Przez dwa tygodnie nie pojawiła się
ani razu.
Pozdrawiam
Programy
ładowały losowe pozycje z losowy wybra
>
> > Fakt, ze argumentacja zwolennikow "dynamicznie typowanych" jezykow jest
> > pokretna :) - mowia oni "jezeli twoje testy nie wykryly takiego bledu,
> > to masz za malo testow".
>
> Zawsze masz za mało testów żeby uzyskać pewność. W języku statycznie
> typowanym dostajesz pewność zgodności typów przez sam fakt skompilowania
> programu.
>
> --
> Secunia non olet.
> Stanislaw Klekot
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Następne wpisy z tego wątku
- 17.08.11 14:36 Michal Kleczek
- 17.08.11 14:38 Michal Kleczek
- 17.08.11 14:45 Michal Kleczek
- 17.08.11 14:50 Stachu 'Dozzie' K.
- 17.08.11 15:08 Jordan Szubert
- 17.08.11 15:11 Maciej Sobczak
- 17.08.11 15:29 Michal Kleczek
- 17.08.11 15:32 Michal Kleczek
- 17.08.11 19:57 Edek
- 17.08.11 20:58 m...@t...pl
- 17.08.11 21:17 Edek
- 17.08.11 21:56 m...@t...pl
- 17.08.11 21:59 Edek
- 17.08.11 22:49 Edek
- 18.08.11 00:42 m...@t...pl
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-02 Realme 7 Na co zmienić?
- 2024-06-27 Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-07-02 znalazłem samochód ;)
- 2024-07-02 Pierwszeństwo łamane
- 2024-07-02 zamek
- 2024-07-02 Akumulatory VRLA
- 2024-07-03 Białystok => Inżynier DevOps Conexa First (Kontraktor) <=
- 2024-07-03 MĂźnchen => Test Development Engineer (m/w/d) <=
- 2024-07-03 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-07-03 Warszawa => Programista Full Stack (.Net Core) <=
- 2024-07-02 Kraków => Spedytor międzynarodowy <=
- 2024-07-02 Poznań => Senior React Native Developer <=
- 2024-07-02 Rzeszów => Frontend Developer (React) <=
- 2024-07-02 Warszawa => Fullastack (Java) Developer <=
- 2024-07-02 reparacje