Posted by editor
on July 21, 2005 at 7:16 AM PDT
Rethinking how to teach programming... also:
Feature Article: Introducing BlueJ
Weblogs: Fold N' Drop, GlassFish, and package-private scope
Also in Java Today: readable code and JDBC + OpenOffice + MySQL
Projects and Communities: Mac CocoaComponents and a Swing Sighting
Forum Postings: JAX-WS specs and "native XML" in Dolphin
Rethinking how to teach programming
For some time, it's been clear that Java is not the most straightforward thing to teach. Specifically, how can you stress object orientation and then tell students the first thing they have to write is the procedural
public static void main (String), which has the unpleasant side effect of prematurely introducing
static methods, and arrays? Teaching Java is in serious need of a rethink, as previously noted by Daniel Steinberg , among others.
Many of the solutions involve introducing Java by way of an environment that puts classes and objects front and center and hides some of the extraneous "yeah but"s that will only confuse things at first.
One of these environments is the subject of today's Feature Article . In Java Tech: The Sweet Song of the BlueJ, Part 1 , Jeff Friesen takes an initial look at BlueJ , an educational development environment. He says:
BlueJ is easy to use; students can begin working with BlueJ without needing a lengthy introduction to the environment. BlueJ lets students visually and interactively create classes and interconnect them. Students can then instantiate objects from those classes, invoke methods, specify arguments to those methods via dialogs, view return values via dialogs, and visually inspect object state. This product is freely available, a benefit to students who cannot afford costly licenses (BlueJ cannot be sold for profit).
Joshua Marinacci is wowed by Fold N' Drop in today's Weblogs : "This has to be one of the coolest frame hacks I've run across. I also think this is a great use of a gestural interface techniques. The idea is that you can fold windows down to access what is behind them."
Brian Leonard asks Are there GlassFish in Prague, and can you buy them on eBay? , explaining: "I'm talking about Project GlassFish. It has relevance to Prague because it was during our team trip there in May that I worked feverishly to ensure the project didn't go live without tools support - a necessity to any successful project, right? "
Bob Lee has a question about
Package Scoping And Unit Testing : Why don't more programmers use package-private scope? Package scoping can ease testing without cluttering your public API."
In Also in
Java Today ,
Artima blogger Eric Armstrong writes: "Now that I've gotten myself onto the Groovy mailing list, I'm getting involved in language discussions again. I love those. The axe I generally grind in those discussions is readability. To me, that is an overlooked strength of the Java language that goes a long way towards explaining its popularity as a vehicle for production applications and for teaching. A recent discussion reminded me of a trick I use to make method calls more readable in Java--which can become something of a problem when the list of parameters contains booleans and numeric primitives." In Readable Method Calls in Java , he shows how this trick works.
Thanks to JDBC, it's possible to bridge OpenOffice.org to a database. In Hooking OOo to MySQL , Rob Reilly writes: "by combining the power of these two open source applications you can do things like generating personalized sales letters from the customer data stored on your servers. Let's walk through the process using OOo's database wizard."
In Projects and
the Mac Java Community home page is linking to Apple
CocoaComponent sample code : "The QDCocoaComponent shows how to use QuickTime's
SequenceGrabber to get captured video into a Java component, and QCCocoaComponent shows how to use a
QCView in order to view Quartz Composer files in Swing."
The JavaDesktop page is publicizing a "Swing Sighting":
makes a standalone javadoc viewer called Java Guru,
which is also available as part of their TJI IDE. Kinabaloo folks say:
"Java Guru provides a fast and versatile way to access the Java API
and API documentation... suitable for beginners and advanced users
In today's Forums ,
hr_stoyanov has a lot of questions about
Things in the JAX-WS EA2 docs :
Here are a few additional findings, you might want to look into:1) APT docs: Is the sourcePath attribute always required? It does look so, even though there can be nested 2) APT docs: Is the -Averbose=true used at all? There seems to be a verbose attribute anyway... 3) The sun-jaxws.xml has urlpattern, but there is another standard one in the web.xml descriptor for the servlet. What is the relation between the two? Do we need to specify the servlet class (and context listener) in web.xml at all? 4) Are the portable beans generated by APT and WSGEN (keep="true") the same? 5) There are a bunch of references to "JAX-RPC 2.0" in the jaxws 2.0 docs. â€” hr_stoyanov
Are you for or against "native XML support" in Dolphin? :
"This new feature is discussed here . I for one am strongly against this. I feel that XML support belongs in the API layer, and should not touch the Java language. That's just my personal opinion. What do the rest of you think?"
In today's java.net
News Headlines :
Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using our
form . All submissions go through an editorial review 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
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
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed . Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the
Rethinking how to teach programming