I've always believed that we should pass on our knowledge to our peers,
then, over time, we'd have a network of programmers who had a firm
foundation in how Java works. To that end I try and help out where I can.
I'm a member of the JDJList archives and I like to chip in once in a while.
This is where all my troubles started.
Some people seem to think that if they demand a solution, they'll get
it. Not so. Guitarist Robert Fripp used a wonderful phrase with his students
many years ago: "The quality of the question determines the quality of the
answer." I know it sounds harsh but it's true. It made the students think
about the questions they were going to ask and phrase them in such a way as
to get a meaningful answer back.
To all of you who ask questions on Java mailing lists, please take heart
and accept that the people helping you have already walked the path you're
walking. There's no shortcut; it's just a case of picking up the map and
walking it yourself. Before you wade into a mailing list and ask a question
that will provoke a response, think about the two questions below.
Have You Read the API Docs?
You'd be surprised how many times people ask how to convert a string
into an integer. My response is the same whether it's on JDJList, IRC, or in
plain speech. Have you looked at the API docs? Alan told me a great line,
"Write a man's code; he solves for a day. Show him the API docs; he solves
for life!" The API docs are one of the most useful tools that Sun ever
supplied; I just wish I had more time to read them. If you want a copy of
the Javadoc for the Java language, visit the Sun Web site at
Have You Tried a Search Engine?
Chances are your problem is not unique and someone else has found a
solution. I'm amazed how many people don't actually do a search on Google
and type "converting a string to integer in Java." Lo and behold the first
two results actually point to the API docs. Now isn't that a surprise.
Those two quick solutions alone will save you time, effort, and a
flamewar (or a kick from IRC).
. . .
The second part of my editorial now goes out to all those established in
the Java language. People of a nervous disposition may not like what I am
about to say, but please hear me out. If you have a bookshelf full of Java
books (assuming you personally own them), study them closely and pick out
which titles you use on a regular basis. Set these titles to one side, then
turn to the remaining books and ask yourself if you really need them. Here
comes the painful bit: give them away to someone who can make better use of
them; regardless of the age of the books, a beginner will make better use of
them than you. I did tell you it would be painful.
All beginners need a hand to hold. I appreciate that, but it can quickly
become an exercise in doing their work for them. If you've spent all that
time learning, so should they. The harsh alternative is to send them an
invoice for the work. I hate having to be cruel to be kind, as do most
people, but the line has to be drawn somewhere. If you get a reputation of
just handing out code when someone asks for it, then everyone will flock to
you and you'll get bored of that situation very quickly.
Think about the title of this month's editorial (a term I heard from
another guitarist, Don Potter). If you don't have something to hand down to
the next generation of programmers, what will the future hold for Java in
the marketplace and the industry as a whole?
Jason Bell is a programmer and senior IT manager for a B2B Web portal in
York, England. He has been involved in numerous
Web projects over the past five years, the last two of which have been