Path: csiph.com!usenet.pasdenom.info!gegeweb.org!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: markspace <-@.> Newsgroups: comp.lang.java.programmer Subject: Re: Learning Java Date: Tue, 17 Apr 2012 14:33:08 -0700 Organization: A noiseless patient Spider Lines: 42 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 17 Apr 2012 21:33:10 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="QNqT5u6Ryx/DB+LpnoCWdQ"; logging-data="23224"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19EMM3KYUaMZP4yNM/5Z/LEzxdMvXP5n1U=" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120327 Thunderbird/11.0.1 In-Reply-To: Cancel-Lock: sha1:kgEAWhX79iV1TH27mmPg0T3B4Js= Xref: csiph.com comp.lang.java.programmer:13617 On 4/17/2012 2:03 PM, Steve Graham wrote: > I've been a programmer for 3 decades working in mostly procedural > languages, although I have done some work with a couple of > object-oriented ones. > > Which book would you recommend that I read to learn Java? Obviously, I > don't want to read a beginning programming book, nor do I want to study > one which presupposes I know something about Java or a lot about OO > concepts. First, how is your object oriented programming skills? Java really only provides OO options, so you're going to need to know OO decently. To get started with Java itself, I recommend you start with the Oracle tutorial. It's free and does a decent job. Second, there are quite a few books. I like O'Reilly's Learning Java. It starts as a basic introduction, but there's enough other information in the book that will last you quite a while as a reference. It also has one of the better explanations of Java's generics; that alone is worth the price of the book imo. There's also Effective Java, by Joshua Bloch. And Java Concurrency in Practice by Brian Goetz for a well rounded treatment of multi-threading in Java (very important these days). I also took a programming course via javapassion.com. It's a pay-for site now. But the course I took would have been well worth the price they are asking now. If you're a busy professional who wants to come up to speed more quickly, I recommend it as faster than trying to self-teach. Beyond that... well my library is one whole bookcase of software engineering best practice and methodologies, Java and otherwise. I have several boxes in storage of books I didn't care for. It's a broad field, and important to keep up with constantly.