There is no single "top" programming language. If you want to write programs like a pro, you want to study at least one high level language (probably C ++ since it is currently the most general of the high level languages) and one database programming (such as SQL). You can not go wrong learning C ++. With so numerous companies writing software in C ++, many people with C ++ programming experience can get a contract almost anyplace.
But the big fame of C ++ programming means that rivalry is often high. Because 1000s of senior computers still run COBOL softwares that need uninterrupted updating, many coders are finding a lucrative career learning to write and change COBOL programs. With fewer COBOL coders available, companies often have to pay COBOL programmers a greater salary. For those planning to work for themselves, one of the most profitable markets is writing custom databases for other companies.
You can write a unsophisticated software that shows your cat's name on screen without much planning, but for anything harder, you would like to take time to design your software on paper prior to even touch a computer.
Finally, the best programming software to know is the one that enables you to fulfill the task that you want as quickly and easy as possible, whether that language is C ++, BASIC, Java, SQL, or assembly language.