this book is very good and simple to follow.
BROADLY speaking, the esitmate to become an expert at anything is 10,000 hours. so if you spend 3 hours a day, you'd need about 9 years.
Of course, everyone learns differently, and what "expert" means to you is different that what it means to everyone else...
Md Riyad wrote:Take my salam at first. I am a new programmer. I have a question. Can i be expert in Java without knowin c and c++?
You sure can! Although I do recommend you dive into a bit of c to know what goes behind the scenes of java like with the allocation/freeing of memory for example.
Campbell Ritchie wrote:Welcome to the Ranch Richard Mccaff
I would disagree I am afraid; knowing about memory allocation does not help with a language with an automatic heap.
I agree that you don't need to know about memory allocation when dealing with a language with a garbage collector. What I meant was more in the sense of destroying that wall of abstraction. Why do they force you to take Operating Systems to get a CS degree? Well, to know the inner workings of deep down below. That's a bit extreme but point being, knowing something that you don't necessarily need to know to do your job but may be beneficial to you just makes you a more well-rounded programmer.
EDIT: I just noticed that you've made almost 40k posts. HOLY SMOKES. dam. very very nice.
My first suggestions would be to uninstall NetBeans and Eclipse. Learn how to set up your environment and how java looks for and loads files. You *will* need to know this information and the IDE's hide that implementation from you, and they don't always do the setup correctly.
And it takes as long as it takes to become an expert. I believe it was Sun Tzu (it could have been Musashi) who made the comment that it takes 10,000 hours to learn the sword.
Robert D. Smith wrote: . . . My first suggestions would be to uninstall NetBeans and Eclipse. . . .
That agrees with what Peter Norvig says here.
it takes 10,000 hours to learn the sword.