Is there a canonical book for learning Java as an experienced developer?
I am looking for book to get up to speed with (start with) a Java language. I am experienced (more than 15 years) C# and C++ programmer with a bit of Python, so I don't need a book which starts with a programming concepts for a beginner. In fact I think I need a "Java language specification" sort of book.
I checked the answers to questions similar to mine and found that there two books which is being recommended most: "Effective Java" and "Sun Certified Java Programmer".
After a quick look at the "Effective Java" I realised it should not be a book to start with, it is a good book (I read all books in Effective C++, STL series and liked them but they are more "good practices" books, rather than a book for a beginners)
"Sun Certified Java Programmer" looks closer to what I am after - but goes too slow for me.
So I did some more search and found these two books:
- The Java(TM) Language Specification by Gosling himself
- Java™ Programming Language, The (4th Edition) by Ken Arnold
I gather the first one a little bit dated and the second one is the best Java Language Reference books up to date, but I am not sure - as I am not a Java person to make such judgements.
After reading the language reference book I will start learning the basic libraries / packages / namespaces (collections, algorithms, IO, etc) and then something about UI architecture. But that will come later.
Question: - which Java Language reference book for an experienced programmer you can recomend ? and why?