Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #18968 > unrolled thread

Recommended books to learn Java

Started byDan Kalish <kaliuzhkin@verizon.net>
First post2012-09-28 07:52 -0700
Last post2012-10-01 20:47 -0400
Articles 19 — 11 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  Recommended books to learn Java Dan Kalish <kaliuzhkin@verizon.net> - 2012-09-28 07:52 -0700
    Re: Recommended books to learn Java Robert Klemme <shortcutter@googlemail.com> - 2012-09-28 17:31 +0200
      Re: Recommended books to learn Java Lew <lewbloch@gmail.com> - 2012-09-28 12:26 -0700
        Re: Recommended books to learn Java Gene Wirchenko <genew@ocis.net> - 2012-09-28 13:58 -0700
        Re: Recommended books to learn Java Arne Vajhøj <arne@vajhoej.dk> - 2012-09-28 22:56 -0400
          Re: Recommended books to learn Java Lew <lewbloch@gmail.com> - 2012-09-30 17:13 -0700
    Re: Recommended books to learn Java Arne Vajhøj <arne@vajhoej.dk> - 2012-09-28 11:42 -0400
    Re: Recommended books to learn Java Jim Gibson <jimsgibson@gmail.com> - 2012-09-28 09:36 -0700
    Re: Recommended books to learn Java Roedy Green <see_website@mindprod.com.invalid> - 2012-09-28 11:27 -0700
    Re: Recommended books to learn Java glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-09-28 22:32 +0000
      Re: Recommended books to learn Java Arne Vajhøj <arne@vajhoej.dk> - 2012-09-28 23:01 -0400
        Re: Recommended books to learn Java glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-09-29 08:24 +0000
    Re: Recommended books to learn Java Dan Kalish <kaliuzhkin@verizon.net> - 2012-10-01 09:28 -0700
      Re: Recommended books to learn Java "John B. Matthews" <nospam@nospam.invalid> - 2012-10-01 12:59 -0400
        Re: Recommended books to learn Java Arne Vajhøj <arne@vajhoej.dk> - 2012-10-01 20:45 -0400
      Re: Recommended books to learn Java Arne Vajhøj <arne@vajhoej.dk> - 2012-10-01 19:49 -0400
        Re: Recommended books to learn Java David Lamb <dalamb@cs.queensu.ca> - 2012-10-01 22:34 -0400
    Re: Recommended books to learn Java bob smith <bob@coolfone.comze.com> - 2012-10-01 13:14 -0700
      Re: Recommended books to learn Java Arne Vajhøj <arne@vajhoej.dk> - 2012-10-01 20:47 -0400

#18968 — Recommended books to learn Java

FromDan Kalish <kaliuzhkin@verizon.net>
Date2012-09-28 07:52 -0700
SubjectRecommended books to learn Java
Message-ID<dd36ae3e-2f60-4353-b355-6e66e45b11b0@googlegroups.com>
I'm an experienced programmer and would like to learn Java, in order to make myself more marketable.

In particular, during the period 1968-1978 I worked years as a Scientific Progammer, primarily programming in Fortran IV (66?).  Since then, I have occasionally programmed in SNOBOL, PASCAL, BASIC, Plato, Fortran 95 and C++.  Thus, I don't need a beginner's book.

Any recommendations on books for learning Java?

Dan

[toc] | [next] | [standalone]


#18969

FromRobert Klemme <shortcutter@googlemail.com>
Date2012-09-28 17:31 +0200
Message-ID<aclu6oFrnvsU1@mid.individual.net>
In reply to#18968
On 28.09.2012 16:52, Dan Kalish wrote:
> I'm an experienced programmer and would like to learn Java, in order
> to make myself more marketable.
>
> In particular, during the period 1968-1978 I worked years as a
> Scientific Progammer, primarily programming in Fortran IV (66?).
> Since then, I have occasionally programmed in SNOBOL, PASCAL, BASIC,
> Plato, Fortran 95 and C++.  Thus, I don't need a beginner's book.
>
> Any recommendations on books for learning Java?

I'd first look at web resources, for example Sun's Java Tutorials.

http://docs.oracle.com/javase/tutorial/

They cover most basic language features and also most important parts of 
the standard library (collections, IO).  I'd say the language itself is 
fairly easy to grok - getting to know the standard library usually takes 
a bit more time if only because of the volume.

Kind regards

	robert

-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

[toc] | [prev] | [next] | [standalone]


#18978

FromLew <lewbloch@gmail.com>
Date2012-09-28 12:26 -0700
Message-ID<62fc4b6e-35e1-43fb-9c44-a2885d0cc285@googlegroups.com>
In reply to#18969
Robert Klemme wrote:
> Dan Kalish wrote:
>> I'm an experienced programmer and would like to learn Java, in order
>> to make myself more marketable.
> 
>> In particular, during the period 1968-1978 I worked years as a
>> Scientific Progammer, primarily programming in Fortran IV (66?).
>> Since then, I have occasionally programmed in SNOBOL, PASCAL, BASIC,
> Plato, Fortran 95 and C++.  Thus, I don't need a beginner's book.

Yes, you do. Maybe not a beginning programmer's book, but definitely a beginning 
Java programmer's book.

I have over thirteen years' professional experience developing Java and I still 
learn something new every time I read the tutorials.

>> Any recommendations on books for learning Java?

/Effective Java/ by Joshua Bloch is a must-have.

http://www.oracle.com/technetwork/java/effectivejava-136174.html

So is /Java Concurrency  in Practice/ by Brian Goetz, et al.

http://www.javaconcurrencyinpractice.com/

> I'd first look at web resources, for example Sun's Java Tutorials.
> http://docs.oracle.com/javase/tutorial/
> 
> They cover most basic language features and also most important parts of 
> the standard library (collections, IO).  I'd say the language itself is 
> fairly easy to grok - getting to know the standard library usually takes 
> a bit more time if only because of the volume.

But it's well worth the effort.

Start with the java.lang, java.io and java.util packages.

The API docs are a constant source of knowledge and inspiration.
http://docs.oracle.com/javase/7/docs/api/

-- 
Lew

[toc] | [prev] | [next] | [standalone]


#18981

FromGene Wirchenko <genew@ocis.net>
Date2012-09-28 13:58 -0700
Message-ID<qn3c68db8mti4a7r0lps7rb9nau67sh5o2@4ax.com>
In reply to#18978
On Fri, 28 Sep 2012 12:26:59 -0700 (PDT), Lew <lewbloch@gmail.com>
wrote:

>Robert Klemme wrote:
>> Dan Kalish wrote:
>>> I'm an experienced programmer and would like to learn Java, in order
>>> to make myself more marketable.
>> 
>>> In particular, during the period 1968-1978 I worked years as a
>>> Scientific Progammer, primarily programming in Fortran IV (66?).
>>> Since then, I have occasionally programmed in SNOBOL, PASCAL, BASIC,
>> Plato, Fortran 95 and C++.  Thus, I don't need a beginner's book.
>
>Yes, you do. Maybe not a beginning programmer's book, but definitely a beginning 
>Java programmer's book.
>
>I have over thirteen years' professional experience developing Java and I still 
>learn something new every time I read the tutorials.

     I second this.  Little quirks of a language that are at the
beginning level will be assumed to be known at higher levels.  You
could end up blindsiding yourself.  And review is good.

[snip]

Sincerely,

Gene Wirchenko

[toc] | [prev] | [next] | [standalone]


#18984

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-09-28 22:56 -0400
Message-ID<50666369$0$290$14726298@news.sunsite.dk>
In reply to#18978
On 9/28/2012 3:26 PM, Lew wrote:
>> Dan Kalish wrote:
>>> I'm an experienced programmer and would like to learn Java, in order
>>> to make myself more marketable.
>>
>>> In particular, during the period 1968-1978 I worked years as a
>>> Scientific Progammer, primarily programming in Fortran IV (66?).
>>> Since then, I have occasionally programmed in SNOBOL, PASCAL, BASIC,
>> Plato, Fortran 95 and C++.  Thus, I don't need a beginner's book.
>
> Yes, you do. Maybe not a beginning programmer's book, but definitely a beginning
> Java programmer's book.

And that is an important distinction.

There is a huge difference between a beginners book in Java that spend
hundreds of pages teaching programming and OOP and a beginners book in
Java that assumes the readers knows about those.

Wrox typical has two books for each language. Beginning Xxxx that really
starts from scratch and Professional Xxxx that assumes you know the
basics and focus in the Xxxx specifics.

I don't know Professional Java, but their Professional C# is pretty
good for people that knows Java and/or C++ and need to learn C#.

>>> Any recommendations on books for learning Java?
>
> /Effective Java/ by Joshua Bloch is a must-have.
>
> http://www.oracle.com/technetwork/java/effectivejava-136174.html
>
> So is /Java Concurrency  in Practice/ by Brian Goetz, et al.
>
> http://www.javaconcurrencyinpractice.com/

I would put Bloch in phase 2 and Goetz in phase 3 of the
learning process.

Arne

[toc] | [prev] | [next] | [standalone]


#19002

FromLew <lewbloch@gmail.com>
Date2012-09-30 17:13 -0700
Message-ID<ccd42e52-aa16-4cf8-b72c-84ec2616e1a9@googlegroups.com>
In reply to#18984
Arne Vajhøj wrote:
> Lew wrote:
>>> Dan Kalish wrote:
>>>> Any recommendations on books for learning Java?
> 
>> /Effective Java/ by Joshua Bloch is a must-have.
>> http://www.oracle.com/technetwork/java/effectivejava-136174.html
>>
>> So is /Java Concurrency  in Practice/ by Brian Goetz, et al.
>> http://www.javaconcurrencyinpractice.com/
> 
> I would put Bloch in phase 2 and Goetz in phase 3 of the
> learning process.

What you say makes sense, but getting Bloch early has an advantage.

I suggest getting Bloch right away, because he teaches idioms and 
other things that will keep you out of trouble. It is better to learn 
good habits from the start rather than unlearn bad ones later.

This is not to say you should attempt to learn the Java language 
itself from /Effective Java/. You should use it in conjunction with 
the tutorials and other sources to learn to use Java effectively.

-- 
Lew

[toc] | [prev] | [next] | [standalone]


#18970

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-09-28 11:42 -0400
Message-ID<5065c551$0$286$14726298@news.sunsite.dk>
In reply to#18968
On 9/28/2012 10:52 AM, Dan Kalish wrote:
> I'm an experienced programmer and would like to learn Java, in order
> to make myself more marketable.
>
> In particular, during the period 1968-1978 I worked years as a
> Scientific Progammer, primarily programming in Fortran IV (66?).
> Since then, I have occasionally programmed in SNOBOL, PASCAL, BASIC,
> Plato, Fortran 95 and C++.  Thus, I don't need a beginner's book.

Wrox's "Professional Xxxx" is often good for developers that know
other languages.

You could try read reviews of "Professional Java JDK 6 Edition"
(it looks as if the 7 edition is not out yet) and see if it sounds
as a book for you.

There are also a large number of resources available on the
internet.

Arne

[toc] | [prev] | [next] | [standalone]


#18971

FromJim Gibson <jimsgibson@gmail.com>
Date2012-09-28 09:36 -0700
Message-ID<280920120936542953%jimsgibson@gmail.com>
In reply to#18968
In article <dd36ae3e-2f60-4353-b355-6e66e45b11b0@googlegroups.com>, Dan
Kalish <kaliuzhkin@verizon.net> wrote:

> I'm an experienced programmer and would like to learn Java, in order to make
> myself more marketable.
> 
> In particular, during the period 1968-1978 I worked years as a Scientific
> Progammer, primarily programming in Fortran IV (66?).  Since then, I have
> occasionally programmed in SNOBOL, PASCAL, BASIC, Plato, Fortran 95 and C++. 
> Thus, I don't need a beginner's book.
> 
> Any recommendations on books for learning Java?

This is my favorite Java book:

<http://shop.oreilly.com/product/9780596008734.do>

backed up by the online API references:

<http://docs.oracle.com/javase/6/docs/api/>

<http://docs.oracle.com/javase/7/docs/api/>

-- 
Jim Gibson

[toc] | [prev] | [next] | [standalone]


#18973

FromRoedy Green <see_website@mindprod.com.invalid>
Date2012-09-28 11:27 -0700
Message-ID<npqb68l64qhvsgs46stnr8nru37s3kf6el@4ax.com>
In reply to#18968
On Fri, 28 Sep 2012 07:52:12 -0700 (PDT), Dan Kalish
<kaliuzhkin@verizon.net> wrote, quoted or indirectly quoted someone
who said :

>Any recommendations on books for learning Java?

see http://mindprod.com/jgloss/gettingstarted.html

I would see if someone has written a Java for C++ programmers.
They look superficially very alike, but assuming they are the same
under the covers really gets in the way.

SNOBOL, I have not seen that in almost 50 years.
-- 
Roedy Green Canadian Mind Products http://mindprod.com
The iPhone 5 is a low end Rolex. 

[toc] | [prev] | [next] | [standalone]


#18983

Fromglen herrmannsfeldt <gah@ugcs.caltech.edu>
Date2012-09-28 22:32 +0000
Message-ID<k458ic$u38$1@speranza.aioe.org>
In reply to#18968
Dan Kalish <kaliuzhkin@verizon.net> wrote:

> I'm an experienced programmer and would like to learn Java, 
> in order to make myself more marketable.

> In particular, during the period 1968-1978 I worked years as 
> a Scientific Progammer, primarily programming in Fortran IV (66?).  
> Since then, I have occasionally programmed in SNOBOL, PASCAL, 
> BASIC, Plato, Fortran 95 and C++.  
> Thus, I don't need a beginner's book.

You should have nearby the official Java language reference manual. 

That, and some sample programs to work on should be enough,
though your Java will likely look like on of the other languages.

I more elementary book would explain many things that Java
programmers are assumed to know, but that aren't in the LRM.

You might look at: http://webster.cs.washington.edu:8080/practiceit/

I have not seen anything like it for any other language.

-- glen

[toc] | [prev] | [next] | [standalone]


#18985

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-09-28 23:01 -0400
Message-ID<5066647b$0$287$14726298@news.sunsite.dk>
In reply to#18983
On 9/28/2012 6:32 PM, glen herrmannsfeldt wrote:
> Dan Kalish <kaliuzhkin@verizon.net> wrote:
>
>> I'm an experienced programmer and would like to learn Java,
>> in order to make myself more marketable.
>
>> In particular, during the period 1968-1978 I worked years as
>> a Scientific Progammer, primarily programming in Fortran IV (66?).
>> Since then, I have occasionally programmed in SNOBOL, PASCAL,
>> BASIC, Plato, Fortran 95 and C++.
>> Thus, I don't need a beginner's book.
>
> You should have nearby the official Java language reference manual.
>
> That, and some sample programs to work on should be enough,
> though your Java will likely look like on of the other languages.
>
> I more elementary book would explain many things that Java
> programmers are assumed to know, but that aren't in the LRM.

I assume you mean JLS or?

A big portion of people will not learn efficiently from JLS and
need something that start simpler and build up in knowledge.

Arne

[toc] | [prev] | [next] | [standalone]


#18988

Fromglen herrmannsfeldt <gah@ugcs.caltech.edu>
Date2012-09-29 08:24 +0000
Message-ID<k46b8r$v1r$1@speranza.aioe.org>
In reply to#18985
Arne Vajhøj <arne@vajhoej.dk> wrote:
>> Dan Kalish <kaliuzhkin@verizon.net> wrote:

>>> I'm an experienced programmer and would like to learn Java,
>>> in order to make myself more marketable.

>>> In particular, during the period 1968-1978 I worked years as
>>> a Scientific Progammer, primarily programming in Fortran IV (66?).
>>> Since then, I have occasionally programmed in SNOBOL, PASCAL,
>>> BASIC, Plato, Fortran 95 and C++.
>>> Thus, I don't need a beginner's book.

(snip, then I wrote)
>> You should have nearby the official Java language reference manual.

>> That, and some sample programs to work on should be enough,
>> though your Java will likely look like on of the other languages.

>> I more elementary book would explain many things that Java
>> programmers are assumed to know, but that aren't in the LRM.

> I assume you mean JLS or?

Yeah, that one.

> A big portion of people will not learn efficiently from JLS and
> need something that start simpler and build up in knowledge.

That is true, but the question is someone who has been programming
for years in six other languages.

But it also depends on what that person wants to do in Java.

To do things that previously would have been done in one of
the other languages, all one needs to know is the Java way
to say the same thing.

But yes, there are some things that aren't in the JLS that
one might want to know. If one wants to write applets, then
JLS is probably not the best choice.

-- glen

[toc] | [prev] | [next] | [standalone]


#19013

FromDan Kalish <kaliuzhkin@verizon.net>
Date2012-10-01 09:28 -0700
Message-ID<fa9ced0b-debb-4f8a-80af-da23094bc39d@googlegroups.com>
In reply to#18968
Thank you, everyone, for your ideas.  When I learned Pascal, I only had one book, the official version.  Unfortunately, all but one compiler, the IBM on 5 1/2" floppies, didn't adhere to the standard.  When I set out to learn C++ (learning is still in progress) and Fortran 95, I had 5 books each.

Many of the books start with a general overview of computers and programming languages.  I don't need that.  Many others go into "language lite" mode, in which they only refer to some features which can be put together to make a working program.  I want a little more than that - all the features but with recommendations of which ones are better used than others.  E.g., the website says Ivor Horton's Beginning Java, Java 7 Edition (Wrox) "Introduces you to a host of new features for both novices and experienced programmers."  That sounds good.

What do I want to do with it?  I don't know.  All I know is that my first career was as a programmer, I'd like to get back into it, and knowing Java is a useful credential.  I suppose I'd like to use it for some tasks that can be done on a typical workstation.

What languages are taught in beginning Computer Science courses?  There's no consensus on that but Java, C++ and Python are candidates.

SNOBOL is fun.  Did you know the Library of Congress uses SNOBOL?  At least they did in around 1998.

Dan

[toc] | [prev] | [next] | [standalone]


#19015

From"John B. Matthews" <nospam@nospam.invalid>
Date2012-10-01 12:59 -0400
Message-ID<nospam-9BC4EA.12592401102012@news.aioe.org>
In reply to#19013
In article <fa9ced0b-debb-4f8a-80af-da23094bc39d@googlegroups.com>,
 Dan Kalish <kaliuzhkin@verizon.net> wrote:

> When I learned Pascal, I only had one book, the official version.
> [...]
> SNOBOL is fun.  Did you know the Library of Congress uses SNOBOL?  At 
> least they did in around 1998.

You may also want to look at Ada, which descends in part from Pascal. 
GNAT, a popular reference implementation, includes a (non-Ada-standard) 
SPITBOL extensions library:

<http://gcc.gnu.org/onlinedocs/gcc-4.6.3/gnat_rm/>

Followup-To: comp.lang.ada

-- 
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>

[toc] | [prev] | [next] | [standalone]


#19029

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-10-01 20:45 -0400
Message-ID<506a3922$0$295$14726298@news.sunsite.dk>
In reply to#19015
On 10/1/2012 12:59 PM, John B. Matthews wrote:
> In article <fa9ced0b-debb-4f8a-80af-da23094bc39d@googlegroups.com>,
>   Dan Kalish <kaliuzhkin@verizon.net> wrote:
>> When I learned Pascal, I only had one book, the official version.
>> [...]
>> SNOBOL is fun.  Did you know the Library of Congress uses SNOBOL?  At
>> least they did in around 1998.
>
> You may also want to look at Ada, which descends in part from Pascal.
> GNAT, a popular reference implementation, includes a (non-Ada-standard)
> SPITBOL extensions library:

And actually GNAT has a flavor JGNAT that outputs Java
byte code for the JVM.

I don't think it ever was popular though.

Arne

[toc] | [prev] | [next] | [standalone]


#19028

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-10-01 19:49 -0400
Message-ID<506a2c28$0$289$14726298@news.sunsite.dk>
In reply to#19013
On 10/1/2012 12:28 PM, Dan Kalish wrote:
> Thank you, everyone, for your ideas.  When I learned Pascal, I only
> had one book, the official version.  Unfortunately, all but one
> compiler, the IBM on 5 1/2" floppies, didn't adhere to the standard.
> When I set out to learn C++ (learning is still in progress) and
> Fortran 95, I had 5 books each.
>
> Many of the books start with a general overview of computers and
> programming languages.  I don't need that.  Many others go into
> "language lite" mode, in which they only refer to some features which
> can be put together to make a working program.  I want a little more
> than that - all the features but with recommendations of which ones
> are better used than others.  E.g., the website says Ivor Horton's
> Beginning Java, Java 7 Edition (Wrox) "Introduces you to a host of
> new features for both novices and experienced programmers."  That
> sounds good.

Maybe.

I always thought his book was starting completely from scratch and
not going that far.

> What languages are taught in beginning Computer Science courses?
> There's no consensus on that but Java, C++ and Python are
> candidates.

I would expect Java and C# to be the most used languages
in CS courses today.

Arne

[toc] | [prev] | [next] | [standalone]


#19032

FromDavid Lamb <dalamb@cs.queensu.ca>
Date2012-10-01 22:34 -0400
Message-ID<k4djs6$mt2$1@dont-email.me>
In reply to#19028
On 01/10/2012 7:49 PM, Arne Vajhøj wrote:
> On 10/1/2012 12:28 PM, Dan Kalish wrote:
>> What languages are taught in beginning Computer Science courses?
>> There's no consensus on that but Java, C++ and Python are
>> candidates.
>
> I would expect Java and C# to be the most used languages
> in CS courses today.

We (Queen's U, Kingston, Ontario) start with 1 semester of Python then 
one of Java and generally use Java after that (with C in one semester in 
2nd year). I've heard rumours that Python has become common at many 
universities for a first language, but don't know of any surveys that 
would support that.

[toc] | [prev] | [next] | [standalone]


#19019

Frombob smith <bob@coolfone.comze.com>
Date2012-10-01 13:14 -0700
Message-ID<a8fa94b6-2de5-49f9-9607-cec767b7d4af@googlegroups.com>
In reply to#18968
On Friday, September 28, 2012 9:52:12 AM UTC-5, Dan Kalish wrote:
> I'm an experienced programmer and would like to learn Java, in order to make myself more marketable.
> 
> 
> 
> In particular, during the period 1968-1978 I worked years as a Scientific Progammer, primarily programming in Fortran IV (66?).  Since then, I have occasionally programmed in SNOBOL, PASCAL, BASIC, Plato, Fortran 95 and C++.  Thus, I don't need a beginner's book.
> 
> 
> 
> Any recommendations on books for learning Java?
> 
> 
> 
> Dan

I'd go with this:

Java™ for Programmers (2nd Edition) (Deitel Developer Series) by Paul J. Deitel and Harvey M. Deitel (Apr 18, 2011)


The Deitels usually do a good job.

[toc] | [prev] | [next] | [standalone]


#19030

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-10-01 20:47 -0400
Message-ID<506a39b4$0$295$14726298@news.sunsite.dk>
In reply to#19019
On 10/1/2012 4:14 PM, bob smith wrote:
> On Friday, September 28, 2012 9:52:12 AM UTC-5, Dan Kalish wrote:
>> Any recommendations on books for learning Java?
>
> I'd go with this:
>
> Java™ for Programmers (2nd Edition) (Deitel Developer Series) by Paul
> J. Deitel and Harvey M. Deitel (Apr 18, 2011)
>
> The Deitels usually do a good job.

Many years ago I bought their "Java Web Services for
Experienced Programmers". I was not impressed - apparently
their definition of "experienced" is way different from mine.

Arne


[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web