Uncomfortable Truth about Coding Tutorial Videos

I use google a lot to find information about my problems. And google seems to pick up onthat and started recommending coding tutorial videos titled something like "Learn [popular language] in [number] hours complete course", with additional keywords like "for beginners".

In this kind of videos, you will learn the most basic concepts about the language and that's about it. Great, you learned if statement and for statement. Now how do I actually use them in practice? Very few would be able to write something like this after watching that video if given the appropriate problem. (And this is not a good code either. You should use Linq if it's possible.)

public class Main{
    public void CheckAndPrintArray<T>(T[] array, Func<T, bool> checkError){
        for(int i = 0; i < array.Length; i++){
            if(checkError(
array[i])) Console.WriteLine($"Array element# {i} has error.");
            else Console.WriteLine($"Array element# {i} is fine.");
        }
    }
}

Programming languages are, well, languages. You can't learn all of it in a single source. Yes, you would be able to read Korean after I teach you about the Hangul for less than 1 hour but you won't understand any of it. Yes, you can read Python code after you learn about the syntax for less than 1 hour but you won't understand any of it. Each language has all sorts of weird quirks to them that other languages don't have. C-like languages and many others require this weird looking ";" at the end of each statement. And those curly braces might look weird too. Some even have this evil "goto" and other various unsafe operations that beginners should avoid at all costs. Python has weird mandatory indent that makes empty spaces have meaning in the code source which can be confusing. But all of these doesn't mean those languages are bad. It just takes some time to get used to.

Python tutorials are especially guilty of this as Python is apparently the most "beginner friendly" language. There is no such language. It might look friendly, but after writing actual code for problem solving, you'll find that like any other languages, Python has a lot of weird quirks that you have to account for. M Coding channel on Youtube has some great videos about weird Python quirks. These will come out of nowhere even for some basic codes and ruin your day. You can learn them and be careful about them just like any other languages, but you would feel ripped off because it was only "beginner friendly" for the very beginning. (And most languages are in fact, "beginner friendly" for the very beginning.)

If you want to learn a language, you should know how babies learn their first language. They just listen a lot and use the tiny bits that they already know and get feedback from their parents. So look up others' code a lot and see what problems they had and how they solved it. Use this information to write your own and test it. After that, analyze why it worked or why it didn't work. Rinse and repeat.
I write a lot like I know much but in reality, I don't know much about anything really. I just know just enough to be able to learn more. Not knowing is not a problem. Not being able to know is the real problem.

Comments

Popular posts from this blog

Abstraction and Encapsulation

The Humble Beginning