it all depend on ur interest.........thers no generic programming language........choose a field ur interest and start learning a language
Internet Programming-Java,ASP.NET,Python,PHP,Javascript,etc
Embedded System-ASM,C(Very common even in linux(gcc)),C++,BASIC(very old),etc
GUI Programming-C,Visual C++,ETC,.NET
Railways and bank systems,etc-UNIX
so it all depend on interest on field which we wish to go
and ofcourse Algorithm,Logic Reasoning,Software Engineering,Programming practices are required...but u can develop some of them while u get xperience especially programming practices