I really like programming and I would like to do this for aliving.
My concerns is the possibilities of me learning a craft that I can't
make a living out of it. Why you guys in the industry think, will I
be able to find a job in the future as a Java programmer.
Languages change with time. 12 years ago, I was a C++ programmer, and
had to hunt a bit to find jobs where they wanted to do real C++, not
"C/C++". That latter usually meant C with C++ line comments. In the
course of that job, I worked with Maple, Python, shell scripts, DOS
batch files, but the majority of the work was C++.
Five years ago or so, I started doing Java full time as a consultant.
It has paid pretty well, and I have gotten to do some really neat
things. I have, though, used Perl, Python, bash scripts, tcsh scripts,
a bunch of SQL, XSLT, and several template languages to get the work
done.
Judging by the past, I will probably start looking at the up and coming
languages again in about two years to see what the big language is going
to be. I doubt anyone can pick it out with certainty now, but
linguistic change is a fact of life in the field.
The lesson? Learn the most approrpriate language for what you want to do
_today_, and be ready to learn new ones as needed for the tasks you face
tomorrow.
If you like programming, then make your best guess as to the language
you want to work in, and learn it. Right now, I would say Java is a
pretty good all around bet, but I might consider C# were I solely a
Windows guy, or Perl and C were I solely a Linux guy. Objective C seems
reasonable for Apple-only folks, though I tend to work entirely in Java
in that space.
If a new language appears to offer something you need, learn it - it
won't kill you, and you might just learn something good out of it.
Python got me to understand Maps/Associative Arrays/Hashes, where C++
had not. Perl got me to think in low level terms again, after half a
decade of working at a higher level.
Scott