[Asterisk-Users] Re: IAX2 Java library

Steven Critchfield critch at basesys.com
Tue Nov 4 08:41:54 MST 2003


On Tue, 2003-11-04 at 05:29, Alastair Maw wrote:
> On 04/11/03 04:59, Steven Critchfield wrote:
> 
> >>But C isn't as maintainable as nice Java apps, and it's as simple as 
> >>that. Basically, I'm after the most powerful interface possible to 
> >>Asterisk, but trying to make it as friendly as possible to code things 
> >>against. As far as our organization is concerned, that pretty much means 
> >>Java objects.
> > 
> > So you bought that line of Marketecture didn't you. I think there are
> > several large open source projects that prove that C is maintainable.
> > Maintainability is really a function of organization. If you can't be
> > organized, you will not produce very maintainable C code. 
> 
> Stop it right there. This mailing list isn't the place for language holy 
> wars. Java is the tool of choice for our organization, and therefore 
> Java code is more maintainable within it. Everyone here talks Java. Not 
> everyone talks C. If we hire less good programmers, Java hold their hand 
> and enforces structure in a way that C doesn't. I'm not arguing that 
> decent C code isn't maintainable. I'm stating that in our particular 
> case, Java fits the bill better. It's that simple.

This isn't a language holy war. So far we have only pointed out how to
get your needs done without needing to go and rebuild everything that is
already working and good within asterisk in a language that was never
meant to be a realtime language. We are steering you a direction where
it should be easiest to accomplish in a reliable manner, and where you
will actually be able to get help. If you go the Java/voip route, there
won't be much if any help available from this group to help you out as
you will be outside of the support here. 

> As for this:

You needed to give proper attribution here. This is not a quote from me,
but the way it is attributed above would make it seem this way.

So to fix your goof, this quote was from

rnc Info Lists
<info-lists at robertc.de>

> > It all comes down to the number of CPU cycles needed to perform a
> > given function. When doing real time processing, a few cycles here
> > and a few there can add up to make a real difference. Object Oriented
> > is nice for ease of writing/maintaining code but all of those objects
> > have blocks of code behind them. A slight inefficiency there can
> > really impact performance. Sure we have faster processors and lower
> > cost memory every 6 months but thats no excuse for not writing the
> > most efficient code possible.
> 
> You're entirely wrong. Provided it's fast enough, it's all about 
> maintainability, extensibility and scalability. The bottom line is that 
> we're in it to make money. If it runs on hardware that's $100 cheaper, 
> but takes four times as long to develop, then total cost is much higher. 
> If it's easy to repurpose it at a later date, or easier to have someone 
> unfamiliar with the codebase to come along and customize it, that's 
> worth a lot. Both are significant, but maintainability is much more 
> important than performance, as that's where the real cost lies.

The last statement is arguable. If you pay a few $k more per year for a
decent programmer or potentially have to fill racks of colospace to put
more hardware in place, you end up cheaper at the programmer. (BTW, I am
NOT saying you aren't a decent programmer because you use Java. I wanted
to head off that potential complaint before it starts.) We all know that
C runs on the smallest of hardware without needing special hardware.
Java only runs on small hardware when it has specialized silicon.

But, that is purely an academic argument above as your company is
already way to committed to the road it is on to be bothered to change.
And even if it did consider the change, you have already laid out enough
information to know you are not going to be able to do this
inexpensively. So instead you will spend a fair amount of time outside
of the communities expertise writing a customized application that only
a very small amount would be even interesting to the group(IAX library).
Ultimately though, I have doubts that there would be much interest in
the Java IAX client as there is such a great number of C programmers
here as witnessed by the couple of new IAX phone software that has shown
up recently. 

-- 
Steven Critchfield <critch at basesys.com>




More information about the asterisk-users mailing list