An old joke: Someone lost on the streets of New York hails
a passing stranger and asks "How do you get to Carnegie Hall?"
The stranger answers "Practice, practice, practice!"
... and that's how you gain and build skill in Java, or in
the wider area of programming, or in playing the oboe or fancy
rope twirling or sabre fencing or pretty much anything else. If
you want to get to the top of your game and stay there, you've
got to spend the effort and keep on spending it. (For your own
peace of mind, I hope it's a game you will keep enjoying.)
Write code: "Hello, world" and "eight queens" and suchlike
toys while you're just learning how to work the language, moving
toward larger problems as you gain facility. Read code: Study
what others have written, ponder why something was done *this*
way rather than *that* way, make up your own mind about the
trade-offs. Learn several languages: Fashions come and go in
this industry, and the person who can make a career out of one
language is a rare bird indeed -- besides, what you learn from
one language can often help you in another. Get experience: See
if you can land a summer job as an intern or something, to gain
some notion of how the scale difference between real-world projects
and classroom projects affects the way you must think. Read: It's
an extraordinarily efficient way to soak up information, once your
skills and experience are up to the challenge.
Here's a really effective suggestion, although it's hard to do
because it's humbling and can sometimes be almost humiliating: When
you make a mistake in a program and later go back and fix it, write
about it in a diary or log. Review the diary every so often, and see
if there are similarities among the kinds of mistakes you make,
potholes in your own thought processes that predispose you to certain
kinds of errors. Try to see how your characteristic mistakes come
about, and what you might do to make them less likely. Re-read your
own code a year later or five years later, and if you don't shudder
or at the very least shake your head and say "Tut-tut!" it means you're
no longer improving, but have come to a standstill and need a jolt.
Stick with it, keep moving: In this field (as in many others),
you never actually "arrive." Not if you're good.
Hello Sir!
I guess, I do not stand anywhere to either answer you or to reflect my
gratitude in front of you and all of experienced professionals.
however about gratitude I can pay this to all of you by helping others
in the way you have done to me by *learning knowledge in same way that
you have gain by continuous practice and hard work*.
Sir, I do not want to be a day dreamer anymore; I have set some
visions & objectives & targets/AIM for myself which is more important
to be fulfilled by within set Time/deadline. In these targets one my
AIM is to establish my self in Java Technology concepts/ground by the
end of month of August.
Sir I want to share a story with you ( i m extremely sorry my this
reply is going to be a bit lengthy; reading this may not be possible
for you, but..)
**** "Idea to become a Software Professional in life for
livelihood did not come in my mind while I was watching movies like
War Games, violet, The Independence, or many more which i could not
recall at this moment and as well as while playing video/computer
games. But it was realized that what I want to be in my life when I
was reading biograpy about Mr. Bill GAtes(MIcrosoft) and Mr. Narayan
Murthy (infosys), and many others in a magazine during holidays of
summer when I have passed out standard 8th.
It is a bit surprising when I got aware of my objectives of my
life why I am still not moved towards my destination. I guessed it was
all due lack of guidance and lack of adequate information because I
had never been use Internet ever before I appeared in college life or
been seeing my sister using this rambling technology when she was
seeking admission in, for some big technology institute. However,
using groups, was not started at once while I learnt about networks
and internet during academic course." ****
As deadline is approaching fast and I have got free from
Examination and other hecks of college; I am once again looking
towards my goals.
The Respected Sir, in quest to learn the language I have read at
least half Khalid mughal and Rolf rasmussen and have searched internet
a lot. By this time I am able to a write tiny class; able to debug
programs and also know how to use API archived at *http://
java.sun.com* and also installed at my system. And i can also
determine the differences among .net and Java.
I am also able to develop a web with CSS and Java Script.
But during this marathon surfing and reading about Java (fundamentals)
I got encountered with several new technology of Java which I never
heard ever before this april last; made me confuse that what should I
do now.
And while reading SAMS learn java in 24 hours i got to know about
Usenet and Google groups... especially about
comp.lang.java.programmer. As my mind was losing so called set balance
between Java & .net and I Posted that weird Question. I think I should
have land on this very informative(google groups) planet since i
started my college education 3 years ago.
Result of that I have got some very helpful, useful and kind
suggestion from all of you java Masters otherwise it would be
definitely right that "Arne Valhoz" said on other post as reply- of
mine that "10 years of experience will be helpful." (if I work all
alone or until I got internship somewhere or could join some
professional training provided by many education business runner.)
anyway,
Mr. Roedy Green Sir,
http://mindprod.com is really outstanding mind
product for all kind of beginners, mediocre, expert less than
proficient.
There I clearly got the order in which one should have to keep
irmoving on the road to become a Java professional. As according to
Mr. Roedy
A classic text is:
http://norvig.com/21-days.html from Arne is an eye opener for all
short-cut seeker with excellent facility of translation to major
locale provided by volunteers.
And tutorial available at sun.com are totally targeted as to whom who
have some experience in any programming lang.
Sir, after grasping the truth I have sincerely redefined my learning
path for Java (core), however I still personally ask to you; from a
beginner's point of view which concept can consume what amount of
time( however learning ability is different to all, besides this
should be a general idea only).
I stand here -> have knowledge of about Variable & types ,Operators,
looping statements, branching statements, abstract, final and static
keywords, object construction, constructors, able to implement class,
creating and executing packages, Assertions, exception
handling(try,catch, finally block), understands Object oriented
programming concept, scanner classes, annotations.
-> have an rough idea about Overriding and Overloading, interfaces or
multiple inheritance, swing, AWT, applets, JDBC, JSP, SERVLETS, Web
Server like tomcat, application servers like web logic,
-> have no idea about RMI, Socket programming... and many which i
could not have listened in java programming.
But I constantly want to move towards getting excellence in java
programming so that I can have talk on some topic related to java
fundamentals and more specially be able to develop some project listed
at
http://mindprod.com/project/projects.html.
Thank You so much for giving me your valuable time, I am Nikhil Singh,
wants your permission to sign off till your next useful suggestion
(post) in this column.