A general question "which programming language I must choose !?"
this is a question that can say everyone questioned for become a programmer .
well, there are 2 factors that must be considered as well, first is interest and second is the purpose .
the most important part is first section, interest .
when you are interested in a programming language then you will try as you can for learning and working with it and if you don't interested in your programming language that you work on it, it's a bit crucial ...
the second factor is your purpose, all the works in the world have a purpose that is in the background of it .
simply ask this question of yourself, " what thing I want from a programming language !? ", when you ask it of yourself and answer it truthful then you got the purpose .
for example a person wants a Programming language for only database programming and writing automation softwares, then the best choice is Delphi .
another person wants to write System programs, the the best is C++, another one wants to write applications that can be shown in the web, ASP.net / PHP is one of these choice and etc ...
every programming language have Good parts and bad parts, and none of them is unqualified .
you can choose the language that you want with considering and investigating these 2 factors,
and in my opinion here is a Good selection list :
DataBase Programmming : Delphi with .net support .
Network Programming : C#.net
Web Programming : ASP.Net / PHP
simple applications like simple automation softwares : Visual basic with .Net support or VB.Net
Secure web applications : Java
System Programs : C++
Ring0 and Driver Programming : Pure C
there's Good resource about the list that I mentioned out there,
one of the best place you can find great books for free is Flazx and PdfChm .
try that now, nJoy ;)