Strona 4 z 4

: 20 czerwca 2007, 14:06
autor: legionn
karolp pisze:OI - Olimpiada Informatyczna
PA - Potyczki Algorytmiczne (dawniej Pogromcy Algorytmów)
są to dwa najpopularniejsze polskie konkursy programistyczne.

uważam, że jeżeli jesteś inteligentnym programistą to takie błędy powinieneś wykryć w niedługim czasie. Szczególnie, że do dyspozycji jest full debugerów.
Programista nie ma walczyć z wiatrakami i tracić czasu na polowania na błędy. Od tego są strumienie które część roboty ułatwiają, część załatwiają. Zrozumiesz to kiedy będziesz musiał płacić komuś za programowanie. Programista1 napisze kod w tydzień w C++, Programista2 będize wynajdował koło na nowo w C/<cstdio> i w napisze to samo w 3 tygodnie.
CHYBA że szybkość ma DU¯E znaczenie.

PS. w krótkich programach nie będzie błędów. problemy zaczynają się w większych konstrukcjach 10k linii i więcej. wtedy masz tzw. 'polowanie na czerwony październik'. programiki na konkursy programistyczne są nastawione na algorytmikę i szybkość a nie na finezję kodu bowiem tego kodu nie musi później nikt oglądać ani refactorować.

: 20 czerwca 2007, 16:01
autor: karolp
ja uważam inaczej, to na programiście leży, żeby się nie pomylił - i żeby prawidłowo używał cstdio. Jeżeli się pomyli ma do dyspozycji debuger i swoją głowę. Nawet przy kodach, które mają kilka tysięcy linii kodu można łatwo znaleźć błąd natury takiej jak mówisz. Przy kodach długich wydaje mi się, że na 100% jakiś błąd popełnisz - chyba że te owe 10k linii kodu to deklaracja tablicy np. liczb pierwszych :P W takim wypadku tak czy siak czy programista1 czy programista2 będzie siedział przed debugerem. No, a teraz najważniejsze - póki co mi nie zdarzył się błąd typu o którym mówisz - a jako że nie jestem jakimś super programistą to wątpię, żeby ktoś często takie błędy popełniał.

Nie podoba mi się, że traktujesz innych z góry, z góry zakładasz, że ktoś nigdy nie pisał kodów dłuższych niż x linii, zakładasz że w tym i tym miejscu na pewno się pomyli.

Jeżeli wolisz iostream - proszę bardzo, ja nie zabronię przecież ci go używać, po prostu trochę żałuję, że obecnie początkujący programiści nie mogą nauczyć się cstdio, bo w internecie i książkach kursy są głównie nastawione na iostream, który nie jest trochę wolniejszy tylko DU¯O wolniejszy, a szybkość działania nawet dla takiego Kowalskiego ma znaczenie.

Pozdrawiam.

: 20 czerwca 2007, 17:09
autor: legionn
karolp pisze:ja uważam inaczej, to na programiście leży, żeby się nie pomylił - i żeby prawidłowo używał cstdio. Jeżeli się pomyli ma do dyspozycji debuger i swoją głowę. Nawet przy kodach, które mają kilka tysięcy linii kodu można łatwo znaleźć błąd natury takiej jak mówisz. Przy kodach długich wydaje mi się, że na 100% jakiś błąd popełnisz - chyba że te owe 10k linii kodu to deklaracja tablicy np. liczb pierwszych :P W takim wypadku tak czy siak czy programista1 czy programista2 będzie siedział przed debugerem. No, a teraz najważniejsze - póki co mi nie zdarzył się błąd typu o którym mówisz - a jako że nie jestem jakimś super programistą to wątpię, żeby ktoś często takie błędy popełniał.
Programista ma inne zadania niż pisane w kółko obsługi błedów do <cstdio>. Wolisz płacić za tydzień pracy czy za 3? Wolisz żeby programista1 spędził pozostałe 2 tygodnie na rozwijaniu nowych featuresów podczas gdy programista2 wciąż babra się w kodzie w czystym C?
karolp pisze:Nie podoba mi się, że traktujesz innych z góry, z góry zakładasz, że ktoś nigdy nie pisał kodów dłuższych niż x linii, zakładasz że w tym i tym miejscu na pewno się pomyli.
Nie z góry tylko po tym co mówią i jaki kod w C++ podają. Bo gadanie że <cstdio> jest 'lepsze' bo szybsze jest niedorzecznością.
karolp pisze:Jeżeli wolisz iostream - proszę bardzo, ja nie zabronię przecież ci go używać, po prostu trochę żałuję, że obecnie początkujący programiści nie mogą nauczyć się cstdio, bo w internecie i książkach kursy są głównie nastawione na iostream, który nie jest trochę wolniejszy tylko DU¯O wolniejszy, a szybkość działania nawet dla takiego Kowalskiego ma znaczenie.

Pozdrawiam.
Ja nic nie wolę - dostosowuję narzędzia do problemu i tyle. Tam gdzie szybkość nie jest krytyczna należy używać strumieni.
Kursy muszą być nastawione na <iostream>, obiektówkę w ogóle. Bo to jest esensja C++ (hello!!). Mało tego. Kursy nie powinny uwzględniać w ogóle C na początku. Powinny natomiast uderzać jak najgłębiej w poznanie std::, boost:: oraz STL.
Szybkość działania NIE ma znaczenia ZW£ASZCZA dla Kowalskiego. Bo Kowalski nie obrabia megabajtowych plików, bo małe róznice w czasie są bez znaczenia, bo przy <cstdio> łatwiej o pomyłkę, bo mniej ficzerów, bo ...

: 20 czerwca 2007, 17:59
autor: karolp
Ok, wyraziłeś swoje zdanie, ja się z nim nie zgadzam, ale masz prawo by tak uważać.

: 20 czerwca 2007, 18:11
autor: legionn
karolp pisze:Ok, wyraziłeś swoje zdanie, ja się z nim nie zgadzam, ale masz prawo by tak uważać.
Luźno. Problem w tym żebyś nie karmił swoimi przemyśleniami młodych adeptów bo jeszcze ślepo uwierzą i będzie problem.