Berin Loritsch wrote:
I have a feeling that Avalon, and specifically Merlin is focusing too
much on the enterprise.

+1. I'm going to enter rant mode now. Not meaning to offend anyone though.


I know that the enterprise features are
necessary for some folks, but others simply do not need it.  It never
really had simplicity, and to be honest I can't tell what it does and
does not do.  I know of a couple of people who are concerned (and
will remain nameless until they choose not to be).

that would include me. But everyone already knew that:D


To be honest, I am not in a situation where I need enterprise level architecture anymore. I just need something simple.

+1


The current
Fortress does fit my needs, and I am almost scared to try Merlin.  To
be fair, I should declare what I mean by simple.  By simple, I mean
that I have a set of components I need, but I don't need security,
proxying, etc.

+1. While "simple" is hard to define, here's a few pointers as to what is not:


* excessive use of reflection (especially when it doesn't make sense;
  like AbstractMerlinTestCase.setUp())
* sourcefiles that are 1000 lines long
* methods that are 300 lines long
* 5 levels of indirection / increased abstraction along the lines of

  repository--1..n-->kernel--\
     /-----------------------/
     \-1->block-1..n->appliance-1->factory--1..n-->model--\
       /--------------------------------------------------/
       \-1..n->profile--1-->configuration

* instantiation of roughly 10 helper classes for the instantation of a
  single component
* undocumented use of weak references
* undocumented and inconsistent use of synchronization
* lack of unit tests
* mismatch between functional use and classname
* mismatch between functional use and javadoc description
* an execution stack of 15 levels or more for the simplest tasks

several more (while less serious, many apply one way or another) can be found at

http://lsd.student.utwente.nl/jicarilla/TooMuchMagic

I am not really for a cease and desist type of action, but I really
want to know if my needs are truly that distinct from where Avalon is
going.  For a long time we have talked about something that would be
easy to modify or easy to extend.

My "[merlin] problems plugging in type 3 lifestyle" shows how hard it is for a seasoned (wouldn't dare say "absolute authority in the field" :P) to modify or extend merlin.


Many of us can prove that it can be
done--but noone is interested in a complete rebuild or new work.  I
don't blame them.  I feel the need for simplicity is being drowned
out by the need for features.

+1. It certainly feels a lot like drowning.


Another thing that scares me is the rate of mutation for Merlin.

+1. And it is not just that new features are added every week, it is also that api documentation, inline code comments, unit tests (etc) do not keep up with the feature additions. Running a code analysis on the kernel impl/src/java directory finds me 110 non-trivial issues that I wouldn't consider even committing.


And that's in just 3 classes (arguably the core of the core package). I would have run a unit test coverage tool on the same 3 classes, but I can do the calculation by head - its 0%.

What I can understand is people saying unit testing or test-first is silly, that verifying the results obtained from simple set and get operations is a waste of time (I disagree, but I can understand why). What I cannot understand is why the core of a robust enterprise development platform hosted at apache (the number of open source projects with as good a reputation to protect as apache is quite small) deserves the mandate "final release".

You may know what it does this week, but come back to it a couple weeks
later and everything is different.  There are hundreds of commit
messages that go by all the time, and it is difficult for me to try
to keep up with what is really going on.

I seem to recall that a release was held up over badly written shell scripts a week or two ago. Had I been able to keep up, that would not have happend (I believe I wrote the original scripts by copying the basis from phoenix which was copied from ant which are some well-tested scripts).


I can think of countless other examples.

The questions I have are this (for those who have not seen this
earlier):

1) Am I alone in my concerns?

no. Many people are starting to avoid touching avalon with ten feet poles because of it.


I will try to answer 2) and 3) seperately.

--
cheers,

- Leo Simons

-----------------------------------------------------------------------
Weblog              -- http://leosimons.com/
IoC Component Glue  -- http://jicarilla.org/
Articles & Opinions -- http://lsd.student.utwente.nl/jicarilla/Articles
-----------------------------------------------------------------------
"We started off trying to set up a small anarchist community, but
 people wouldn't obey the rules."
                                                        -- Alan Bennett

--
cheers,

- Leo Simons

-----------------------------------------------------------------------
Weblog              -- http://leosimons.com/
IoC Component Glue  -- http://jicarilla.org/
Articles & Opinions -- http://lsd.student.utwente.nl/jicarilla/Articles
-----------------------------------------------------------------------
"We started off trying to set up a small anarchist community, but
 people wouldn't obey the rules."
                                                        -- Alan Bennett



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to