Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Beginning book on Java for the timid

 
Norman Eisenstadt
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello: Despite being a reasonably bright individual and physician,I have a fear of learning computer programming. I believe this skill could benefit my practice and the care I administer. Could you recommend a book for the faint of heart yet a book for an adult. Would the book Java 7: A Beginner's Tutorial be among the appropriate choices?
Thanks,
Norm Eisenstadt
 
Campbell Ritchie
Sheriff
Pie
Posts: 49789
69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you absolutely no programming experience at all?
 
Campbell Ritchie
Sheriff
Pie
Posts: 49789
69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
. . . and welcome to the Ranch
 
Mohamed Sanaulla
Saloon Keeper
Posts: 3159
33
Google App Engine Java Ruby
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Few of my suggestions:
If you are really new to programming- picking any beginners books would be one option. But just before that a basic understanding of the computer systems- in terms of what memory is, how the programs are executed, what's the role of operating systems? and some related concepts you should be familiar with.

But just to caution you that not all beginners books are interesting to read. I might be (always) tempted to suggest you a book from the Head First series and I go ahead and suggest you the book: Head First Programming. I haven't read this book myself, but being a fan of Head First series this book should be helpful for a beginner. The book covers Python as the programming language to teach you the concepts. These books explain the concepts visually. You might want to read a sample chapter from the book and then decide.

I would let the author comment on the applicability of the Java 7: Beginner's Tutorial book.

Regarding learning a programming language- it would involve learning the syntax and few basic constructs used in the language like the conditional statements, looping constructs and so on. So these would be simple to understand and get started. But the important aspect would be to learn how the program works and why it works. You can do wonders by writing computer program but being unaware of how it achieves that would not be of much help.

PS: this would be very likely and very much applicable if your answer to Campbell's question is "YES". Otherwise also it will be like a reinforcer of your existing thoughts
 
Norman Eisenstadt
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks. I have zero programming experience. (I am experience with Linux and,Windows if that counts for something,though I doubt it). The problem with some tutorials was that they never explained some very elementary aspects: why they using punctuation,etc. You feel lost from the beginning.
Thanks,
Norm
 
Norman Eisenstadt
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sorry about the horrible typos!
Norm
 
Winston Gutkowski
Bartender
Pie
Posts: 10504
64
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Norman Eisenstadt wrote:Thanks. I have zero programming experience. (I am experience with Linux and,Windows if that counts for something,though I doubt it). The problem with some tutorials was that they never explained some very elementary aspects: why they using punctuation,etc. You feel lost from the beginning...

Unfortunately, one thing that almost all languages require is precision (although some more than others). Java, for example is case-sensitive, so 'List' is not the same as 'list' - EVER.

One possibility might be to try a scripting language first: You say you've got some experience with Linux; have you tried writing any bash scripts? That might at least let you into the world of automation gently, and teach you how to 'write your own stuff' without having to worry about all the business of compilation and what-have-you.

If you are genuinely interested in Java, be prepared: it is an industrial-strength language, with several foibles and a lot to know. You need to be prepared to read a lot, do a lot, and spend many nights banging your head against the terminal in search of a solution that is just out of reach (although these days these spongy flat screens don't leave the indents the old CRTs did). And it doesn't end. 35 years on, I still get a bloody forehead on occasion.

My suggestion: THIS is one of my favourite webpages. Read it, digest it; and if you still think you want to learn programming in general, or Java in particular, pop back and ask more.

BTW, you certainly have the surname to be a programmer. Either that or a film director.

Winston
 
Mohamed Sanaulla
Saloon Keeper
Posts: 3159
33
Google App Engine Java Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Winston Gutkowski wrote:
...
My suggestion: THIS is one of my favourite webpages. Read it, digest it; and if you still think you want to learn programming in general, or Java in particular, pop back and ask more.
...


Really like that article. Its for those who run to get hold of Teach yourself something in 24hours and end up reading that book for months to learn
 
Norman Eisenstadt
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I deeply appreciate the page you referred me to. There are no easy ways to achieve knowledge,be it dealing with information science and computer languages or cardiology,to which I have devoted my life .All meaningful endeavors require a life-time of continued learning. It is just that I have taught myself foreign languages
on my own and I have found French and Spanish, at least at the beginning,to be a lot easier to start the process of learning than Java. Perhaps I will start with Python and subsequently precede to Java.I realize that this is commonly recommended but I know that at the local quality universities the intro course to computers teaches Java. By the way, being meticulousness to a fault is a necessary trait for a good cardiologist.( I have not done my own typing since college many moons ago.)
Sincerely,
Norm Eisenstadt
 
Mohamed Sanaulla
Saloon Keeper
Posts: 3159
33
Google App Engine Java Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bharat Kumar K,
Your post was moved to a new topic.
 
Greg Reeder
Ranch Hand
Posts: 99
Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A major part in beginning java, is learning the philosophy behind it, namely Object Oriented Programing. It took me a few months to get it. I started out with C#, but later moved on to Java a few months later. It finally clicked after reading: Thinking in Java:The definitive Introduction to Object Oriented Programming by Bruce Eckel. I feel that he, rather than teaching you pure java, he teaches you the philosophy behind what you are doing and why thereby teaching you java better than any other book I've read. Other than that, I Strongly recommend not just reading the book, but actively rewritting the program examples that are in the book. Furthermore, downloading the java documentation off the oracle website is a bit help.

Good luck!
 
Paul Thurmond
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Greg Reeder wrote:A major part in beginning java, is learning the philosophy behind it, namely Object Oriented Programing. It took me a few months to get it. I started out with C#, but later moved on to Java a few months later. It finally clicked after reading: Thinking in Java:The definitive Introduction to Object Oriented Programming by Bruce Eckel. I feel that he, rather than teaching you pure java, he teaches you the philosophy behind what you are doing and why thereby teaching you java better than any other book I've read. Other than that, I Strongly recommend not just reading the book, but actively rewritting the program examples that are in the book. Furthermore, downloading the java documentation off the oracle website is a bit help.

Good luck!


I am new to object-oriented programming, and right now I'm halfway through Eckel's book. I'd like to second Greg's recommendation. Knowing the "why" is helping me understand the "how".
 
Greg Reeder
Ranch Hand
Posts: 99
Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
wow, I must really start proof reading what I write!! That was horribly written. :-)
 
Winston Gutkowski
Bartender
Pie
Posts: 10504
64
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Greg Reeder wrote:A major part in beginning java, is learning the philosophy behind it, namely Object Oriented Programing.

I'm not so sure about that (although I'm all in favour of reading books).

It's old farts like me that seem to need to "learn" Object-Orientation (and it took me nearly 6 years until my "Eureka" moment, since which I haven't looked back); the anecdotal evidence I have from my friends is that their kids seem to find it quite natural. What I worry more about is that a lot of those kids may be being taught by people like me, and having a lot of procedural rubbish rammed down their throats before they can get on to the 'good stuff'. One example of that is that a lot of beginners on these forums seem to know how to write main() methods, but not how to put classes together.

Don't get me wrong; all knowledge is good, and knowing how to write good code isn't a necessary product of understanding OO; but it'd be nice to find a book that gets onto interactive objects in Chapter 2 (assuming that Chapter 1 is HelloWorld and telling you about primitives and operators).

My 2 cents FWIW.

Winston
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My recommendation is Head First Java, along with plenty of visits to this forum to help you along the way.

Personally, I like the idea of using two (or more) books with contrasting approaches. That way, when something doesn't make sense in your primary resource, you might be able to get an alternative perspective from your second. For that, you might consider Thinking in Java by Bruce Eckel. By itself, it's a daunting introduction for beginners, but if you're able to devote the time and effort, it will have you thinking in Java.
 
Norman Eisenstadt
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I appreciate your discussion especially the later part of it. I have to admit I detected a whiff of snobbishness or condescension early in the discussion when it was suggested that "python might be more appropriate for you". I will admit the manner in which the advice was rendered hurt my feelings. I asked people who had no idea of my reaction to read the comments and some felt the same as I did that it was a not subtle cut down.I was going to start Python,but as they say in Yiddish AF Tsulokhis (just for spite)I'll be studying Java. You have motivated me not only to learn Java but to fully master it,if possible. Perhaps that was your plan all along.
However;that is all water under the bridge.I have purchased a few of the books for absolute beginners you list:
Objects First With Java and Java 2: A Beginners Guide.
(Do you have any strong opinions about the book offered free on line "Java: How to think like a computer scientist" ?
With only the best of feelings
Norman Eisenstadt
 
Campbell Ritchie
Sheriff
Pie
Posts: 49789
69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Norman Eisenstadt wrote: . . . Do you have any strong opinions about the book offered free on line "Java: How to think like a computer scientist" ? . . .
Yes. I have. I don’t like it.
 
Thomas Kennedy
Ranch Hand
Posts: 137
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm going to echo the plug for Head First Java. I've read this and many other Head First books and they were all good.

As someone who is alive today becuase of cardiology and heart surgery I want to say Thank You. Many people here probably think they are immune to heart trouble -- too young, too healthy, too whatever. They're wrong. So here's a bit of advice to them from one who knows: no matter how healthy you think you are, check your blood pressure several times a year at least, and if it creeps up on you or you have palpitations see a doctor. And if you do wind up having open heart surgery, stay off JavaRanch until you are really, truly mentally fit (at least five weeks) and recovered or people will think you are a babbling idiot.

Another book I recommend, and one I cannot say enough about, is Bates & Sierra's SCJP certification guide. (OK, it's OCP or something now.) This is not really intended as a beginner's book, but I still think it fits that role admirably for a determined reader who has already got the Java environment set up (it assumes you have that bit squared away IIRC). It's like the Head First book (highly readable, nicely paced, judicious use of helpful graphics et cet), just more detailed. If you want to know and *understand* the basics you cannot go wrong here.

I believe the director Winston refers to was Sergei Eisenstein. Another genius murdered by Stalin.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic