When comparing GitHub vs freeCodeCamp, the Slant community recommends freeCodeCamp for most people. In the question“What are the best websites to learn to code?” freeCodeCamp is ranked 1st while GitHub is ranked 22nd. The most important reason people chose freeCodeCamp is:
Free for anyone who wants to take the camp.
Ranked in these QuestionsQuestion Ranking
Pro Integrated issue tracking
GitHub has integrated issue tracking that makes hunting and solving bugs easy. Each project's issues page can be filtered by closed issues, assignees, labels and milestones. Issues are also sortable by age, number of comments and update time.
Pro Nice and usable UI
GitHub's UI is clean and intuitive. Each view is designed to not fill the screen with useless information.
For example, the repository view displays only the most crucial data about that repo - on the top it displays the number of commits, branches, releases and contributors. When clicked, each of them will take the user to a page that displays more detailed information.
Pro Anyone can fork
Any user can fork a project and submit a pull request. If accepted by the owner, the fork will be merged with the master branch.
Pro Large community
GitHub is the largest code host on the planet with over 21.4 million hosted repositories and many users. It's unarguably the largest VCS used by developers worldwide and as such, it has a vibrant community that follows it resulting in many guides and tutorials for new users. Even experienced developers can always find an answer to any question they may have.
Pro Simplified team management tools
GitHub has easy and useful features to control teams, large and small alike. Team members can be given different powers on different projects, ranging from the ability to create them, to only being able to have read-only access.
Pro Provides free hosting for static websites
GitHub Pages is a feature that allows developers to create websites for their projects or anything they need a static website for, for free.
Pro GitHub makes it easy to find open source projects
GitHub is the largest host in the world for open source projects. Developers from all over the world fork and work on countless projects hosted on it.
GitHub's search box is a powerful tool that allows developers to find open source projects in areas they are interested in and where they can immediately start to contribute.
GitHub also has a page dedicated solely at exploring and finding open source projects, grouping them by each topic they cover. In the same view, GitHub displays trending repositories and sorting them by day, week or month.
Pro Gist (Snippets)
Gists is GitHub's way to easily share code, text snippets or any kind of information with the world. They are an easy way to share text and they work as Git repos, which means that they are forkable and versioned. They are also fully compatible with Git.
Pro Supports Two-Factor authentication
GitHub has added another layer of security to their user accounts. This layer comes in the form of Two-Factor authentication. After it's enabled, GitHub delivers an authentication code by SMS, or by a free application for smartphones. After two-factor authentication is enabled, the authentication code is sent to the account owner's phone any time someone attempts to sign into their GitHub account. This means that only someone who has both the password and authentication code can sign into the account.
Pro Convenient continuous integration with Travis CI
GitHub can be integrated with Travis CI for code testing and deployment, furthermore it is free of charge for free open-source projects.
Pro Code search functionality
GitHub supports searching code. Whether it's from a specific project or from the whole website. What's more, GitHub has excellent SEO and you can easily find any line of code hosted on public repos on GitHub even from Google.
Pro Easy integration with cloud hosting services
Many widely used cloud hosting services are easily integrated with GitHub. Any project hosted on GitHub can be set up on these services in seconds. Some companies that offer this feature are:
- Amazon Web Services
- Google Cloud
- Windows Azure
Pro Support for mandatory code reviews
GitHub allows maintainers to make code reviews mandatory for any repository they choose.
Pro Student discounts
GitHub offers very good student discounts along with other things, such as AWS credits.
Pro Additional features for academics
For those with a valid .edu email or valid school ID there are additional benefits such as free private hosting. While it may take time for the account to be verified, it can easily be worth it.
Pro Project management tools available
GitHub has a tool called (quite intuitively) "Projects". It helps teams to organize and prioritize the work they are doing by creating roadmaps and release checklists.
Pro Completely free
Free for anyone who wants to take the camp.
Pro Open source
Due to freeCodeCamp being open source, you are able to contribute to the program that helped teach you how to code in the first place. It's a great way to give back and gain experience.
There is no set schedule with freeCodeCamp. You can work through the program as fast or as slow as you want.
All courses used by freeCodeCamp are done in the browser, rather than students having to set up their own environment. This makes it much easier for beginners to get started.
Pro Gain real world experience while helping nonprofits
Once you've completed all the courses and practice levels on freeCodeCamp, you are able to participate with other learners on developing software for non-profits. It's an amazing way to gain experience and build your portfolio as a developer, while helping out a non-profit organization.
Pro Actively developed
They are frequently updating courses and adding new material.
Pro Welcoming, active community
freeCodeCamp strongly encourages interacting with other learners and experienced programmers. They provide chatrooms which are always active and full of members happy to answer any questions you may have. Pair programming (programming with another user) is encouraged as a great way to work through some of their coding challenges.
There are also meetup groups where you can code in person with other freeCodeCamp students.
Pro Six certificates available
There are currently six certificates available that you can get once you've completed all the projects:
- Responsive Web Design Certification
- Front End Libraries Certification
- Data Visualization Certification
- Apis And Microservices Certification
- Information Security And Quality Assurance Certification
Con Rule of thumb: 1GB per repository, 100MB per file
For most repositories this is acceptable, but for already large repositories with a long history, this may be a limiting factor.
Con Using it encourages other tools to integrate only with GitHub, leading to a monopoly
Con Owned by Microsoft
Con No OAuth2 support
In order to sign in to GitHub, users have to sign up first with unique credentials for GitHub only, so no option to sign in with Google+ or Facebook.
Con Very inconvenient UI
Very hard to switch between projects.
Con Learning material is not in-depth
The teaching content provided by freeCodeCamp tends to act more as an introduction than a solid learning resource. Unless you already have some prior experience, you won't have enough knowledge to get through the coding challenges and development projects without using outside learning resources to fill in the gaps.
Con Billed as 'learn programming while helping nonprofits', which is a lie
There are no nonprofits to help upon completing the program.
Con Is an email list generator
Early focus isn't on programming. It is on signing up for all of FreeCodeCamp's social media and getting looped into their newsletters. The content is trivial. It is all just a massive marketing scheme to get email addresses of aspiring programmers to affiliate sell to by pushing novice developers to blog posts containing affiliate links.
That is until they sell to a 3rd party. Read their disclaimer. Whoever buys them out gets all their user data, email lists, etc.
Con Massive time waste
Content mainly focuses on trivial concepts and is very sparse in those few areas that inch beyond 'complete beginner'.
Con No offline version
Con Excessive focus on the basics
This platform focuses too much on the basics.