File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes How long does it take? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "How long does it take?" Watch "How long does it take?" New topic

How long does it take?

Jeremy Parsons
Ranch Hand

Joined: Apr 21, 2006
Posts: 74
I have been studying Java for around 5-6 months or so, and I probably understand 50% of everything I have studies so far, but when I sit down to just write a program, I can't ever seem to get something going..

How long does it take to understand Java pretty well, and be able to make a program from scratch?
william macleod

Joined: Sep 28, 2006
Posts: 4
Ya know, I was thinking the very same thing today. I was finishing up another assignment and starting a new one and totally getting lost again. I think I understand what is required, but I still cant, yet, just sit down and write a simple program without digging in the docs and books and forums and google to put it all together. It is a lot to remember. I find myself plugging ahead anyway writing program assignments like following recipies. The longer I do this the more I see my lack of true understanding of the conceptual stuff.

I 've been at it just a short time myself, about 5 weeks. I really love learning Java. It is the most frustrating, depressing, euphoric, fun, rage inducing thing I have ever been involved with.

PS. I dont think the need to consult forums and reference material will ever not be there.

Robert Hill
Ranch Hand

Joined: Feb 24, 2006
Posts: 94
It sounds to me that your issue is not with java, but with programming in general.

Learning how to code and learning a language are independant tasks in many ways. The best way is to write many small programs. Learning how to start takes practice.

If you have a book do the problems at the end of the chapter. Make sure you understand what your program is going to do, and then work up a general algorithm and structure for your program. If you don't have a book, this site has program "assignments" you can work at, or you can go to university websites, and go to the CS department and look up assignments for beginning level classes.

If you can get specific with a particular program you might be able to get some pointers.

But the best thing to do is to write tons of code. It really doesn't matter if you write real world programs, and I think that doing so at the beginning is counterproductive. Just write lots and lots of silly little programs.
Jeremy Parsons
Ranch Hand

Joined: Apr 21, 2006
Posts: 74
How long have you been doing it Robert?.. And at what point did things seem to kinda fall into place with you?
Ken Blair
Ranch Hand

Joined: Jul 15, 2003
Posts: 1078
Do you have trouble with the concepts or with finding the specific method and class to use? Getting familiar with the libraries can be one of the more annoying aspects in working with a language. If you understand the concepts and can understand in your mind what needs to be done and how, but just have difficulty in finding the classes you need to do the job, then experience is going to be the biggest help. If you're struggling with the fundamental concepts then you have a much tougher road ahead.
sven studde
Ranch Hand

Joined: Sep 26, 2006
Posts: 148
How long does it take to understand Java pretty well, and be able to make a program from scratch?

"Understanding something well" is a relative term. Computer programming has so many levels of understanding that the first part of your question is unfortunately almost entirely meaningless.

After your first two weeks of studying a computer programming language, even though you will only know a few rules of the language, you should know enough to make a program from scratch. A "Hello World!" program is an example. In addition, you should be writing programs from scratch every week, if not every day, as part of your course of study. So, when you say you've been studying Java for 6 months, and you are wondering when you'll be able to write a program from scratch, it's a little bit baffling.

Learning computer programming involves studying the basic rules of the language, and then applying those rules to solve a problem. At first, you concentrate on simple problems, so that you can learn the syntax of the language and acquire a basic understanding of how the rudiments of the language work. An example would be using a for-loop to display the numbers 1-10. Or, using a for-loop to store the numbers 1-10 in an array, and then using a second for loop to add up the numbers stored in the array, and then displaying the total.

After that, it's a matter of applying the language features you know in more creative ways to solve more and more complex problems. In addition, the more you study, the more you will learn about the more advanced capabilities of the language, e.g. regular expressions. And, since Java is such a vast language, you could spend a lifetime studying and learning the complexities of the language. Or, you may end up specializing in one area of Java and get to know that area extremely well, while not knowing a great deal about other areas of the language.

Good luck.
[ September 30, 2006: Message edited by: sven studde ]
miguel lisboa
Ranch Hand

Joined: Feb 08, 2004
Posts: 1281
i think there are two very diferent things at stake: one is learning java, and another is getting acquainted with general programming stuff like conditionals (if, else), loops, etc
i'd recommend trying to write small classes that explicitly use ifs and loops; after that, try using java - i mean, creating classes that call methods in other classes, and so on
i remember one of the first programs i wrote was a dinamicly written "table" : 1x1=1, 1x2=2, and so on - a good exercise for loops

java amateur
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper

Joined: Aug 26, 2006
Posts: 4968

I think the key is to just keep plodding along.

You may feel overwhelmed at time, but if you could talk to the person you were five or six months ago, you'd be amazed at how much you've learned.

Everything in life is a process.


Justin Fox
Ranch Hand

Joined: Jan 24, 2006
Posts: 802
well, you're never going to know everything about the java language, or any other language at that. There are way too many classes/packages.

From personal experience, you seem to "know" most about what "field" of programming you are currently in(a.k.a data structures, GUI, etc...)

while I was in Data Structures, I could write a mean Doubly Linked List, BST, B/R tree, etc...

now that I've been out of it for awhile, I might have to look at old code of mine, or search to write one again, but most likely, not too much looking up.(hopefully )

like now for instance, I'm in Software Engineering, and a lot, well, all of the programs are GUI based, so I've had to hunt through API/DOCS a lot.

Just be thankful that java has the well organized API that is does,
you can't find good ones like java has for C/C++.


You down with OOP? Yeah you know me!
Robert Hill
Ranch Hand

Joined: Feb 24, 2006
Posts: 94
The classes in the various API's from Sun are not part of the Java language. It is unlikely that any one person will know all the API, but a person can certainly learn the entire language.
I agree. Here's the link:
subject: How long does it take?
It's not a secret anymore!