Java J2EE Portal
Enterprise Java Station
J2EE curve
Java News / Articles
Java News / Articles
Groovy and Grails - A Getting Started Guide
Xml Security using Xml Encryption and Xml Digital Signature
J2EE vs JavaEE - Simplify programming
Processing...
Buy Java, Deals On Software Technology Store
Click here for great deals on computers, laptops, software and books
Open-Source keeps me 'coding fit' PDF Print
Mar 23, 2005 at 04:09 PM

IndicThreads >> You have been a regular contributor to Jakarta Commons. Do you think components like those in the Commons project are underused by developers and that developers should put more effort into reusing code?

Henri Yandell >> Reusing code is hard and I completely understand why developers may shy away from it. A large part of my day job involves juggling CVS branches, modules and Maven dependencies so as to avoid creating new branches, which are really just clever and hopefully temporary ways to do copy and paste. Probably the biggest pain has come from a single reusable library at the heart of everything, if you put too much in there, it comes back to haunt you, too little and it's useless.

"Reusing code is hard and I completely
understand why developers may shy away from it..."

Commons isn't aware of your particular business domain though, so the likelihood of such pain is much diminished. The major pain I know of through using Commons libraries are a symptom of their success: it's too easy to end up with the need to have multiple versions of the same component in your classpath. The same problem exists for other things, XML parsing for example, and the issue is really at the Java level. Jars need to have a way to state their desired version, much like how Java Webstart/JNLP can say it depends on JDK 1.3+ or just bugfixes of JDK 1.3. For me this is just a problem to be faced when it occurs.

"Benefits of code reuse are so huge that they outweigh the pain..."

The quandary we face with reusable code is that the benefits of code reuse are so huge that they outweigh the pain. Even reusing tiny methods can help to avoid seeing the same bug again and again. Speaking from experience, a system that is rife with copy and paste is far more painful to deal with as it grows larger than a system built on reuse. Even if both had the same level of pain, embracing reusable components forces the developers to manage their codebase and not let it evolve into anarchy. At the end of the day that management is very noticeable.

IndicThreads >>You did your studies and even worked for a few years in the UK before you moved to the US. Also through open source work you must have worked with developers from all over the globe. So did you find a difference in how developers and companies from different nations function?

Henri Yandell >> Sadly I've not worked in as many cultures as I'd like to. Various parts of the UK, though chiefly London, here in Kentucky, USA and a brief project in Vienna, Austria.

The pace of life is different between them, but the developers and companies are largely the same in style. I suspect you could draw a matrix with 'Large | Small' on one side and 'Product | Consultant' on the other and you'd have categorized the major styles of company, and I suspect this would be true of any major IT country in the world. One constant is that it is rare to find communication moving across the boundaries of a company. Few developers talk regularly to a group of developers at their competitors.

"The Internet lets us talk, and open-source communities ride this wave..."

The Internet lets us talk though, and open-source communities ride this wave. The only difference I've ever found in the open-source community is when there is a separation by language.

To finish this with something very on topic to your site; this puts India in a pretty good position. Brazil, China and Japan all seem to have their own very strong Internet cultures, and thus, I think, to a certain extent their own open-source communities. While the large projects like the Linux kernel, Apache Httpd and Tomcat will be a part of these communities, and have members from these communities, it seems likely that a lot of the energy spent will remain inside these cultures.

"As this (open source work) means contacts,
free further education and CV/resume strength,
it can only be a good thing for Indian developers..."

If and when India explodes into open-source, and forgive me but it seems as though it hasn't yet, it seems very likely that they'll be affected and have a much larger effect on the global/western/English-speaking/whatever-name-won't-offend open-source community than the other nations India competes with in the global IT market. As this means contacts, free further education and CV/resume strength, it can only be a good thing for Indian developers.

IndicThreads >> Thanks Henri. It?s been good talking to you. We look forward to many more super projects from Apache.

Henri Yandell >> My pleasure. So do we.

IndicThreads >> A last note for our readers. If you wish to stay updated about Henri's Java and football exploits, check out his blog: The Goldfish Chronicles.


User Comments

Comment by dumbjavacoder on 2005-03-24 14:35:01
Thanks Henri for sharing your ideas on opensource especially, for your views about why a developer should involve in opensource and contribute to it. Thanks Harshad for a nice interview with an apt title. 
 
Rajendra Alapaty 
http://jroller.com/page/dumbjavacoder

Comment by Guest on 2005-05-01 00:32:04
Hai, 
 
Good to see i could provide the itch in the form of the little JPE editor on the psion :grin  
 
I was at the time working on several opensource projects and indeed got a little upset with psion. The fun of opensource is that someone else can pick up the stick and run with it. With powerful tools like google providing a rich world of learning and sharing. 
 
Even at the time of JPE i was working (lets call it a day job) on MMBase a opensource cms product (http://www.mmbase.org) that today uses many of the jakarta products. 
 
Thanks for the work and the sharing, 
 
Daniel Ockeloen 
daniel@mmbase.org 

Comment by Guest on 2005-05-07 08:34:31
So I was way off the money on my opinion on whether Apache would host a Java implementation. 
 
Seems it's going to happen: 
 
http://blogs.cocoondev.org/dims/archives/003095.html 
 
One of my chief concerns was that Apache does not have a lot of people with combined C and Java experience and it looks like the Harmony project has solved this by involving other JVM/J2SE projects in the planning and coding. 
 
Another was that there already were implementations out there, and this is solved by the same act of getting them on board. 
 
There also seems to be a strong aim to make the Apache structure a super-structure that other communities can use with parts replaced that they want to specialize in. 
 
I'm especially impressed to see Doug Lea as a supporter. He seems to have done a very good job in becoming an item of trust for every developer in the community, so his support speaks volumes. 
 
(Good to hear from you Daniel :) ) 
 
Henri Yandell
Your Name / Email Address
Comment
Spam Protection - Please enter the code in the image -

Listen to code




Add This Feed Button

Enter your Email


Java Expert Interviews
Sameer Tyagi Sun
Understanding Web Services and SOA
JavaFX Expert
JavaFX Is Many Times Faster And Easier Than Swing
Bruce Johnson
Google Web Toolkit isn't just another way to create mediocre Ajax applications
Processing...
Go to top of page  Home |
SiteMap

Copyright 2004 to 2008 Rightrix Solutions. All rights reserved. All product names are trademarks of their respective companies. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Rightrix Solutions and IndicThreads.com are independent of Sun Microsystems, Inc.

Views expressed at IndicThreads.com reflect the views of the authors alone, and do not necessarily reflect those of IndicThreads.com. IndicThreads.com and it's authors are not responsible for reader comments and opinions.

Enterprise Java J2EE JEE Portal >> IndicThreads.com