On Mon, Jun 13, 2011 at 1:16 PM, Jean-Sebastien Delfino <
jsdelf...@apache.org> wrote:

> On Wed, May 25, 2011 at 6:19 AM, Nirmal Fernando <nirmal070...@gmail.com>
> wrote:
> > Hi Jean,
> >
> > Please see my comments in line.
> >
> >>
> >> Another way to ask the question is: What if you spend time to master
> >> Graphviz (1.6Mb) and Batik (1657 classes, 8Mb) and build something
> >> nice with them, and then somebody else just tries without these big
> >> dependencies, at the expense of some hard (but interesting) work to
> >> craft and tune the necessary algorithms, and produces a similar result
> >> with a few pages of lightweight code? Which one will be more
> >> successful?
> >
> > Reusing is good other than building one from scratch not knowing what
> will
> > be the outcome, don't you think?
>
> Sorry for the delay, I've been really busy recently. In a way it's
> good that I didn't reply too quickly as that allowed you to figure
> part of the answer yourself :) and I see that you've given up on
> Graphviz after running into some limitations.
>

No problem! :)

>
> I think my main observation is reusing software requires to evaluate:
> a) the useful function provided by that software that'll help you;
> b) its baggage, limitations, bugs, operational constraints that'll get
> in your way;
> c) the effort to understand how to use it to your advantage;
> d) the effort to adapt and glue it to the pile of other software
> you've decided to reuse.
>
> ... and put that in balance with:
> e) not reusing that useful function;
> f) but spend the effort you'd had spent to (b), (c) and (d) on writing
> the exact function you need.
>
> Often people only look at (a) and then struggle with (b), (c), (d). I
> think this is a problem in particular on the Java platform, where the
> development community is very quick to reuse giant piles of code just
> because they're available, without measuring all the implications (as
> opposed to C or C++ where developers tend to think more before making
> a move, or Python for example where libraries are typically smaller or
> much easier to re-implement).
>

Thanks for the explanation!

>
> I looked at the code you've started to commit in the collaboration
> area. Looks like a good start to (f) -- spend quality time to
> implement the algorithm you need :).


I started on layout algorithm and send a progress diagram to the dev list,
hope you saw it!


> I have a few review comments:
>
> - it's good that you have Apache license headers in some files, would
> be even better to have them in all the files;
>

Just now committed! :)

>
> - a few more comments in the code will help others in the community
> review and understand your code, and perhaps even come and help you;
>

Added few, but will add more in coming days!

>
> - a Maven build and automated JUnit test cases will help you and
> others exercise your code and verify that it works.
>

I will try to provide them as soon as possible!

Thanks.

>
> --
> Jean-Sebastien
>



-- 
Best Regards,
Nirmal

C.S.Nirmal J. Fernando
Department of Computer Science & Engineering,
Faculty of Engineering,
University of Moratuwa,
Sri Lanka.

Blog: http://nirmalfdo.blogspot.com/

Reply via email to