eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjaki wybrac jezyk? › Re: jaki wybrac jezyk?
  • Data: 2011-08-17 19:57:46
    Temat: Re: jaki wybrac jezyk?
    Od: Edek <e...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 08/17/2011 04:29 PM, m...@t...pl wrote:
    >
    >> 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.

    Trafiłeś jak nie wiem co: napisz w Javie v1 * v2 gdzie v1 i v2 to
    wektory, piewrszy przykład z setki możliwych; vector[index] += 3 drugi
    (zamiast myJavaVektor.set(index, myJavaVector.get(index) + 3)).

    Co ma new do sprawdzania zakresów. Można stworzyć klasę Tablica,
    która ma stały rozmiar i sprawdzi zakresy, compile time albo runtime
    wg potrzeb i nie używa new.

    >
    > 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.
    >

    Faktycznie, daje do myślenia. Ja np. myślę, że valgrind nie wymagałby
    dwóch tygodni, a byłby wart więcej niż te testy (które można
    też zrobić, ale jak rozumiem wynik wskazuje na zwykły UB). Ten test
    chyba nie ma nazwy, i valgrind niestety używa tylko jednego rdzenia.

    Edek

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: