On Wed, Feb 13, 2008 at 11:33:19AM -0600, Tilghman Lesher wrote: > On Wednesday 13 February 2008 09:57:59 Alex Balashov wrote: > > Tilghman Lesher wrote: > > > Uh, why not? You can do LCR quite easily in the dialplan, by using > > > func_odbc for each of the provider lookups, then use SORT() to get the > > > lowest cost. It's quite easy, and you do not need to resort to AGI. > > > > You can do almost anything in the dial plan with enough spiritual > > commitment in about the same way that you can do just about anything you > > need to do with a bash script, as opposed to Perl, Python, or any > > toolkits or frameworks. > > > > It's not syntactically terse, balloons quickly in semantic complexity, > > is objectively less efficient as the dial plan *is not a programming > > language* (despite having variables, control structures and other things > > characteristic of an execution environment of such), and otherwise > > unnecessarily complicated. In implementing and extending the logic > > going forward (beyond naive "lookups") in accordance with evolving > > requirements in the business rules, you will find that you run into the > > limits of the algorithmic complexity that the dial plan can provide, and > > that whatever the approach, it's overly obfuscated. The dial plan > > limits meaningful modularisation and functional decomposition that is > > available with outboard runtime environments. > > Like any other language, you certainly can write in an obfuscated way, and > the dialplan does not discourage it. That said, you certainly can write in a > modularized way. I would guess that you simply aren't familiar with the > dialplan enough to make those decisions, but it is quite possible and doable. > > > So, it's not that you couldn't - it's that you shouldn't. > > In the same way that a PHP programmer should not attempt write Python the > way she writes PHP, I would agree with you. However, if you're willing to > adapt to the ways the dialplan works, you can create dialplans which aren't > obfuscated at all. Tcl and Lisp are close cousins to the dialplan in terms of > how they do things. Not everybody is a Lisp programmer, and some people > absolutely detest it. That doesn't make it any less of a good language.
Having programmed in about 8 different languages over the last 25 years, I can see both points of view. And admittedly, I haven't tried to do non-trivial things with dialplan. That said, my view of this interaction is that Tilghman has drunk the Kool-Aid<tm>, and that Alex's view of the situation is much closer to objective. dialplan appears to have "jes' growed", and that never makes for a good language design. Ask the Python 3 team. :-) Cheers, -- jra -- Jay R. Ashworth Baylink [EMAIL PROTECTED] Designer The Things I Think RFC 2100 Ashworth & Associates http://baylink.pitas.com '87 e24 St Petersburg FL USA http://photo.imageinc.us +1 727 647 1274 Those who cast the vote decide nothing. Those who count the vote decide everything. -- (Joseph Stalin) _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users