I've been seeing a lot of this over the years. The premise that “Python is easy for beginners”, or that “C++ is hard”, or "if you are new to game dev, GDScript is better than C#". This is problematic for a number of reasons.
It's clear these people mean well, their intention is to ease the journey of programming beginners and steer them away from concepts that may be intimidating at first. But in-so-doing, it creates a self-fulfilling prophecy. If you tell a complete beginner “Python is easy for beginners, C++ is harder”, you are priming their minds with that mentality and you may discourage them from ever learning it under the premise of “it's too hard - C++ must be the advanced language”. They'll try to compile, will undoubtedly encounter several errors about mismatched braces or a missing semicolon, and conclude “see? it is hard! I am struggling!” It's not a huge leap from there to say they may be disheartened from persevering through these mistakes - as we all did - and gain the proficiency that they need.
What one person finds “easy”, another finds hard. There is no objectively “easiest language” - it is entirely subjective based purely on:
... your past experience
If I went to my grandmother right now and asked her to write a program that prints “Hello World” in a loop 10 times, whether I told her to use Python or C would not change the fact that she'd be lost, confused, and frustrated, because she doesn't understand what that those words mean. “print”, you mean like on a piece of paper? Also what is a “loop”? Why "Hello World"?
for i in range(10):
print("Hello World")
for (int i = 0; i < 10; ++i) {
printf("Hello World\n")
}
To someone who's never written a line of code in their life, both of these are going to look like mysterious incantations with random symbols that have no business being there. It may look easy to you if you're a dev, but that's only because you already know what this code does. To a total beginner, both look like nonsense.
GDScript may in fact be an easier language for you to start with, if you have previously used Python - since these two languages share very common structure and (almost) identical syntax rules. What you personally find easy/hard does not apply to everyone.
... your personal preference
You may look at the two code snippets above and conclude that you prefer the syntax of Python with its range call and simple print function (if you've never used C, you may even be confused at why that function is called printf). If this is you, that's great! Power to you. You have the right to prefer any language you want, and I'm not here to tell you you should prefer the C version. I'm certainly not gonna tell you to learn Assembly so you can learn why a loop compiles to a jump instruction. If what you use works for you and helps you make things, then you've found your niche.
However, the same is true of the opposite. If in fact you prefer C syntax, where bodies are bounded by braces { } rather than by whitespace and indentation, you also have that right. I'm not here to tell you that whitespace is superior to braces because “it makes scope more evident”. If what you use works for you and helps you make things, then you've found your niche.
It's not my job to police what you prefer, and it's not your job to police other people either.
And lastly, I cannot stress this last criterion enough…
... your intended goal
Claiming that language A is easier than language B quite simply neglects the fact that you can't always make a given project in any arbitrary language. Even if I were to concede that one language is easier than another (which I'm not), I would only concede it on the grounds that is easier for this specific domain. Different frameworks are built for different languages, have different intentions, and solve different problems1. It's simply not feasible to write an operating system, or a personal portfolio website, in GDScript. That's not what it's designed to do. GDScript has no concept of the DOM. At best you could compile to WASM, but at that point you're using a hammer to tighten a screw. Likewise, if you want to use Unity, you're not going to be able to use Rust or Kotlin to write your game logic.
The more important point, however, is that if their goal is to learn C++, then responding “maybe you should learn Python first because it's easier” literally avoids the question in the first place. It's akin to someone saying “I want to learn Japanese” and responding with “no don't - it's hard - learn German first”. Sidestepping the problem entirely does not help someone achieve their goals.
The big takeaway
We were all, at one point, completely new to this. Writing code felt like a form of magical conjuring and we all have projects by which we are completely embarrassed because it was so terribly written compared to what we can do now. But that comes with the territory. You set out to build something, you make mistakes, you learn new things, and you improve little by little. It's only by engaging with it that you can ever hope to improve.
The moment you dissuade someone from that process by stating your opinion as fact, you've crushed a little piece of that person who, in a moment of wonder and curiosity, was brave enough to ask more experienced people “should I learn X Y Z”.
The answer to that question is - always - a resounding YES.
Unless they want to learn PHP. Then say no.
-
I would even go so far as to say that you should never just learn “one language”. Because the day that language stops being popular (and yes this has happened, trends change all the time), your toolkit becomes irrelevant. It's better to equip yourself ahead of time so that - if the day comes - you aren't blindsided by the industry.↩