There is no good language to start with.
Whichever language you try it’s never the language that’s most difficult. Languages are easy.C# doesn’t even know 100 reserved words. But then .NET comes to a corner look, and then come the SOLID principles, and then there’s still something like good vs bad architecture.
Programming is not an easy box to step in.You have to know a lot you want to yield something.
I have some experience in working with people.What new programmers find most difficult is thinking in small soluble problems that are each offered in small independent pieces and collectively the solution for 1 problem. This is language independent, it is an experience issue.
Most of the new programmers see 1 gigantic issue and throw in a mountain code to solve this.So we all start. I’ve written sample features in the past.
Only 1 solution.Pak 1 language. Yes 1. And go and try to solve things and see the Internet for solutions. And, if it can let someone with more experience look at the code and adjust it.
The language itself?Does not matter to my many. It’s going to be the experience with code writing and troubleshooting in small loose-to-use pieces.
As Onno said in Z N answer there is not 1 best programming language to start with.However, I disagree with his statement that the choice does not matter.
Because programming, or rather software engineering, ultimately takes a lot of experience and knowledge to do well it is important that it remains interesting throughout the learning process.
The best way to get that done, all at a 14 year old who will still have a relatively small attention span, is to find a nice application, a nice problem to solve by writing a piece of code.Learning a foreign speaking language is also not at home in your room, which you will only learn really well when you go to the foreign country where they speak that language and then try to communicate with the people there.
Another important argument for your choice is the accessibility of a programming language.Not every programming language is as easy to learn, but more importantly: not every programming language has an equally large community that provides information on how to use the language. Here too, you should keep the interest of the 14-year-old, if it cannot find what he or she is looking for, the fun is soon from there.
So, first find a nice problem to solve, like automatically feeding the fish at fixed intervals, or making a program to let a doll run across the screen.
For practical problems such as driving motors or lights I would buy a Raspberry Pi or an Arduino, cost almost nothing and work with popular programming languages.
The Raspberry Pi has the advantage that you can run software written in just about any language, but Python or Java are I think the best starter languages where much, very much is to be found online.
For the Arduino, this is C, a language that lets you run a pop-up on your screen less quickly, but if the 14-year-old has a lot of interest in hardware it might be a very cool platform (believe me, for a 14-year-old it feels like he or she is the biggest hacker I s if the Arduino makes a light blink or turns a motor on).
For the PC I would also go for Python or Java, or for C# (shows many similarities to Java).In addition, you can also consider going for Unity, a framework for creating (3D) games, which might be very interesting for a gamer because you can create a simple game with little code.
In all the examples it is of the utmost importance that interest is kept and that the difficulty of learning is rewarded as often as possible with nice results that can be shared with others and where the 14-year-old can be proud.Which programming language is used is not very important, as long as the language is able to keep programming interesting. The software principles will come later.
For me: Pascal.