text: This is one of the most asked questions about learning to program. I have had countless number of people ask me this question and much more would do in the future. Before I give my honest opinion, it would be important to understand what programming language means and how to go about choosing a language.
  A programming language is basically a way to tell your computer what to do. To tell your computer what to do involves writing certain instructions. Learning a programming language involves understanding the syntax and semantics of a certain programming language. So what factors must be considered before choosing a programming language?
  One of the most important factors to consider is which section of programming you want to be based. Do you want to be a web developer, an application developer, a mobile developer? A web developer basically develops applications for the web. An application developer developers application for Desktop or other media and mobile developers develop for mobile devices. There are definitely more than these sections of programming. So after determining precisely what you want to learn, then you can decide which language to go for.
  Before choosing a language, ensure you understand the fundamental principles of programming like loops, methods or functions, programming paradigms and many more. Understand the core concepts of programming even before you start. The various levels of abstraction of programming languages should also be familiar. These concepts allows you a brighter view of how programs are executed and as such would help in making choose the right language.
  After understanding the core basics, then you can move on to choosing a language. Ensure your first language is a language that has a high level of difficulty. Well, I give this as a personal advice. This is because it is easier to start with the tougher ones so that future programming languages you would learn would not give you a tougher time than you have already experienced. Because of this, I would advise that you never start learning programming with a framework.
  A framework is like an abstracted version of a particular programming language providing you only with the abstract and not the main core concepts. A lot of things you need to learn would have been wired and you would simply be consuming an end product. You do not want to do that as a beginner in programming. You would need to get your hands wet with codes before you become much comfortable.
  Well, the most important part which even professional programmers face is that the journey is challenging. Ensure you always have a high level of motivation to keep you going even when a single semi colon prevents your code from executing. Be steadfast and consistent.
  Also, stay away from too many readings and tutorials without real implementations. Start something as soon as you have understood a concept, create something and build something. That is how it all starts.
  Also, ensure you have made a good research in the invention and scope of your chosen language because new languages keep coming up and some people are easily persuaded to join another language. Do not be desultory in choosing languages. Do not keep jumping from one language to another. Learn well your language and definitely be open to new changes if the new stuff makes your task easier. But ensure you know the basics.
  Programming is a world for everyone. Choose a language today and get started