I have dabbled in server side Programming Languages here and there, but I would now like to thoroughly learn a new language. Before I do that,what would be a good book to read?
You need to tell us which language you want to learn. Otherwise it's like saying "I want to learn sports" -- amateur curling and professional football are very different sports. Windows programmers, Mac/iPhone programmers, server-side programmers, Javascript programmers, enterprise Java programmers, and Linux kernel hackers need to focus on different things.<p>In the absence of details, all we can recommend is basic mental conditioning for programmers. A standard piece of advice is "SICP". Another is "K&R". Eric Raymond's essay on "How to Become a Hacker" is a little dated and a <i>little</i> opinionated, but worth reading. "Learn emacs" (or, to be fair to vi and Textmate, "learn a decent text editor") is a piece of advice that I'm glad I followed.<p>You cannot go wrong by learning the basics of databases and web application architecture. The architecture of web apps is more important than the choice of server-side language. If it weren't so dated I'd recommend <i>Philip and Alex's Guide to Web Publishing</i>. For a more up-to-date version of that, you might try the required texts for this MIT course: <a href="http://philip.greenspun.com/teaching/one-term-web" rel="nofollow">http://philip.greenspun.com/teaching/one-term-web</a>
Try "<i>The Practice of Programming</i>" by Kernighan & Pike (you can download it here: <a href="http://truly-free.org/e/n/Kernighan,%20B.W.%20&%20Pike,%20Rob%20-%20The%20Practice%20of%20Programming.zip" rel="nofollow">http://truly-free.org/e/n/Kernighan,%20B.W.%20&%20Pike,%...</a>).
spend $12 at Amazon on a copy of Charles Petzold's book, Code: The Hidden Language of Computer Hardware and Software.<p>It will all begin to make sense as you will have a thorough understanding of what is going on at the lowest level. You will never regret acquiring that knowledge.