John, What you described here is exactly the case, you may have misunderstood my post. I am not a core developer of FreeSwitch, though I have been working in the guts of it for a while now while developing my module. The FreeSwitch core is exactly that, a lean, well structured, modular based core written in C. My work with Mono's implementation of .NET in no way "taints" FreeSwitch's core, it simply utilises the interfaces offered to it like other FreeSwitch modules. I expect that the FreeSwitch.NET module will be used to perform tasks such as custom call routing, or as event listeners. Although the flexibility will exist for something like a codec to be written in FreeSwitch.NET I very much doubt anybody would bother attempting it, or that it would make it into FreeSwitch's trunk. FreeSwitch will support the interfaces you described, eg, control via Web Services, but this is not the only use of .NET or mod_mono. If you choose not to use FreeSwitch.NET or mod_mono in your FreeSwitch installation, you will not be forced to through dependency or otherwise. Hope this clears things up! James On 17/09/2006, at 4:50 PM, john@ecntelecoms.com wrote:
Hi James
I suspect that the approach to design that you are recommending may lead to confusion and could retard interoperability and useability going forward. We should as the freeswitch community should create a set of design standards that address architectural principles, coding standards, languages used, development environment/tools, core functionality, release strategy - the SIPX project on Sipfoundary does this particularly well. Ideally the 'Freeswitch core' should be developed in C or C++ and should be abstracted from the 'Freeswitch application layer' via Web Services compliant modules that use open XML based standards and transport protocols. This approach would preserve the design integrity of the Freeswitch core whilst providing developers with a range of development languages to develop peripheral application level modules. Java, .NET and many other language frameworks provide the APIs and tools that you need to create and deploy interoperable Web Services and clients.
Best Regards
John
Derek,
Everybody has a personal favourite, and for all the factors you weigh up there, I came to the conclusion of C#. However this is going to be different among different people. I'll be writing a little more soon about what mod_mono does for FreeSwitch, but I think that in the end trends will develop as to who uses what.
Luckily for everybody the core tightly controls most of your concerns. The clarity of code and ease of use, FreeSwitch's concept of a session and a channel and a codec and an application and an event and etc etc will be transferable between all languages FreeSwitch implements and I think that in the end you'll find that the only difference between the documentation and the implementations will be the syntax that is used, the core also helps to ensure resilience to errors.
I'm working on mod_mono because I believe it offers one of the best frameworks for FreeSwitch's situation. We have a flexible platform that is well designed and constructed, now I think that the perfect touch is to make it as easy as possible for module developers to develop code that can take full advantage of FreeSwitch.
A lot of people have misconceptions about the .NET framework and what exactly it offers, for anybody who'd like to learn;
http://www.mono-project.com/FAQ:_General http://www.mono-project.com/Languages http://www.mono-project.com/Plans
This site here;
http://www.dotnetpowered.com/languages.aspx
Would have me believe that there will be support for nearly 50 languages in FreeSwitch, including, Ada, APL, AsmL, Basic, BETA, BF, C, C#, C++, Caml, CAT, Cobol, CULE, Eiffel, Forth, Fortran, G#, Haskell, IL/MSIL, Java, JavaScript, Lexico, LISP, LOGO, Lua, Mercury, Mixal, Modula-2, Mondrian, Oberon, Nemerle, Pan, Perl, Pascal, PHP, Processing, Prolog, Python, Ruby, RPG, Scala, Scheme, Smalltalk, SML, Spry, Synergy, Tcl/Tk, Visual Objects & Zonnon.
To sum this post up, I don't think it's going to be too much of a concern whether people choose to use mod_ruby, mod_python, mod_mono, mod_spidermonkey or anything else that may exist, as long as they can all operate well together, which the core will ensure. As a result people will be free to pick and choose the modules that make up their switch.
Thanks,
James
On 16/09/2006, at 8:17 AM, Derek Smithies wrote:
Hi, You note the speed of java as being higher than python, and almost on a par with C++... Implying that C++ is faster than python.
Well,, my colleague has long said that python is faster than C++.
My conclusion.. different languages are faster at different things. Speed comparisons are "interesting", but often misleading.
For a control language, speed is (almost) irrelevant. What really matters to the "person out there", who has just downloaded Freeswitch and is using it to do things like control a phone network, is a) clarity of code, b) ease of use, c) reslience to errors. d) lots of web tutorials on the language, so he/she can get going with the new control language in the minimum of time.
Now, given that set of constraints, what is the ideal language???
====== As a diversion, I would note that I have been to lots of seminars where someone has presented their new software. There is almost always a slide or 2 on why they picked the language they did which contains speed etc and other considerations. However, if you look a bit more, you discover that (almost always) the language was picked cause that was the only language the author felt comfortable in.
Thus, let us think hard about why we want any add on language to Freeswitch before adding it.
Derek.
On Fri, 15 Sep 2006, Nikolay Kolev wrote:
Ivan:
Java is way faster than ruby, python, javascript, etc. It's faster than mono too and almost at par w/ C++! I don't know how you came up with "slow"!
Nikolay -----Original Message----- From: ivancoder [mailto:ivancoder@gmail.com] Sent: Friday, September 15, 2006 2:09 PM To: freeswitch-dev@lists.freeswitch.org Subject: Re: [Freeswitch-dev] mod_ruby
With all this activity on alternative languages - is it possible to integrate with java? I realize it may be slow but some of us don't really need to build high end systems..
-----Original Message----- From: Michael Collins [mailto:mcollins@fcnetwork.com] Sent: Friday, September 15, 2006 4:45 PM To: freeswitch-dev@lists.freeswitch.org Subject: Re: [Freeswitch-dev] mod_ruby
And the peasants rejoice!
-----Original Message----- From: Brian Fertig [mailto:brian@attdv.com] Sent: Friday, September 15, 2006 1:24 PM To: freeswitch-dev@lists.freeswitch.org; freeswitch- users@lists.freeswitch.org Subject: [Freeswitch-dev] mod_ruby
To all who love ruby so..
I got a email back from Matz today who said he will agree to issue a license to us. So mod_ruby is here to stay!
Brian
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/ freeswitch-dev http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- dev http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- dev http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- dev http://www.freeswitch.org
-- Derek Smithies Ph.D. IndraNet Technologies Ltd. Email: derek@indranet.co.nz ph +64 3 365 6485 Web: http://www.indranet-technologies.com/
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/ freeswitch-dev http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- dev http://www.freeswitch.org
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org