eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjaki wybrac jezyk? › Re: jaki wybrac jezyk?
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Andrzej Jarzabek <a...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: jaki wybrac jezyk?
    Date: Tue, 16 Aug 2011 00:07:13 +0100
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 42
    Message-ID: <j2c8r4$gik$1@inews.gazeta.pl>
    References: <5...@n...onet.pl>
    <5...@n...onet.pl>
    NNTP-Posting-Host: 5ac53c9d.bb.sky.com
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1313449636 16980 90.197.60.157 (15 Aug 2011 23:07:16 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Mon, 15 Aug 2011 23:07:16 +0000 (UTC)
    X-User: septi
    In-Reply-To: <5...@n...onet.pl>
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624
    Thunderbird/5.0
    Xref: news-archive.icm.edu.pl pl.comp.programming:191912
    [ ukryj nagłówki ]

    On 14/08/2011 08:05, Marszalkowski wrote:
    >
    >> a jak duze sa te programy (w tysiacach lini?) 50 tys?
    >> mniej? wiecej?
    > Nie są zabójczo duże, są skomplikowane. Algorytmy są
    > trudne i zapis jest popaprany w celu przyspieszenia.
    >
    >> mz python raczej odpada bo pewnie byloby niesamowicie
    >> wolno - slabo znam pythona ale cos tak mi sie wydaje
    > Aplikacja testowa może działać wolno. Aplikacja pierwotna
    > na wyrywki zrzuci dane wejściowe i wyniki obliczeń do pliku.
    > Aplikacja testowa wczyta wiersz danych, może sobie długo
    > liczyć bezpiecznym algorytmem i sprawdzić czy wyjście jest
    > takie samo.

    Ja bym w tej sytuacji pomyślał najpierw o napisaniu unit testów, w C++
    ale bez głupich optymalizacji. To prawda, że C++ ma więcej potencjału do
    popełniania błędów niż niektóre inne języki, ale przy czytelnym zapisie
    algorytmu i zastosowaniu odpowiednich technik możesz mieć równie dobre
    zabezpieczenia, co w Javie - np. w celu kontroli zakresu na tablicach
    zamiast gołych tablic można użyć boost::array z at(), zdecydowanie
    ograniczyć gołe wskaźniki do sytuacji absolutnie wyjątkowych (i
    szczelnie opakowanych) itd. itp.

    Testy end-to-end można robić w dowolnym języku, ale możesz chcieć
    rozważyć to, że szybkość ich działania też może być nie bez znaczenia, w
    szczególności jeśli chcesz nimi duplikować intensywne obliczenia:
    idealnie chciałbyś móc zapuścić suitę testów regresyjnych na każdym
    nightly buildzie, a sam fakt przemielenia większej ilości takich testów
    też daje większą pewność. Pod tym względem chyba faktycznie jedynym
    poważnym konkurentem C++ jest Ada. Ale też bym nie liczył na to, że
    zmiana języka da ci w tym przypadku jakąś kolosalną różnicę. Już lepiej
    pomyśleć dłużej nad projektem.

    Natomiast w miarę obejmowania programu testem, powinieneś wykorzystywać
    pojawiające się okazje do wyplenienia szpetoty z kodu produkcyjnego.
    Obstawiam, że w bardzo wielu miejscach, gdzie ta szpetota jest
    uzasadniana wydajnością, wcale nie jest ona potrzebna. Po prostu dobrze
    pamiętać, które rzeczy w C++ bardzo skutecznie redukowane są przez
    optymalizację. Może się okazać, że nawet te ujemne indeksy praktycznie
    nic nie dają :)

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: