Skip to main content

Look Back in Anger

Posted by editor on August 19, 2005 at 6:29 AM PDT

Take count, literally, of your Java efforts

Today's java.net poll is one that won't lead to easy interpretation, but I thought it would be interesting to put out there anyways: How many lines of Java code do you think you've ever written?

There are a lot of factors that will figure into each reader's answer. You can argue that Java is intrinsically verbose, so we as Java programmers tend to write a lot more lines of code than would be necessary with other languages. Not that this is a bad thing: Java gets interesting where a lot of languages get unreadable and unmaintainable (I'm talking to you, perl). There's also the factors of how long you've been programming, how many different projects you've worked on, and whether you've written a lot of new code or maintained existing code. All of these factor in to a pretty wide range of Java experience, which is why I phrased the answers in terms of orders of magnitude: thousands, tens of thousands, hundreds of thousands, and millions.

If you're really not keeping close track -- and you should, because it can be helpful on a resume to express the size of a project in terms of LoC -- then it's pretty easy to tally up lines of code with the wc command in your favorite flavor of 'nix (including Mac OS X, and cygwin for Windows). For example, I took a look-see at how many LoC I wrote for a book last year:

wc `find . -name '*.java'`

The results (in lines, words, and characters, respectively) came out to be:

    8737   29428  315626 total

This really surprised me: I didn't think I'd written that much code for the book. The whole book is only 200-some pages.

One other thing to chew on: how much of the code that you've written is still in use? How much of it was ever in use? It burns me up to think of the thousands of lines I wrote for mismanaged, doomed projects that would never see the light of day, or that got "released" to a user-base of approximately zero. I'll bet a lot of you feel the same way... feel free to comment on this blog if you're so inclined.

After mentally tallying your LoC and casting your vote on the front page, please visit the results page to join in the discussion with your fellow java.net community members.


Feel free to sing along with today's Weblogs, in which Kirill Grouchnikov
offers some
Backstreet boyz "404 File not found" lyrics
"After their first single on FTP, appropiately titled "Incomplete", the boy-band is planning their next single. Here is preview of the lyrics."

Navaneeth Krishnan offers an Online demo: Quick' n Easy Portlets using the Sun Java Studio Creator 2:
"From elevator hacks to something more connected to my work.I was recently asked to create a quick presentation on how to use the Sun Java Studio Creator 2 to create JSR 168 portlets. You might find it useful too."

Also in the NetBeans tutorial vein, Brian Leonard shows how Amazon Web Services meets the Amazon Rain Forest:
"Use this tutorial to see how easy it is to run the Amazon web services Java sample project from within NetBeans. Or, join us in person at one of our world tour locations to see it live for yourself."


In Also in
Java Today
,
"there's a natural conflict between testers and programmers because of the
difference in perspective each role has." In short, programmers tend to
be creators with a sense of optimism, and testers are investigators with a
determined pessimism. Poorly managed, these opposing forces can clash in
unproductive ways. In the Mac DevCenter article How to End Wars Between
Testers and Programmers
, Scott Berkun (author of The Art of Project
Management
) looks at how to build relationships, set common goals, and
establish cooperative leadership to prevent counter-productive
squabbling.

"A monitoring server is critical to any server-side infrastructure, be it an e-commerce or a telecom solution." But that doesn't mean you're necessarily going to use Java Management Extensions (JMX). Narendra Venkataraman writes "I found JMX solutions to be overkill for my requirements, so I decided to implement a lightweight Java framework that could be easily extended and customized to build a monitoring system." In When JMX Is Overkill, Build a Lightweight Monitoring Framework, he shows how to build a do-it-yourself monitoring system using an extensible object-oriented framework


In Projects and
Communities
,
the latest Java Tools Community Newsletter has tips on how to attract users to your project. Their advice for successful projects includes creating and maintaining an informative home page, graduating from the incubator as soon as possible, and publicizing via the RSS feed, the Java Tools Projects Directory, and the java.net front page.

The JDK Community home page has a link to Peter von der Ahe's blog about compiling javac with the latest Mustang builds. Peter has added an ant build script to build b47 of Mustang, so creating javac, javadoc, and apt is as simple as typing ant. It also creates a classes directory that you can use in the 1.6 javac's bootclasspath.


In today's Forums,
jwenting dismisses calls for more syntactic sugar in
Re: "string" primitive:
"If you want string primitives use a non-OO language. I'd rather see ALL primitives dropped than see more of them introduced. And no, I am not screaming for that to happen. If I want that I'll use a language that has no primitives. Learn to use the tools you have instead of whining and screaming for destroying the language by turning it into something else entirely."

robc explains some JAXB design thinking in
Re: Varying Endpoint Address in Client:
"WSDL bindings are extensible. Moreover, with WS-Policy starting to be deployed, it's going to be even more complex to capture all the details in annotations, except in simple cases. We could have designed a mix of annotations and XML-based descriptors to capture all the information, but that's error -prone and quite static anyway. Either approach would have lead us to playing catch-up with the latest WSDL extensions with no end in sight."


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
news submission
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
feed.


Current and upcoming Java
Events
:

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
site.


Archives and Subscriptions: This blog is delivered weekdays as
the Java
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 href="http://today.java.net/today/archive/">java.net Archive.

Take count, literally, of your Java efforts