eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjaki wybrac jezyk?Re: jaki wybrac jezyk?
  • Data: 2011-08-15 23:07:13
    Temat: Re: jaki wybrac jezyk?
    Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: