Ja Ci odpowiem, ale jakby od drugiej strony. Kiedyś chciałem nauczyć się robić strony www i po poznaniu podstaw HTML i CSS okazało się, że nie miałem za bardzo pomysłu na zawartość stron. Potem rzuciłem się na C++, ale szybko mnie znudził, bo nie wiedziałem co chcę tworzyć. Potem minęło wiele lat i w dużym skrócie szukałem kursu podstaw PHP i trafiłem na kursy Mirka. A on zalecał rozpocząć od C++, więc je przerabiałem. Gdy polecił SPOJ to dało mi to dużego kopa motywacyjnego, bo w końcu miałem masę tematu do ćwiczeń. Zrobiłem tam z 50 zadań z serii najłatwiejszych i rozwiązanych przez największą liczbę ludzi. Gdy Mirek zaczął uczyć programowania webowego to SPOJ poszedł w odstawkę, bo to nie moja droga. Czytałem krytykę SPOJa, że nie uczy praktycznych rzeczy, za dużo matematyki, że konsola i tak dalej. Z drugiej strony jest zabawa zmiennymi, pętlami, zrozumienie strumienia wejścia/wyjścia na pewno gdzieś zaprocentuje.
W SPOJu często mi program nie działał, a dopiero po przejrzeniu forum i wpisaniu dodatkowych testów/danych okazywało się, że jednak u mnie działający program a na SPOJu nie działający był jednak wadliwy.
Dziś wiem, że jest pewnie klika miejsc w sieci z dziennymi zdaniami dla programistów, więc SPOJ nie jest tu czymś ani wyjątkowym, ani obowiązkowym.