[Asterisk-Users] Re: IAX2 Java library

2003-11-04 Thread Alastair Maw
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.

As for this:

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.

--
Alastair
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


[Asterisk-Users] Re: IAX2 Java library

2003-11-04 Thread Alastair Maw
On 03/11/03 23:31, Jeremy McNamara wrote:

  - The documentation for AGI is very poor. I know it is for IAX, too,
but I can see a Java IAX library being useful for client development
too, and I'd like to give a little back to the * community, you
know?
  
You have the source code. What more do you need?
Seeing as you're asking, an RFC would be nice.
But then, this has already been discussed.
Maybe you had your blinkers on so tight you didn't notice. :)
For those who are interested in such things, if I were to write an RFC 
proposal, would anyone actually take the time to check it and do some 
proof-reading (who is qualified to do this for IAX2? Is it only really 
Mark? Or are there others out there who are experts?). If people are 
interested in this, I'll try to document things as I go along...

Regards,

--
Alastair
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [Asterisk-Users] Re: IAX2 Java library

2003-11-04 Thread Steven Critchfield
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
[EMAIL PROTECTED]

  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 [EMAIL PROTECTED]

___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users