Featured Image from: ARMACAD
Coding is one of those jobs that can easily become a chore: repetitive, exhausting, and at times, frustrating, programmers and coders have the unenviable task of inputting the same kinds of data sets over and over again, day in and day out. Not only is it boring, it can also negatively impact their skills. Talent atrophy is fairly common among programmers who don’t shake things up from time to time. Repetitive tasks can also hinder programmers from learning new skills or coding languages, which can hold them back from progressing in their career.
New coders might also find difficulty in raising their coding skills, especially since a lot of coding tutorials in the market can be dull and monotonous. Not only that, the high-end functionality of coding can seem far and away for new coders who are just starting to learn the basics of a programming language.
To get around this, websites like CodeFights help both novice and seasoned coders reignite their love and interest for programming via a fun and interactive online game. In this edition of Honest Review, we look at CodeFights, its competition, and who wins out in the end.
What is CodeFights?
CodeFights is part video game, part learning experience. It’s a way for both new and experienced coders to learn new skills, work those skills out, and increase their knowledge about a particular skill set in such a way that is both engaging and entertaining.
By creating a learning environment that is more like playing a videogame rather than attending a classroom, CodeFights is able to take complex and difficult and turn them into activities that are comprehensive, competitive, intense, and friendly platform.
CodeFights lets you build virtual robots that move and are improved upon based on your level of mastery in your chosen programming language. CodeFights allows you to program in over 40 different languages.
But the website is not just for programmers and coders: the software is easy enough to understand that people without any kind of coding experience, like biologists, statisticians, psychologists, and even literature majors, can pick up the pace in an afternoon. It’s all designed to be as fun and as inclusive as possible.
But to make a more comprehensive review of CodeFights, we also looked at its top competitors.
The Alternatives:
While the concept IS cool, it’s not exactly new or unique: various other websites offer the same exact service with slight variations:
Codewars
Unlike CodeFights, Codewars is a more straight-laced, classroom-type learning program that guides users through a series of increasingly difficult programming tasks. While CodeFights focuses on educating people through fun and engagement, Codewars goes the traditional route and focuses on classroom-style learning.
To make it interesting, however, Codewars uses a Japanese-inspired interface that is visually stunning. Each task is also called a “Kata”, which is a term in Japanese martial arts that refers to a series of physical movements. These Katas include a description of the task at hand, data that students need to input, and the desired data that students need to output. Students are then required to write a code function to turn the input into the required output. Students can use whatever programming language they like and is all done using a built-in programming editor that can be accessed via any updated web browser.
There are various other tasks in Codewars, such as writing your own tests. These tests are a great way to gauge a student’s knowledge and mastery of coding, as the tests will be peer reviewed by the Codewars community.
While CodeWars does work as a comprehensive learning program, it might not be optimized for people looking for a fun and interactive experience. CodeFights use of flashy visuals usually works well with students who learn in nontraditional ways and is better suited for a wider array of people.
CheckIO
One of CodeFights most promising competitions, CheckIO is also a code learning platform that uses videogame visuals and techniques to guide people into learning more about programming. The CheckIO interface is aesthetically pleasing and straight-forward. Upon signing up, users are given the choice of “worlds” from where they can start. These worlds are actually programming languages, and by choosing a world, users choose a language that they can focus on.
Each world has a “home location” that users start from. These locations have easy, low-level challenges that are designed to introduce players to the programming language that they’ve chosen. Once these challenges have been completed, users can then move on to other locations and harder challenges.
Each location’s challenges are designed specifically for users of a specific mastery level, which means that users can jump between locations depending on how well they understand a particular language. By completing challenges at different locations, users can unlock new areas and attempt challenges in a different coding language.
One of the things I liked about CheckIO is its community: the forums are filled with helpful programmers both new and experienced and is a great place to compare solutions for various solutions. While CheckIO doesn’t have the same number of bells and whistles as CodeFights, it remains an interactive experience that users will find both fun and informative.
Why We Prefer CodeFights:
In this review, CodeFights won out against the other two alternatives because of its easier exercises, a greater number of exercises, and honestly, cool robots. Unlike the other two sites, which require you to have some familiarity with their coding language, CodeFights is more basic: at its easiest levels, users are tasked with providing solutions to very simple problems like creating a function that outputs variables in sequential order. As you progress in CodeFights, you can then be tasked with more complex coding requirements, some of which have real-life applications like building a database.
CodeFights primary resource is its vast library of challenges: with hundreds, even thousands, of challenges of various difficulties, CodeFights can give users a very comprehensive education in the programming language of their choice. Moreover, CodeFights has a simple interface that asks users to input the most efficient solution to a particular problem.
And the best part? Unlike its competition, CodeFights does not have a guide for completion: each exercise and questions are generalized so that users can choose from a multiple number of solutions. This is helpful to programmers in the real world because it teaches them how to adjust to problems and find solutions via research, trial-and-error, and good-old-fashioned elbow grease. Once a user is able to create a solution, they can also compare it with other users’ code to see if they were able to create a more efficient solution than other people.
If you get stuck, though, don’t worry: CodeFights has a message board full of tips and tricks, and in-game points acquired throughout the game allow you to see a possible solution (of course, other users will encourage you to experiment on your own!).
CodeFights also has an Interview Practice mode, which helps programmers who are looking to break into the industry practice their coding skills in preparation for job interviews. The Interview Practice mode has user-submitted questions, but also questions submitted by major tech companies like Apple, Facebook, Google, and Twitter.
All in all, my honest review of CodeFights ends with a strong recommendation, and I urge you to try it out today!