I have work with C++ (since the begining) Easy Language, Java and C#. IMO .net languages, C++, VB and C# including multi thread capibilities are essential for sofisticated trading systems. Of the .net languages, I recomend and use C#.
The best book (and the only book you would need is Murach's...