SPUG: Is Perl for .NET on anyone's radar?

David S. Patterson david.s.patterson at usa.net
Wed Aug 23 17:19:43 PDT 2006


Interesting, and I do like your idea #2.

I work with (among other things) a 15-year old, unix-based turn-key business
system, and perl is the best duct tape for this thing that I know of. 

I'm just finishing up a 4 - 5 thousand-line perl program to do health
monitoring on it.  I really love how hashes and lists can be combined into
ad-hoc composite objects.  Essentially its object-oriented programming without
all the formalization...  Ya gotta love it!

But a lot of the joy of C# development is in using the extremely powerful IDE.
 What I want is the syntax of perl, especially for certain classes of problems
(hey, C# already adopted perl's pattern matching syntax, at least they threw
us that bone!) 

Maybe the simplest answer is to add perl programming constructs to C#.  You
can add operators and methods, but you can't change the syntax of the language
itself.  But you could probably simulate a lot of perl's behavior without
having to take out a second mortgage and go on a sabbatical to get it done. 
Hmmmm.  Maybe I'll take a stab at it!

-Pat


> Yes, there a number of languages you can use that
> will run in a JVM.   Jython, J/Ruby, Rhino (JavaScript),
> and JScheme are just the ones I know a bit about.
> I'm not sure that Sun did anything to encourage this
> besides publishing the spec for the JVM.  But that's
> getting off topic for this list.
> 
> I can think of 3 ways to approach this problem:
> 
> 1) Write a Perl interpreter in C#
> 2) Write a translator from Perl to C#
> 3) Write a translator (compiler) from Perl to CLR byte codes
> 
> 2 might be interesting since you could write it in Perl.
> Jython and JScheme use approach 1.  JScheme also
> does 3.  And, of course, if you do 2 you get a way to
> do 3 also, though it'll have the performance and
> debugging drawbacks that the old C-front version of C++
> had back in the day.
> 
> JD
> 





More information about the spug-list mailing list