SPOJ (Sphere Online Judge) is an online judge system with over 100,000 registered users and over 10000 problems. The solution to problems can be submitted in over 40 languages including C, C++, Java, Python, C#, Go, Haskell, OCaml, and F#, Ruby, Icon, Intercal, Pike. SPOJ has a rapidly growing problem set/tasks available for practice 24 hours/day, including many original tasks prepared by the community of expert problem setters associated with the project.
SPOJ allows advanced users to organize contests under their own rules and problems. It also includes a forum where programmers can discuss how they can solve a particular problem.