Introduction

Learning programming is a highly rewarding experience that can open up new career opportunities and provide valuable problem-solving skills. However, finding the right resources to learn programming can be overwhelming, especially if you are just starting.

I'm assuming you already have a basic understanding of computers because learning programming requires a good familiarity with basic computer concepts and an understanding of how they work.

If you don't meet these requirements yet, don't worry! Specifically for you, I've created a free series of articles called "Understanding Computer Fundamentals" to help you understand the basics of computers, including software and hardware.

Understanding Computer Fundamentals

We go through everything step by step with plenty of images that show different computer parts, so you can easily follow along.

Even people who are well familiar with computers were saying to me that they've learned a lot from the series, so I encourage you to go and check it out if you need a refresher or are just starting.

This article is structured in a way to provide you with a comprehensive overview of some popular online platforms for learning programming. Each platform listed in this article is divided into 4 sections to give you a clear understanding of what it offers:

  1. User interface. In this section, we will explore the user interface of each platform, including how easy it is to navigate and use.
  2. Pros of the platform. This section will highlight the advantages of each platform.
  3. Cons of the platform. This section will discuss the limitations or drawbacks of each platform.
  4. Summary. This final section will provide a summary and recommendation for each platform, based on their strengths and weaknesses.

I've tried to test each service as much as I can to make a better comparison and see the Pros and Cons of each. Get comfy and let's dive into some of the best online platforms to learn programming from the basics!

Many of the platforms that I will be looking at here are available in the English language only. I will not count it as a con because English should be a basic requirement for anyone looking to learn programming. I would recommend people start with English before learning computer programming, it will make things much easier.

Codecademy

Codecademy is a fantastic place to start learning programming from scratch or strengthening your coding skills. Their interactive platform makes it easy to learn by doing, and you can get started for free.

In my opinion, they have one of the best ways to learn programming, with step-by-step tutorials and exercises that cover everything from basic concepts to advanced programming languages.

User interface of Codecademy

The user interface on Codecademy is very intuitive and easy to navigate, making it user-friendly for beginners. This is a screenshot of the interface similar to what you'll see when you start a course on their platform:

Codecademy editor

The screen is divided into 3 resizable parts, instructions on the left, a code editor in the center, and the console on the right, so you can practice writing code and see the results in real time.

You start by choosing the technology you want to start learning, and from there you can progress through different courses that cover everything from HTML/CSS to C++, JavaScript and more.

The flow of the lessons is very well-structured, with explanations followed immediately by practice exercises. If you're stuck on any of the lessons, you can do one of 3 things:

  1. Get a hint;
  2. Click the "Get Unstuck" button at the top of the navigation panel;
  3. Check the community forums for additional help;

After you finish a chunk of exercises, they test your knowledge by giving you a quiz where you need to answer questions based on what you just learned.

Codecademy quiz

If you get everything right, it means that you understood the material and are ready to move on.

Pros of Codecademy

Codecademy has clear and concise tutorials that are easy to follow, even for beginners. The strength of Codecademy is its interactive learning and the variety of courses and languages available. And if you don't know where to start yet, you can take a quiz to determine whether you are a Problem Solver, Dot Connector, Question Asker, User Advocate or some other type of learner.

Codecademy quiz interface

Some of those questions were easy and some of them were hard for me to answer, but they provided me with a personalized recommendation for a course to start with.

1. I like the detailed explanation of each lesson and the way they break down complex concepts into manageable chunks with nice images and examples that make it easy to understand.

2. Cheatsheet is a great feature of Codecademy. You can find them under the "Resources" → "Cheatsheets" in the navigation bar on the top. They have over 800 sheets covering a wide range of topics and programming languages that are useful for quick reference, which is mind-blowing. Even if you don't have any plans to take a course, I would highly recommend saving the Cheatsheet page to your browser's bookmarks if you are a beginner.

Cons of Codecademy

I haven't found any considerable weaknesses in Codecademy except not significant ones. I will still point them out for transparency.

  1. There is no VIM mode available. I'm assuming that's because it's aimed at beginners, who are usually not familiar with advanced text editors or the command line.
  2. There is no light mode available. When using the laptop outside on a sunny day, it's difficult to see the screen because there is no option for a light mode.
  3. For PHP lessons, you're going to have to deal with the old 7.3 version of PHP, which was released back in December 2018. It's sad to see that they are not updating their content to match new standards.

Summary of Codecademy

Codecademy is a great way to learn programming for beginners. With over a hundred courses and an easy-to-use online programming environment, it's a great choice for anyone looking to start their journey in programming.

Codecademy has a big team that is constantly improving the platform and offering new courses and features. After using it myself, I can see how much time and effort they have invested in making it a fantastic platform for learning.

The list of cources on Codecademy
Explore different cources on Codecademy

Codecademy is better suited for people who have the patience to go through each lesson carefully, no matter how long it may take. If you don't have the patience to read each concept, then you might think if programming is the right career path for you. Because programming requires attention to detail and a willingness to learn and improve constantly.

If you like Codecademy but want to see some other alternative options before committing, there is a platform called Educative, which we are going to talk about next.

Educative

Educative is another great online platform for learning programming by completing interactive lessons and challenges. It has challenges for beginners to advanced developers and covers different programming languages and technologies.

User interface of Educative

The interface on Educative is clean and intuitive. It's easy to navigate through the lessons and find the content you need. Here is a screenshot of the interface, similar to what you'll see when you start a course on their platform:

Educative interface

The first thing you notice is that Educative looks very professional with a sleek and modern interface. Instead of having a split screen as we saw on Codecademy, Educative uses a full-screen view, which makes it easier to focus on the lesson at hand.

The left sidebar displays the navigation menu for the course and allows you to jump between different sections easily. It can be easily hidden by clicking the arrow icon in the top-left corner.

Educative hide sidebar button

After hiding the left sidebar, the full-screen view gives you more space to work with, I prefer this way of learning over the split screen, but for you, it might be the opposite.

At the end of each series of challenges, you will be given a quiz with questions regarding what you've learned in that section.

Educative Quick Quiz on Functions

Answer these questions to move forward toward new lessons and challenges.

Pros of Educative

1. What I like about the Educative code editor, is that it supports VIM mode for those who prefer to use it. For beginners, it's not a big deal, but for more advanced users, it's a nice feature to have, as many professionals prefer using VIM due to its efficiency and versatility.

2. Educative has an option to choose a Dark, Light or System theme, making it easy to switch between a preferred mode based on personal preference or the surrounding environment.

3. You can select any text while studying, right-click on it, and add a note that will be saved to your notes that you can access at any time at the top navigation bar.

Add a note to a text on Educative

Cons of Educative

I find Educative a little hard for beginners. When I had 43% completed the "Learn PHP From Scratch" course, they gave me the challenge to write a function that computes the Fibonacci series up to n number. This might be overwhelming for absolute beginners who have just started learning PHP.

But still, I don't think it's a massive weakness of Educative, as their platform has a lot to offer for those willing to challenge themselves and push through the difficulties.

The biggest thing that I don't like is code evaluation. Pretty often you execute your code and instead of getting an error you always get "Failed to evaluate code" back. I check the code on the local machine and everything works perfectly fine. Like, for example, can you guess what is wrong with this code?

<?php

function stringCheck($str1, $str2) {
  return str_contains($str1, $str2) ? 1 : 0;
}

?>

When I submit this code, I get "Failed to evaluate code" even though it does not have any errors since it works perfectly fine locally. It turns out that they use PHP version 7.4, which was released back in September 2020, and the str_contains function is not available in this version, it was introduced with PHP 8.0.

The last small bug that I found is that when I click on the search input (on the explore page) to search for something, the search field disappears, and I cannot interact with it.

Summary of Educative

Learning programming can be challenging, but with the right online platform, it can be a fun and engaging experience. Educative is a great platform for those who want to be challenged and push their limits, but it might not be the best option for absolute beginners who need more guidance and support.

Explore different cources on Educative
Explore different cources on Educative

I truly enjoyed my time with Educative and appreciated the versatility and efficiency of their courses, as well as the option to choose between different themes. That being said, I would recommend Educative for intermediate-level learners who are comfortable with coding concepts and want to challenge themselves.

If you are a type of learner who prefers a video-based learning experience, Udemy, which we are covering next, might be a better fit for you.

Udemy

Udemy is a video-based online learning platform that offers a wide range of courses, including programming. It is probably the most well-known source for learning new skills and acquiring knowledge online.

I've used it myself for studying the "Building a Parser from scratch" course by Dmitry Soshnikov, which covered the fundamentals of parsing and abstract syntax trees in programming languages. Such professional content is one of the strengths of Udemy.

User interface of Udemy

The user interface of Udemy is intuitive and easy to navigate. It's not overwhelming with unnecessary distractions, allowing learners to focus on the course content. The video player is user-friendly and offers options for adjusting playback speed, taking notes, and accessing course materials.

Here is what the Udemy interface looks like when you visit a particular course page:

Udemy's interface for a cource page

Udemy doesn't have a dark theme, but to be honest, the lack of a dark theme is a minor inconvenience for a video-based platform since you mostly watch videos and don't spend as much time reading text.

This is the interface of a particular lesson on Udemy:

Udemy interface for a lesson's page

On the right side of your screen, you have the course content, where you can navigate between different lessons and sections. Under the video player, you will find different features, including notes, learning tools, and a Q&A section.

Pros of Udemy

1. I also like the UI (User Interface) on Udemy, it's simple and easy to navigate. You can use a search bar to find courses on specific programming languages or topics, courses or authors.

2. The last thing that I like about Udemy is their recommendations on the main page. Their recommendations actually work the way you want them to work, as they often suggest relevant courses based on your interests and previous searches.

Cons of Udemy

It was very hard for me to find a drawback of a platform like Udemy when it comes to learning programming as a beginner. However, just for keeping the structure of this article, I need to point something out to be fair.

One of the most commonly mentioned cons of Udemy is the absence of quality control. I haven't experienced it myself, but some people complain that some courses on Udemy may not meet their expectations in terms of content quality.

Each course has to pass a quality check before the instructor can publish it, to filter out low-quality courses with poor microphone and video quality.

However, every course has preview videos that you can watch before purchasing to get a sense of the instructor's teaching style and course content quality. So, while the absence of quality control is a concern for some users, it can be mitigated by thoroughly reviewing course previews and reading reviews from other learners.

Summary of Udemy

In summary, Udemy is a great platform for beginners to learn programming and many other skills online. The user-friendly interface makes it easy to navigate through courses and find exactly what you're looking for.

Whether you want to expand your skills in a specific programming language or explore a new topic altogether, Udemy has a vast library of courses taught by expert instructors.

Additionally, the recommendations feature helps you discover relevant courses based on your interests and previous searches.

Udemy's suggestions on the main page
Udemy's suggestions on the main page

The absence of quality control on Udemy is a potential drawback, as some courses may not meet expectations in terms of content quality. But this can be managed by carefully reviewing course previews and reading reviews from other learners before making a purchase.

Treehouse

Treehouse is another popular choice for beginners looking to learn programming online. As they say on their website, "Learn to code, design, and more — all on your own time". Treehouse is also a video-based platform like Udemy, except that it offers a more structured and guided learning experience.

Not everything on Treehouse is video-based, some tracks remind me of a traditional online course with text-based lessons and quizzes like Educative or Codecademy.

Additionally, Treehouse offers various guided tracks that allow beginners to learn programming step by step.

It's a paid platform, but they offer a free trial period for users to explore the platform and see if it meets their needs. You can view their plans and pricing options on their website to choose the subscription that works best for you.

User interface of Treehouse

The user interface of Treehouse is clean and intuitive, making it easy for beginners to navigate and find the courses they are interested in. The structure is a bit confusing at first, as there are different tracks and learning paths to choose from. But once you get the hang of it, it will be a helpful way to progress through courses and track your learning journey.

This is the screenshot of Treehouse's user interface, which shows a video player:

User interface of the video player on Treehouse

Courses are split into tracks and look like this:

Tracks interface on Treehouse

Pros of Treehouse

1. Treehouse offers a structured and guided learning experience. Structured, means that the courses are organized in a logical sequence, allowing learners to build their knowledge and skills incrementally. This is the biggest strength of Treehouse, as it provides a clear learning path for beginners to follow.

2. Treehouse offers Workspaces. Workspaces are a feature on Treehouse that provide learners with a virtual coding environment where they can practice what they've learned and work on projects. You can launch a workspace directly from the course page from the video player. However, workspaces can be buggy at times.

3. Treehouse offers a "Techdegree" plan. This plan is more advanced and comprehensive, providing learners with a certification upon completion. It's the most expensive plan offered by Treehouse, but it can be a valuable option for those looking to gain a higher level of expertise and demonstrate their skills to potential employers.

With this plan, you'll have a real-time student support team and access to a Slack community where you can connect with learners and instructors. However, not many people can afford the Techdegree plan, so it may not be accessible to everyone.

Cons of Treehouse

1. The navigation is confusing, I couldn't figure out how to start lessons. I hit the "Start Track" button on the "Intermediate PHP" track, but it redirects me to the "SQL Basics" track instead.

It happens because of the way Treehouse organizes its content into tracks and paths. "SQL Basics" is the first course in the "Intermediate PHP" track, so pressing the "Start Track" button takes you to the first course within that track. However, after using it for a bit, I got used to the interface and had no issues with it.

2. I was talking about the Workspaces that Treehouse has, but the editor is a bit buggy. It happens when I'm trying to modify some code by placing a cursor in a specific spot. When I type new text, the text before the cursor gets overwritten instead of moving forward, which can be frustrating and time-consuming.

3. They hide dates on courses. I don't understand why they don't simply show the date when the particular video was recorded, but it's a downside for me.

Summary of Treehouse

To make an honest review of the Treehouse, I need a separate article because there are tons of things to cover, but I provided a brief overview without diving too deep into the details.

Dropdown menu with some useful pages to access
Dropdown menu with some useful pages to access

But overall, I spent all of my free trial days on Treehouse and found it to be a valuable platform for learning programming, even though I'm not a beginner. I feel like Treehouse is great for people who just graduated from college or school and are looking to gain practical skills in programming.

I like the lessons and instructors, I like the real-world examples in their tutorials that are relevant and applicable to the industry. Try their free trial and see for yourself if Treehouse is the right platform for you.

Pluralsight

Pluralsight is another online platform that offers a wide range of programming courses for beginners. As they state on their home page: "Develop critical tech skills. Cut cycle times. Build happier, healthier tech teams. And transform your goals into gains. All with Pluralsight".

User interface of Pluralsight

The thing that stands out the most about Pluralsight is the home page design. Whoever designed the main page for them definitely had a great eye for aesthetics.

Pluralsight's main page (home page)

The layout is clean and modern, making it easy to navigate. However, I haven't been able to create an account on Pluralsight to fully explore their user interface because they don't like my email address for some reason.

Pros of Pluralsight

Since I haven't been able to create an account on Pluralsight, I haven't found any specific pros to mention. I cannot suggest Pluralsight, since I haven't tried it myself. From what I've seen from other reviews, Pluralsight has tons of different lessons, but it appears that their course offerings are more focused on intermediate to advanced learners rather than beginners.

Cons of Pluralsight

The only downside about Pluralsight is that you cannot create an account with some email addresses, which can be frustrating for potential users. In my case, my email address ends with "@protonmail.com" and for some reason, Pluralsight does not accept it.

ProtonMail is one of the most popular encrypted email services, so it's quite surprising that Pluralsight doesn't accept it.

ProtonMail's main page

Maybe they don't respect the privacy and security measures that ProtonMail provides. Weird, because I've never had this issue since 2019 anywhere else. This is the message I got when I'm trying to register:

Error on Pluralsight's register page

I can avoid this error by registering an email address, such as Gmail, but firstly, it's a bit inconvenient to have to create a new email just for signing up with Pluralsight. Secondly, I don't want websites to dictate what email service I should use and limit my choices.

Summary of Pluralsight

Pluralsight seems like a nice platform with tons of videos. However, their registration process can be a bit frustrating if you have certain types of email addresses.

If you use some email with low security, you can try to register on Pluralsight and see for yourself if this platform is any good for beginners. Please let me know in the comments down below the article if you had a better experience with Pluralsight, or if there are any other online platforms for learning programming that you would recommend for beginners.

They have a free trial period, so you can give it a test run before committing to a subscription. If you want to find a different online platform for learning programming with experts in the field, meet our next candidate: Laracasts.

Laracasts

Laracasts is an incredible video-based online platform for beginners to learn programming, specifically focused on web development. If you are planning to choose web development as your programming path, Laracasts is definitely the best choice.

I am not sponsored by Laracasts in any way, since they don't even have an affiliate program to sign up for. I just genuinely believe that it is one of the best resources out there for those starting their web development journey because I'm using it myself since 2021.

There are tons of topics from experts in the field, covering everything from front-end development to back-end. Whether you're interested in JavaScript, SQL, Git, Vim editor, or specific frameworks like Laravel or Vue.js, Laracasts has got you covered.

Laracasts' topics section on main page (home page)

Like any other platform, it has its own minor limitations, we'll talk about them later on. But first, let's focus on the positive aspects of Laracasts and talk about the interface.

User interface of Laracasts

Laracasts has one of the most pleasant and user-friendly interfaces among online programming platforms that I've used. The interface is clean and easy to navigate.

All the videos are available in 2K resolution (except old ones), ensuring a clear and crisp viewing experience. This is what the interface looks like on a lesson page:

Laracasts' tutorial page

Everything else in terms of navigation and design on Laracasts is designed to make your learning experience as smooth as it can be.

Pros of Laracasts

  1. Laracasts is rapidly expanding due to its high-quality content and massive community.
  2. To test your knowledge, you can take a quiz after completing each series to reinforce your learning. Since Laracasts is created by experts in the field, the quiz questions are thoughtfully designed to challenge your understanding and help you solidify your knowledge.
  3. The point system is integrated into the learning experience. Users earn points for completing courses and participating in the community, which adds a gamification element to the learning process and keeps you motivated to continue progressing.
  4. Laracasts offers tutorials with experts in the field. I've already mentioned it in this article, but it's worth mentioning again because that's what makes Laracasts stand out. It doesn't mean that other platforms don't have quality content, but Laracasts really shines when it comes to the expertise of its instructors.
  5. You will never be done with Laracasts. The idea of Laracasts is not to teach you some basic knowledge, but rather to provide a continuous learning experience. I have been programming since 2017, and I still find new and valuable content on Laracasts that helps me stay up-to-date with the latest trends and techniques in web development.
  6. Laracasts has a massive forum where you can find an answer to almost any question or ask your own. In addition, you earn extra points by actively participating in the forum.
  7. Laracasts has a podcast integrated into the platform. The Laracasts podcast offers a unique opportunity to listen to insightful discussions and interviews with industry experts, further expanding your knowledge and understanding.

Cons of Laracasts

Laracasts is not perfect, as with any other platform, it has some limitations, let's see what they are.

1. Laracasts is focused on web development, specifically with a focus on PHP, JavaScript, and technologies related to web development. You will not find courses on programming languages that are not related to web development, such as C++ or Python.

And this is undoubtedly why I love Laracasts because it is a specialized platform that focuses on a specific area of programming, which allows for in-depth and comprehensive learning.

2. You will not find courses on Laracasts for learning HTML and CSS for beginners. If you're a beginner looking to learn HTML and CSS from scratch, Laracasts might not be the best option for you.

If you want to start with HTML and CSS, I would recommend the "Learn HTML" and "Learn CSS" courses on Codecademy. It's free and provides a solid foundation for beginners to learn HTML and CSS.

Summary of Laracasts

Laracasts is a highly recommended online platform for beginners looking to learn programming, specifically in the field of web development. To start learning programming with PHP, you can start from the "PHP For Beginners" series and gradually progress to "Object-Oriented Principles in PHP".

PHP For Beginners cource's page on Laracasts

Laracasts will suggest you the next move with a learning path that you can see in the screenshot above under those 2 buttons.

If you are not a total beginner and want to grow as a web developer, Laracasts is a great choice for you. However, if you are a beginner looking to learn HTML and CSS, Codecademy might be a better option to start with.

Explore more platforms yourself

As we've discussed in this article, there are several online platforms for learning programming, each with its pros and cons. In general, they are all a great way to start your journey in programming or take your skills to the next level.

There are also platforms like YouTube, which offer free resources for learning programming, but the most significant downside of YouTube as a platform for learning programming is the content quality. There are tons of lessons that will teach you bad practices, outdated information, or just plain wrong things.

Therefore, I've picked platforms that have been proven to provide high-quality courses, resources, and support for those who are interested in learning programming.

I've also looked Udacity, but for some reason, I haven't found this platform to be as beginner-friendly as the others mentioned.

Udeacity home page interface

Plus, I didn't like the UI, it's difficult to navigate and find the courses that I was interested in. They didn't even put the search on the home page like Udemy does.

Fill free to explore the world of online programming platforms and find the one that best suits your learning style and goals. Most of them have free trials that you can use to get an understanding of this platform and see if it is the right fit for you.

What to choose?

Now you know some information about popular online programming platforms, but which one should you choose? Well, it ultimately depends on your personal preferences and learning style.

I can make some tips to help guide you in making the right choice, but the final decision is up to you. If you are a complete beginner who doesn't know where to start, starting with Codecademy's "Learn HTML" course is a great option. Even if you don't want to go into web development specifically, learning HTML is still a valuable skill to have in the tech industry.

You will understand what is code and how it's getting processed by the program, and you will understand the basics of indentation, and syntax.

If you like HTML and want to continue learning web development, you can transition to a free "Learn CSS" course by Codecademy. If you are not interested in web development, then you can decide in what direction you want to move forward in your programming journey.

  • If you want to get into machine learning or data science, you need to learn Python.
  • For game development, you'll need to learn languages like C# or C++ depending on which game engine you are eager to work with.
  • If you're interested in mobile app development, learning Kotlin or Swift would be beneficial. Kotlin for Android apps and Swift for iOS apps.
  • Web development is a big topic because it's divided into frontend and backend development. For the front end, you'll need HTML, CSS, and JavaScript. For the backend, you'll need server-side languages like PHP, Node.js or Python.
  • If you want to work as a DevOps engineer, learning tools like Docker and Kubernetes would be valuable.

Conclusion

In conclusion, there are many online platforms available for beginners to learn programming. We've covered many of them in this article, but there are even more options out there if you start looking.

Codecademy is a popular choice with its wide range of courses in different languages and its user-friendly interface. It allows beginners to start coding right away without the hassle of setting up development environments.

Educative is another platform that offers interactive coding tutorials and hands-on exercises, making it easier for beginners to understand and apply the concepts they learn.

Udemy provides a vast library of programming courses taught by different people from many industries, allowing learners to choose based on their specific interests or career goals.

Treehouse is a platform that focuses on beginner-friendly programming courses and also offers tracks for specific career paths like web development or iOS development.

Pluralsight seems okay, but I haven't been able to review it due to their registration process, which doesn't allow people with certain emails to register.

Laracasts is the one I love the most, but it is more focused on web development using the Laravel framework and JavaScript. Plus, Laracasts doesn't have any series for beginners who want to learn HTML and CSS. It's due to their specific focus on programming rather than building user interfaces.

There are also options like YouTube, Udacity and Coursera, where you can find a vast array of programming tutorials and courses. I've learned a lot from YouTube myself, but we didn't have as many options back then as we have today, and it's great to see that there are now so many resources available for beginners to learn programming.

I wish you all the best in your future career as a programmer. Leave a comment or like the post to give me feedback on your choice of an online platform for learning programming.

 

 

 

 

Keywords: codecademy, educative, udemy, study, pluralsight, learning, beginner, junior, services, laracasts