This document discusses competitive programming and compares several competitive programming websites. It finds that Codeforces has the most programming questions overall and hosts weekly programming contests. Codeforces also uniquely makes all participant code public and uses a rating system similar to chess ratings. While other sites like Hackerrank and Hackerearth have additional topics, Codeforces focuses solely on programming contests and exposes participants to a wide range of languages and problem types. The document shows Codeforces has the most questions in most categories like sorting and dynamic programming. It also finds Python is mostly used for simpler implementation questions while other languages may be better for more complex categories.