Free resources to practice programming languages

If you're not using your programming skills daily at work, but hope to in the future, you will need to set aside time for practice. Even if you're learning a new language, you will want to factor in study time to practice languages you have previously learned.


Thankfully, there are tons of free resources on the internet to help you out with this.




Codecademy 


I have been using a pro Codecademy account (subscription based) to follow the backend developer career path for a few months now. But I originally found Codecademy because they have tons of free content on their site, including lessons where you can follow along with a great IDE.


They also have an amazing mobile app, Codecademy Go. In the app, you can take quizzes for various programming languages. The quizzes are comprised of multiple choice questions, so you are not writing the code, just keeping it fresh in your mind.


This is ideal if you have lost a lot of knowledge and need to go back and brush up on the basics. If you love and it want to upgrade, it's currently about $20/mo for the pro membership.


I lead the Detroit Codecademy community chapter where I host a free monthly virtual meet up with other novice programmers. Join to receive emails about future events. 


Coderbyte


Coderbyte has about a dozen free challenges, mostly for JavaScript, and tags them as easy/medium/hard. When you start a challenge, there are instructions and an IDE for you to write and test your code.


Some challenges contain links to solutions, video solutions, or forums for discussion related to the challenge.


These challenges are geared more toward prep for a technical interview. If you really like the challenges provided, you can pay to get more. A monthly subscription is $35/month but an annual is only $150. The subscriptions buy you a lot of interview prep material but it still seems quite expensive to me.

At a recent Codecademy event that I hosted, about 20 novice programmers logged on and we worked through the Codeland Username Validation challenge from Coderbyte together. 


HackerRank


HackerRank has a large library of free challenges in a wide-ranging list of technical topics, like C++, Ruby, AI, regex, Java, Linux, & SQL. You will need to sign up for a free account to access the challenges.


HackerRank is essentially a recruiting website. It is competitive in nature and has a "leaderboard" for challenges. The challenges care more about the result rather than the methodology and you can often choose which language to solve a challenge with.


Occasionally, there is a flaw in a challenge. I think it is always worth it to skim the discussion board first and make sure that the top few comments are not related to challenge flaws before you pull your hair out with one of these.


There is an IDE below the instructions where you can run your code and get a right/wrong response before you submit for the leaderboard (if you choose to submit...personally I don't).


The site formatting does leave a little to be desired but overall, this is an awesome free resource.



What free resources do you know and love that I missed?