-
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ą :)
Następne wpisy z tego wątku
- 15.08.11 23:26 slawek
- 16.08.11 01:21 A.L.
- 16.08.11 04:32 Maciej Pilichowski
- 16.08.11 06:27 Michal Kleczek
- 16.08.11 06:32 Michal Kleczek
- 16.08.11 07:56 Tomasz Kaczanowski
- 16.08.11 09:51 Wojciech \"Spook\" Sura
- 16.08.11 13:38 A.L.
- 16.08.11 20:27 Maciej Sobczak
- 16.08.11 20:29 Adam Przybyla
- 16.08.11 21:24 m...@t...pl
- 16.08.11 21:31 m...@t...pl
- 17.08.11 04:30 Maciej Pilichowski
- 17.08.11 05:23 m...@t...pl
- 17.08.11 06:11 Michal Kleczek
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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??
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=