Today, I would like to answer the question of “What programming language should I learn first”. Now, there are a ton of programming languages for you to choose from. You have Python, you have C, you have C++, you have SQL, you have C#, you have Java, Swift. And the list goes on forever. However, my point is not to overwhelm you with the number of languages that exist, but it’s important for you to understand, first of all, why the languages might exist and, second of all, which language should you start off with first. So if today a human being walked up to me who did not know the concept of language? Let’s say he knew no languages whatsoever. What first programming language should I recommended to him. And I’d be like hmm, definitely not Japanese. Right? That’s one language I probably wouldn’t want to start him off with (as a first programming language), simply because it’s a little complicated, a little bit more complicated than say Spanish or English, which are, on the language difficulty spectrum on the level one.
But at the same time, if you think about this human language, like English and Spanish, you can’t say that just because they’re simpler doesn’t mean that they’re very powerful. They’re also spoken pretty worldwide and a lot of people understand them. So, even though they’re simple, they’re still pretty powerful. Now, let’s transition that over to computer programming. From what first programming language should I start? Well, to answer that question, I would say start off with the simplest language, right? Definitely, do not get started off with a really complicated language because here’s the fact. If you do not know the concept of language at all and I’m not saying you’re a baby, where your neuroplasticity is so high that you just pick up anything, let’s say you’re an adult and you just don’t know the concept of languages. You wanna definitely start off with the easiest language because once you learn the concept of language as a human being, it’s a way to express your emotions and ideas to other people. Once you learn that at its very core, you can transfer over to another language, like say, Japanese, and go how do you say banana in Japanese, how do you say this in Japanese. At least you can look it up. You have the tools to actually look that up and learn something in reference to another thing. So, in terms of computer programming, if you know the simplest language, then when you go over to another complicated language, you can just go, how do I do this thing that I do in this other language that I know in this language that I’m trying to learn. Okay? So, your research process becomes a lot simpler. And the ideas are all the same, you guys. For example, the emotions that American people or Italian people or Spanish people express, people in Japan or China express the same emotions, right? The tool that they use, the language syntax, the specificity of each language might differ, but at its very core, we’re still trying to express emotions of sadness, happiness, cherish, hopefulness, whatever, right? Computer programming languages, you are trying to express ideas to a computer, so it can translate it for you. It’s a really smart friend that is right there who’s listening to you. You just need to speak to him.
Now I wanna talk about what languages maybe you should not start off with. I would recommend that you not start off with C or C++ or C# as your first programming language, pretty much any of the C languages. And the reason is because their syntactical difficulty level is much, much higher. So, you have to worry about each little, tiny detail or what you’re saying to a computer will make no sense whatsoever. So, not only are you bogged down by the conceptual difficulty when you’re first learning computer programming, you’re also bogged down by the syntactical difficulty, you know, which is literally how you’re typing something. It needs a curly brace, it needs this, it needs that, embellishments. Almost like if you were writing English and you’re first learning it, if you don’t write comma or period or something, you’re just not get understood at all by another person. That would be very frustrating to you if English was your first language because you’d be like, this is so… I don’t know whether my problem lies in the fact that I’m speaking my ideas correct, the way I’m expressing it, or am I having some kind of grammatical error. So, start with something that’s… Just focus on the conceptual stuff first, okay?
So, start with something that has a syntactical difficulty that’s lower. Understand the concepts? In computer programming, you have a concept of looping over things. So, if it’s one task that you want to do over and over again, that’s called a “loop”. Well, if you learn what a loop is in one language, you can very easily go to another language and apply the same loop. If you learn what a “if” condition is, if this, then that, right? If Johnny worked over 40 hours, Johnny gets paid overtime. That idea, if you can learn to express it in one language, you can very easily express it in another. So, my recommendation to you guys to start with the Python as a first programming language! And Python, there’s a reason why it’s the top growing, one of the top growing languages in the world. And if you look at most of the top universities, they’re actually making that the introduction language. And the reason why they’re doing that is because of how elegant and simple it is. Now, don’t get its simplicity confused with maybe that it can’t do more. Remember, Google, Dropbox, Pinterest, Reddit, Instagram, and I can go on, but those were all built off of Python. Even BitTorrent. So, all of these things were actually built off of Python. Youtube was built off of Python. Sergey Brin, I think that’s who actually said it, the person who founded Google pretty much. He said “Python where we can, C where we must,” which means, we want to use the C programming language where we have to and Python programming language where we can. Okay? Now, in terms of the languages and where they work… So, let’s say you learn the language Python and you start off with that language. Now, you can always branch out and go to other languages. Once you understand the conceptual difficulty and the conceptual stuff, you can translate that over to any other language. Now, Python is a powerful language that allows you to do pretty much anything that you want. It’s also important to understand some of the differences between why you should pick another language. Now let’s talk about maybe once you learned your first programming language at a level of certain proficiency and you wanna transition over to another language, why would you wanna choose between different languages and work with one rather than the other? In reality, you’re working with a lot of languages at the same time, okay?