When you want to learn a new programming language there's usually a reason... you need to do something desperately on a project/product which forces you to use something different, your line manager has asked you to take new responsibilities, you want to build something cool, you want to pivot into a new role, whatever it is.. you'll want to learn that language in the quickest and most pain free way possible.
I'm a big advocate of developers learning the theory and the more conceptual side of programming and by that I mean understanding higher-level concepts, like the benefits of BDD, or, TDD, how to plan or estimate projects, ways of designing software to make it more future-proof, refactoring techniques etc.. when you want to learn these more theoretical concepts, then buying a book and reading it cover-to-cover is a great approach. If you're wondering what type of books I'm referring to, some example of these types of books could include the mythical man month, the Phoenix project, head-first-design patterns, dependency injection.net etc..
Software Architect, Programmer and Technologist Jon Jones is founder and CEO of London-based tech firm Digital Prompt. He has been working in the field for nearly a decade, specializing in new technologies and technical solution research in the web business. A passionate blogger by heart , speaker & consultant from England.. always on the hunt for the next challenge