

Programming advises needed  - Dardann

Today is my 7 months since i am learning Java , I have completed 3 books for Java till now<p>1.Java Software Solutions: Foundations of Program Design 
2.Java How To Program 
3.Head First Java<p>My average of learning is 3 Hours Daily , TOTAL Of learning till now is : ( 630 hours ) .<p>Sometime I have a feeling that i am most completed programmer in the world ( i think that i can make everything ) and sometime i have a feeling that i am the worst programmer in the world (LoL).<p>I also completed Java Lynda.com (Fundamentals &#38; Advance) Tutorials and Thenewboston tutorials i also started to learn Android development 1 months ago .<p>I am hobbyist and i don't have teacher or someone else to advice me what to do .<p>My question is should i practice programming because a lot of people are saying to me its your time just to practice , practice , practice some other people are saying just read a lot of books<p>My goal is to become professional programmer .<p>If i should go with other books which books should i continue ? some advised me to start with head first pattern and others told me to continue with thinking in Java .<p>I Also noticed some programmers read 3 books monthly how is this possible ? Are they just reading and not practicing the examples ?<p>I also want to know about game programming should i know the basic of trigonometry , algebra , physics to make game like mario 2d or should i become advance in math . My math is not very good<p>Thank you
======
dkersten
Books are good to learn new concepts, but to actually understand the concepts
and know when the right times to use them are, takes practice and no amount of
books will make up for lack of practice here. So, since you have already read
a number of books, I would say that practice is the most important thing for
you now.

Also, in time, you will want to learn other programming languages to give you
a more rounded experience of what is available both in terms of tools and also
concepts which will help shape how you think about and solve problems in java.
Ideally you would learn a number of very different languages. At the very
least a functional language as this even help you a lot when you begin writing
multithreaded programs in java (and also help you design simpler, more
composable code).

But for now, practice. Try to set yourself real projects or actually useful
tasks and make sure you complete them (ie don't have a load of unfinished
projects, but finish them to the point that you could release them to non-
programmers if you wanted). Projects should range from both large and small to
give you experience and practice working on a range of codebase sizes.

~~~
Dardann
Thank you very much for your comment :) I really appreciate that

------
Tobani
I like Project Euler ( <http://projecteuler.net/>) especially when toying
around with new languages. Its is basically a list of shortish problems to
solve. You don't technically have to do any programming to solve the problems,
but it is a good way to force yourself into doing some thinking. Also when you
complete the problem the forums are usually good for finding ways other people
of solved the same problem. Try not to pay too much attention to the code
golfing.

You could always find a project on Github that is interesting to you and try
modifying it.

If you interested in game development I've known some people who have enjoyed
playing around with PyGame ( <http://www.pygame.org> ). You'd have to learn
python, but its definitely a language worth knowing.

~~~
Dardann
Thank you :)

------
informatimago
Yes, write programs. And go on reading books, eg. SICP
<http://mitpress.mit.edu/sicp/> or The Art of Computer Programming (Knuth).

~~~
Dardann
Thank you for all

