-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Edek <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: jaki wybrac jezyk?
Date: Wed, 17 Aug 2011 21:57:46 +0200
Organization: ATMAN - ATM S.A.
Lines: 47
Message-ID: <j2h6iu$9p4$1@node2.news.atman.pl>
References: <s...@j...net>
<5...@n...onet.pl>
NNTP-Posting-Host: static-81-219-28-205.devs.futuro.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1313611166 10020 81.219.28.205 (17 Aug 2011 19:59:26
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 17 Aug 2011 19:59:26 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428
Linux/3.1.0-15 Thunderbird/3.1.0
In-Reply-To: <5...@n...onet.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:191978
[ ukryj 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
Następne wpisy z tego wątku
- 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
- 18.08.11 13:34 Jordan Szubert
- 19.08.11 09:28 Andrzej Jarzabek
- 19.08.11 11:01 Michal Kleczek
- 19.08.11 11:07 b...@n...pl
- 19.08.11 20:05 Zbigniew Malec
- 19.08.11 20:06 Zbigniew Malec
- 19.08.11 21:47 m...@t...pl
- 20.08.11 06:17 p...@p...onet.pl
- 24.08.11 09:45 Michoo
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-06-27 SAMOCHODY ELEKTRYCZNE: EKOLOGICZNA HIPOKRYZJA CZY EKONOMICZNA GŁUPOTA? | GOSPODARCZE ZERO #21
- 2024-06-27 Głośnik piezoelektryczny
- 2024-06-23 Mala autonomiczna kamera monitoringu
- 2024-06-26 czas na emeryturę i EB
- 2024-06-26 Wyjścia video kart graficznych (NVIDIA)
- 2024-06-27 Warszawa => Key Account Manager <=
- 2024-06-27 Bażanowice => Expert Migration Architect (Azure) <=
- 2024-06-27 Ulm => IT Netzwerktechniker (m/w/d) <=
- 2024-06-27 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-06-27 Warszawa => Head of International Freight Forwarding Department <=
- 2024-06-26 Kraków => International freight forwarder <=
- 2024-06-26 Częstochowa => Marketing Specialist (E-Commerce) <=
- 2024-06-26 Warszawa => Fullstack Java Developer <=
- 2024-06-26 Warszawa => React Native Developer <=
- 2024-06-26 Rzeszów => Frontend Developer (React) <=