> The need to support 1.3 is diminishing over time.  Java 1.4 is available
> and runs well on all the major platforms I can think of.

We should be careful with 1.3 vs. 1.4. From my POV, sadly, the majority of
our customers run on a version WebSphere that only supports 1.3, which means
that our product can't use 1.4. Very sad.

I take the following perspective: basement libraries like Commons should be
reasonably conservative (look at Ant's SDK reqs) while the products one
writes on top of them can be more aggressive. *I* make the decision to ask
our customers to use 1.4 vs 1.3. I should not be forced to do that.

Gary

> -----Original Message-----
> From: David Graham [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, November 05, 2003 06:54
> To: Jakarta Commons Developers List
> Subject: RE: [Math] common-math and bloated 3rd party libraries
> 
> 
> --- Eric Pugh <[EMAIL PROTECTED]> wrote:
> > This backlash against multiple commons jars is happening in a lot of
> > places.
> > However, I think it is a bit shortsighted.  If you are in a non server
> > environment, I understand the problem, but in a server environment with
> > lots
> > of harddrive space, I don't.
> 
> Agreed, especially because Jakarta's mission is to create *server* side
> libraries.
> 
> > Additionally, since in a server app you
> > are
> > likely to need all thoses dependencies any way.  I think almost every
> > app I
> > work on has commons-lang, commons-loggin, and commons-collections
> > included.
> > And then depending on what else, commons-discovery and commons-beanutils
> > show up all the time!
> >
> > By removing the dependency on commons-lang etc you also remove the
> > ability
> > to leverage their code when something better comes out.  You end up
> > copying
> > and pasting more and more out of all these projects in math.  And don't
> > get
> > the benefit of the testing, bugfixing etc they go through..
> 
> In this case, it looks like commons-lang and commons-logging are only
> needed because math doesn't use Java 1.4 as the base level.  Moving to
> Java 1.4 has the advantage of providing exception chaining and logging in
> the Java core and eliminates 2 jars.  Obviously, the disadvantage is that
> 1.3 users can't use commons-math.
> 
> The need to support 1.3 is diminishing over time.  Java 1.4 is available
> and runs well on all the major platforms I can think of.
> 
> David
> 
> >
> > Maybe a better approach is to try and figure out why things like
> > commons-collections are so big, and should they be shrunk down or
> > partioned?
> >
> > Eric
> >
> > > -----Original Message-----
> > > From: Kasper Nielsen [mailto:[EMAIL PROTECTED]
> > > Sent: Wednesday, November 05, 2003 2:55 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: [Math] common-math and bloated 3rd party libraries
> > >
> > >
> > > Hi gang,
> > >
> > > I love commons-math, one problem though!
> > >
> > > lets take a look at the dependecies
> > >
> > > common-lang: 189 kb
> > > commons-beanutils: 116 kb
> > > commons-collections-SNAPSHOT.jar 463
> > > commons-discovery 70 kb
> > > commons-logging-1.0.3.jar 31 kb kb
> > >
> > > Thats 850 kb!!! of 3rd party libraries that are only used in
> > > a few places.
> > > So to calculate a simple mean I need to include around 6 jars
> > > (including
> > > commons-math)
> > >
> > > So lets get the list down a bit.
> > >
> > > * Commons-lang
> > > Getting rid of Commons-lang is pretty easy since it is only
> > > used in one
> > > place: MathException
> > > Solution : Let MathException extend Exception instead of
> > > NestableException. There aren't really anywhere we use the ability to
> > > nest Exceptions inside other Exceptions in commons-math.
> > >
> > > * Commons-collections
> > > Getting rid of commons-collections is also pretty easy
> > > Solution: Getting a copy of HashBag (and the Testcase) and put into
> > > math.util (no need to copy the interface)
> > >
> > > now we got rid of ~ 650 kb in around 2 minutes, 3 jars left,
> > > this is a
> > > fun game!!
> > >
> > > * Commons-Beanutils
> > > Okay the transformers are nice but come on how many people
> > > are going to
> > > use them?
> > > Solution: put them into a new small library:
> > > commons-math-transformers.jar
> > >
> > > ** Commons-Discovery
> > > KISS keep it simple stupid, who on earth is going to provide
> > > there own
> > > UnivariateRealSolverFactory??
> > > and for those few people that need it... I think they are
> > > smart enough
> > > to do figure it out themself.
> > > Solution: remove it (or do something like we do for commons-logging)
> > >
> > > ** Commons-logging
> > > Lastly commons-logging...
> > > I would think returning NaN is enough, but okay if people
> > > insist we can
> > > do something like (pseudo code)
> > >
> > > public class logutil
> > >     static Method logMethod;
> > >      static {
> > >          try
> > >          {
> > >              Class clazz = Class.forName("commons.LogFactory");
> > >              logMethod = clazz.getMethod("error");
> > >          }
> > >          catch (ClassNotFoundException e) {}
> > >      }
> > >      public static logError(String msg, Throwable t)
> > >      {
> > >          if (logMethod!=null)
> > >          {
> > >              logMethod.invoke(msg + t);
> > >          }
> > >      }
> > > }
> > >
> > > and whoops we have now gotten rid of all the libraries, and
> > > we have easy
> > > embeddable little commons math jar.
> > >
> > > regards
> > >    Kasper
> > >
> > > --------
> > > Kasper Nielsen
> > > kaspern at apache.org
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> 
> 
> __________________________________
> Do you Yahoo!?
> Protect your identity with Yahoo! Mail AddressGuard
> http://antispam.yahoo.com/whatsnewfree
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to