You need to come up with something to work towards. There are only so many ways to write Hello World or a chess board, so you'll get tired of textbook programs quickly. Even if it's something relatively simple, it's good to have your own goal to work towards. It gives you much more reason to keep learning and getting better than simply following instructions. Programming can be very mundane if you don't have a real reason for doing it.
Also, if you have a goal in mind it will be easier to narrow down what language to use, although this isn't really the most important factor. Some languages/frameworks will make you bang your head on the desk more at the start but will help you learn more about memory management etc, while others will handle the boring stuff for you and let you focus on your application logic.
FWIW, this question has been asked around the web ad nauseum, so you'll have no trouble finding more information from a quick search to help you decide where to begin. On the other hand, you may just get overwhelmed with conflicting opinions