"Not only is Java a high-level programming language, but it is also a program that focuses on the representation of data, performs multithreaded tasks, and runs independent of computers, which makes Java the best computer programming language of the 21st century."
That is Fahrin Kabir's thesis for a project she is working on at Westmont High School in Campbell, California. She sent me a set of questions and then refined them when I asked for permission to publish them in java.net. You will find both sets of questions featured in Fahrin's Letter to the Editor.
Not too long ago, I was a college Math professor and got to observe close up how bad mathematics professionals tend to be at welcoming others into their world. So many incoming students were put off by mathematics. There are many excellent math teachers at the elementary, secondary, and collegiate levels. But there is also a negative group that has the attitude that those who can't do math are, in some way, not worthy. An enlightened group would work to encourage students, to show them that although mathematics is difficult, they could do well. Despite this concrete evidence, the negative group were convinced that the successful teachers had dumbed down the curriculum, taught towards the test, or somehow made the material less challenging.
Think of the initial reactions to Kathy Sierra and Bert Bates "Head First Java". It can't possibly be a rigorous and serious book because it is filled with pictures and jokes. And yet, the book gets students up and going and writing serious programs quickly. In java.net we have linked the Education and Research communities. Often these two communities are separate with disdain for each other.
What does this all have to do with Fahrin's letter? Part of your role as a software professional is to represent your profession and speak to those who are curious and might follow in your footsteps. In his response to one of the blogs yesterday, Malcolm Davis wrote "Senior programmers are only senior, if they work with junior programmers to correct mistakes." Jimothy then responds "being 'senior' requires much more than merely x years of experience. Interpersonal skills and diplomacy are at least as important."
Together these suggest that perhaps you can find the time to answer questions that Fahrin and others pose. In addition, the way in which you answer is in many ways as important as the information you impart.
Malcolm's comments are in response to the first of our featured Weblogs , Jim Cushing's Code Rage. This post has already generated a nice discussion. Jim makes the analogy to driving where some drive cuts you off with no warning and almost causes an accident. He writes that " My blood pressure raises when I come across silly mistakes which seem to demonstrate a lack of understanding of basic programming or Java language concepts. [...] I feel as if I've just been cut off with no turn signal. "Hey, buddy, keep your eyes on the code! Ever heard of a static method?!?"
Satya Komatineni makes a different set of analogies in his post If architecture were to be the tower of babel, configuration is its language. He writes,
"The larger and more complex an architecture is the simpler its constituents need be. That means the key for complex programs are pluggable parts or pluggable functionality at run time. Almost like a self-evolving system. The key to accomplishing such a composition is configuration. We seem to invent for every configuration need a different configuration api."
I know you aren't supposed to explain jokes, but I worry that johnm's response (which made me laugh out loud) does not translate well. There is a sequence of "chicken jokes" that build off of the riddle "Why did the chicken cross the road?" which is answered "To get to the other side." I can't explain why this family of jokes is funny to children, but John has posted an adult version: "Why did the Data cross the network? :-)"
Another smile yesterday from Tom Clements' most recent poem. Tom's BackStreet Boys is a poem about servlets. You can also see how to submit your poems to our Poetry Corner.
Tom submitted his poem a week ago, and we're running it today in honor of the octet of J2EE JSRs released in the last couple of days. In Also in Java Today Felipe Leme provides links to each of these releases in two entries: JSR announcements and More JSR announcements. In addition to Servlet 2.4, Felipe highlights JSP 2.0, EJB 2.1, and JSTL 1.1.
Jason Hunter is focusing his current Oracle Technology Network series on aspects of J2SE that J2EE developers should know about. His second article is titled The Proper Channels and looks at the "New I/O (NIO) Buffer class, and explain[s] how channels and buffers work together in J2SE 1.4 to move data faster than ever before." The illustrated approach is clear and helpful.
Projects and Communities highlights a page from the Javapedia on Java development on Mac OS X. Add to the linked resources and join in the discussion. Also the Java Web Services and XML community links to a Java Boutique article To Inherit or Compose - that is the question. I would suggest you instead take a look at a Java classic on this topic published in 1998 called Inheritance vs Composition.
In today's java.net News Headlines :
- Sun Publishes J2EE 1.4 SDK
- IBM and BEA Working Together to Improve Interoperability On App Servers
- Bill Shannon and Mark Hapner's Open Letter Re: J2EE
- Cactus 1.5
- XUL Alliance Wiki Wiki
Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using our
news submission form.
All submissions go through an editorial review by news director Steve
Mallet before being posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
Current and upcoming Java Events:
- December 3-4 JavaPolis 2003 Belgium
- December 3-4 SunNetwork EMEA
- December 10-11 Borland Conference France
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e"> events submission form.
All submissions go through an editorial review before being posted to the
This blog is delivered weekdays as the
href="http://today.java.net/pub/q/java_today_rss?x-ver=1.0">Java Today RSS
feed. Once this page is no longer featured as the front page of href="http://www.java.net"> java.net it will be archived at href="http://today.java.net/today/archive/index_11262003.html">
http://today.java.net/today/archive/index_11262003.html. You can
access other past issues in the href="http://today.java.net/today/archive/">java.net Archive.