is learning java impossible? or what

Hi

I have been learning java (my first programming language) for about 10 months and I see that numerous unknown things also come up, as I am trying to learn new things, and most of the times this makes me think it is impossible to be good at java, but I also see most of the forum users really good at java and being able to answer almost every questions. So, what is the secret in learning java, how to manage to be so good, or is it really near to impossible to learn it, or what?

thanks

[510 byte] By [voywodaa] at [2007-10-3 3:01:20]
# 1
It's like learning anything else: it takes time, patience, and effort. http://www.norvig.com/21-days.html%
duffymoa at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 2
reading now, but the title is really frightening :P
voywodaa at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 3

First and foremost, you need the right teacher.

I had the same problem with C++: Learned it for a year, understood nothing, forgot almost everything.

That's why it's WAY more important to learn the idea behind OOP, and Java especially. Syntax is very unimportant. As soon as you understand why you do this or that, it's a piece of cake.

It's a complex theme, and it has way more to do with philosophy and linguistic than with math or any other technical science.

Mongera at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 4

A language, such as Java, is just a way to express ideas, algorithms,

and ways of doing things. Much more important than the language itself

is *what* you want to express in that language. That's where those

nifty algorithms come in and an entire additional vocabulary in terms of

prebuilt classes, frameworks, and what have you.

It's the latter part that makes studying Java so overwhelming and

intimidating at first. The language itself is quite simple. I'm sure after

ten months you know where to put those brackets, parentheses and

imports. Try to focus on one technology (e.g. the Collection framework)

and play with it, i.e. try to implement litle toy programs and see what

that particular technology does. Then move on to the next one if you

feel confident using the current one and so on.

good luck and

kind regards,

Jos

JosAHa at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 5

10 months is really not a long time, especially if it's your first programming language, so don't be too hard on yourself. If you realize you still have a long way to go, you already have an advantage over many many people who think they're "there" already. You'll never be "there".

I'd say the "secret" is mostly motivation, which you seem to have. If you can also spend the time, do a couple of hobby projects at home (even if you are already developing for work) and try to take your time with them.

Do you have the feeling that now, maybe you still don't know much but you do know a hell of a lot more compared to a year ago? If so, way to go; keep that up forever and you'll be a great developer.

Lokoa at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 6

thanks for your answers, they really recover my morale

I'm really keen on java and this makes me impatient about it. and I m already about to finish my first hobby project that took about 1,5 months, but surely somebody else could finish it in 1 week. this became the first thing that brings this question to my mind. and the answers persuaded me a little bit more :).

seems what I need to do is to be patient and not look ahead, just make an effort to learn new things, no shortcut :).

thanks

voywodaa at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 7

> thanks for your answers, they really recover my

> morale

>

> I'm really keen on java and this makes me impatient

> about it. and I m already about to finish my first

> hobby project that took about 1,5 months, but surely

> somebody else could finish it in 1 week.

Sure just like me making a boat would take forever compared to a company that has been doing it for 20 years. Don't worry about how long it takes you are at least learning more everyday and becomming a better programmer because of it.

> this became

> the first thing that brings this question to my mind.

> and the answers persuaded me a little bit more :).

The most important thing that you can do is have fun with it, because even if it is a job that you are working towards you want to make sure it is something you enjoy. I couldn't imagine having to go to a job everyday that I hated. It would drive me nuts. Keep reading programming learning and posting and you'll pick it up bit by bit.

Also as was mentioned the language won't be the hardest part to pick up. It will be figuring out all of the algorithms and analysis that will most likely bore you to death, but it is important to understand. My suggestion is pick up an algorithms book and read a bit everynight. It will help you fall asleep really fast and you'll learn a little bit each day.

Aknibbsa at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 8
could approach it another way, learn what java isn't from http://forum.java.sun.com/profile.jspa?userID=425831> First and foremost, you need the right teacher.
mchan0a at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 9

I started programming in 1963, believe it or not (yes they DID have computers back then, but we programmed them by punching holes in little pieces of thin cardboard.) I've used too many different langauges to even begin to enumerate. I started with Java about a month ago and I'm beginning to feel pretty comfortable with it, although I still run into mysterious unknowns every day.

For me the best way to learn a language has always been by using it. Reading manuals and texbooks makes my eyes glaze over, so when I have a new language to tackle I set myself a fairly complex project and dive into it head first. I usually pick something that I have already done in some different langauge. For example, I've written a program to solve crossword puzzles in several different assembly languages, FORTRAN, Pascal, C++, and Java. It's one of my old standbys. Another is to write a Chess playing program with a nice graphical interface. I've done that one in everything from BASIC and Z80 assembler to a language called APL on an IBM 360 mainframe.

It's only by solving real problems that you can really grasp how things get done in any particular language. So my advice is to take on a non-trival project, something you know, in principle, how to solve, but which will force you to aquire the Java skills to actually implement. Something like a full-featured Pac-Man game, for example. By the time you complete the project you will have come a long ways toward mastering Java.

--gary

fiziwiga at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 10

my first "teacher" couldn't even make me understand that x = x+1 was not a standard mathematical expression! that was when I tryed to learn C at high school =P I remember saying: "what the hell? that's not possible!" lol

I started to learn how to program only at university... my teacher was nice and I got it pretty quickly... some troubles with arrays and pointers (learning pascal)

later I learned C++ and Java by myself. it's 4,5 years since I first coded something, around 2 years coding mostly Java, and I'm always learning something new... new techniques, easier coding, simpler solutions...

for a first-time programming language, 10 months is the beginning... and Java is such a wide language! I don't know how is to learn Java directly... I guess learning a simple non-OO language helped me, but time flows... maybe Java is good for starters!

Don't worry... keep learning! the more you know, the quicker you learn, and eventually it gets almost trivial to find the answers for yourself or even deduce them!

and never forget: practice! test your knowledge! reading will not help you as much as typing a program and facing some annoying bugs to make you remember where you can go wrong!

dev@javaa at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...
# 11
> It's like learning anything else: it takes time,> patience, and effort.> > http://www.norvig.com/21-days.html> > %Nice link!
el_doradoa at 2007-7-14 20:51:01 > top of Java-index,Java Essentials,New To Java...