It will not be possible to give an unambiguous recommendation here, since it all depends on the purpose for which the study of a programming language or platform takes place.
If we are talking about a serious and thoughtful study of the basics of programming, then I would not recommend using widespread high-level languages and frameworks built around them. The ideal option, in my opinion, in this case is the good old C ++. On the one hand, this language provides an excellent opportunity to master the principles of OOP, which are the fundamental foundation of modern applied programming. On the other hand, when developing in C ++, you will learn how to correctly manage memory and write optimal code.
If you want to become a system programmer and develop drivers and operating systems or programs for microcontrollers, then, again, you should not waste time on widespread high-level programming languages. Studying C, or even the good old Assembler, you will reach your goal much faster.
If you see yourself developing applications for large enterprise-class business systems (ERP, eCommerce, CRM, etc.), then study the market in your area. Surely you will find leaders in these areas who have a large number of successful projects. In Russia and the CIS countries, solutions of such enterprise software vendors as 1C, SAP (SAP S / 4 HANA, SAP ERP, Hybris, etc.), Microsoft (Microsoft Dynamics) and others are in good positions in this segment. Next, you need to focus on learning the languages and technologies that underlie the product in the development of which you want to become a guru.
Summarizing the above – focus on your goals and do not waste time on what does not allow them to be achieved. At the same time, a programming language or platform for which a future computer game developer does not make sense to spend time can be the fundamental basis for a specialist who dreams of becoming the best computer science teacher in Russia.