Jan Dubois
Track: Perl
Date: Friday, July 26
Time: 10:45am - 11:30am
Location: Grande Ballroom C
The Microsoft .NET Framework provides a Common Language Runtime, bringing interoperability between programming languages to a new level: not only can objects and functions be used from any language but even object inheritance can cross the language boundaries.
The PerlNET technology is part of the ActiveState Perl Dev Kit product. It adds Perl to the supported languages on .NET. Even though it runs Perl code in the standard Perl interpreter, it provides full language interoperability with all other .NET languages. It is 100% syntax compatible with Perl 5.6 and can use all extension modules including XS, but works also as a programming language for ASP.NET pages and Web services.
Some of the interesting challenges are: How does the method-overloading feature of .NET match to the variable argument list of Perl functions? How can the lifetime of reference counted Perl objects be maintained in the mark-and-sweep world of the .NET runtime? Will exception-handling work across stack frame mixing Perl code and other languages? Is it possible to efficiently pass data between Perl and .NET?
PerlNET works best as a bridging technology: CPAN modules can be turned into .NET components, simply by providing a strongly typed interface specification for them. Existing Perl code can easily be migrated to .NET and interfaced with new code written in C# or Visual Basic.
The second part of this talk will walk through Perl samples for cross-language inheritance, Windows Forms GUI applications, ASP.NET pages and Web services.
Download presentation file